openvpn多客户端(windows)相互通信部署

服务端: centos
客户端: windows

一、服务端配置

  • 安装证书软件

  1. 下载 easy-rsa
yum -y install easy-rsa
mkdir /opt/easy-rsa
rpm -ql easy-rsa
cd /opt/easy-rsa
cp -a /usr/share/easy-rsa/3.0.8/* .
cp -a /usr/share/doc/easy-rsa-3.0.8/vars.example ./vars
  1. 编辑vars文件
if [ -z "$EASYRSA_CALLER" ]; then
        echo "You appear to be sourcing an Easy-RSA
'vars' file." >&2
        echo "This is no longer necessary and is
disallowed. See the section called" >&2
        echo "'How to use this file' near the top
comments for more details." >&2
       return 1
fi
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "[省份]"
set_var EASYRSA_REQ_CITY "[城市]"
set_var EASYRSA_REQ_ORG "[源,随便命名]"
set_var EASYRSA_REQ_EMAIL "[邮箱地址]"
set_var EASYRSA_NS_SUPPORT "yes"
  1. 安装证书
./easyrsa init-pki #初始化,在当前目录创建PKI目录,用于存储整数
./easyrsa build-ca #创建根证书,会提示设置密码,用于ca对之后生成的server和client证书签名时使用,其他提示内容直接回车即可
./easyrsa gen-req server nopass #创建server端证书和私钥文件,nopass表示不加密私钥文件,提示内容直接回车即可
./easyrsa sign server server #给server端证书签名,提示内容需要输入yes和创建ca根证书时候的密码
./easyrsa gen-dh #创建Diffie-Hellman文件,密钥交换时的Diffie-Hellman算法
./easyrsa gen-req client nopass #创建client端的证书和私钥文件,nopass表示不加密私钥文件,提示内容直接回车即可
./easyrsa sign client client #给client端证书前面,提示内容输入yes和创建ca根证书时候的密码

安装完毕,注意检查是否有ca根证书、客户端和服务端证书、客户端服务端私钥(ca根证书,客户端证书,以及客户端私钥是要在部署客户端的时候使用的)

  1. 下载证书到本地

本地ssh下载文件

scp [用户名]@[服务器地址]:/opt/easy-rsa/pki/ca.crt .
scp [用户名]@[服务器地址]:/opt/easy-rsa/pki/private/client.key .
scp [用户名]@[服务器地址]:/opt/easy-rsa/pki/issued/client.crt .
  • 安装openvpn

  1. 下载openvpn
yum -y install openvpn #或者选择rpm包安装
touch /etc/openvpn/server.conf
  1. 编辑server.conf
port 1194                                    #端口,确保端口可以访问
proto udp                                    #协议
dev tun                                      #采用路由隧道模式
ca /opt/easy-rsa/pki/ca.crt                  #ca证书的位置
cert /opt/easy-rsa/pki/issued/server.crt     #服务端公钥的位置
key /opt/easy-rsa/pki/private/server.key     #服务端私钥的位置
dh /opt/easy-rsa/pki/dh.pem                  #证书校验算法
server [子网网络段] [子网掩码]                 #给客户端分配的地址池,注意不要和服务端网络段以及客户端本地网段端重复
push "route [服务端内网网络段] [掩码]"         #允许客户端访问的内网网段
#push "redirect-gateway def1 bypass-dhcp"    #自动推送客户端上的网关及DHCP,此项开启了流量转发,有这项才能使用服务器代理上网
#push "dhcp-option DNS [子网网关]"            #OpenVPN的DHCP功能为客户端提供指定的 DNS、WINS等
ifconfig-pool-persist ipp.txt                #地址池记录文件位置,未来让openvpn客户端固定ip地址使用的
keepalive 10 120                             #存活时间,10秒ping一次,120秒如果未收到响应则视为短线
max-clients 100                              #最多允许100个客户端连接
status /var/log/openvpn-status.log           #日志位置,记录openvpn状态
log /var/log/openvpn.log                     #openvpn日志记录位置
verb 3                                       #openvpn版本
client-to-client                             #允许客户端与客户端之间通信
persist-key                                  #通过keepalive检测超时后,重新启动VPN,不重新读取
persist-tun                                  #检测超时后,重新启动VPN,一直保持tun是linkup的,否则网络会先linkdown然后再linkup
duplicate-cn                                 #客户端密钥(证书和私钥)是否可以重复
comp-lzo                                     #启动lzo数据压缩格式

此时开启了证书私钥复用,那么ipp.txt就会为空

  • 启用服务

systemctl start openvpn@server
#或者
openvpn /etc/openvpn/server.conf &

二、客户端配置

  • 安装openvpn gui

下载链接:https://community.openvpn.net/openvpn/wiki/Downloads

  1. 创建client.ovpn
client
dev tun
proto udp
remote [服务器地址] 1194
resolv-retry infinite
nobind
ca ca.crt
cert client.crt
key client.key
verb 3
persist-key
persist-tun
comp-lzo
  1. 导入文件

ca.crt client.key client.crt 以及刚刚创建的client.ovpn放入config目录下的client文件夹下
如果openvpn直接安装C盘,那么config目录在openvpn.exe的同级目录下;如果不是安装在C盘,那么configC:\Users\[用户]\OpenVPN

  1. 配置服务内网连接

打开cmd,执行

route -p add [服务端内网网关] mask [服务端内网子网掩码] [服务端内网地址]

添加完毕之后,本地就能ping通服务端内网地址

  1. 启动服务

运行openvpn,右键点击连接

三、其他

  1. 客户端通信

windows客户端之间的访问,需要开启ICMP通信
打开cmd,执行

netsh advfirewall firewall add rule name="Allow ICMPv4-In" protocol=icmpv4:8,any dir=in action=allow

此时根据openvpn网络段,服务端能ping通客户端,且客户端之间也能相互通信

cd /opt/easy-rsa
 ./easyrsa build-client-full test nopass #新增客户端私钥
  1. 配置固定ip

创建配置文件

##  /etc/openvpn/server.conf
## 注释 duplicate-cn
## 增加 client-config-dir ccd

## 配置固定 ip 文件
cd /etc/openvpn/ccd
touch test

编辑文件

ifconfig-push [客户端ip] [虚拟客户端]  
## 由于windows的子网掩码会自动识别为 255.255.255.252 只能取如下地址对
[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254]

重启openvpn(注意,重启必须要在ccd同级目录下执行)

参考链接:https://blog.csdn.net/qq_37510195/article/details/130777785
https://blog.csdn.net/weixin_72910567/article/details/132417678

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容