openvpn之二P2P模式扩展(基预共享密钥的site to site模式)

安装openvpn{(C/S)环境centos7}

#两地的openvpn都要进行如下安装
    yum install epel* -y
    yum install openvpn easy-rsa -y

案例一:openvpn基于网关型的site to site模式实现方案

配置南昌办公室openvpn环境

#第一:开启系统转发
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p

#第二:生成预共享密钥文件
    openvpn --genkey --secret /etc/openvpn/secret.key

#第三:创建并openvpn配置文件
    cat /etc/openvpn/server.conf

#指定设备类型为tun(三层),还有一种是tap(二层桥)
dev tun
#这里可以是两边udp,当然也可以是一边tcp-server及一边tcp-client
proto udp
local 223.84.153.80
lport 1194
#openvpn的对端互联地址
remote 117.169.17.33
rport 1194
#配置本端和远端的隧道地址
ifconfig 192.168.0.1 192.168.0.2
#当up/down时,不要关闭和重新打开tun/tap设备
persist-tun
#不重新读key
persist-key
#启用压缩
comp-lzo
#如果在15秒内没有数据包发送,就在控制通道检测远程主机是否存活
ping 15
#添加路由,让到某个段的路由能进入隧道
route 172.18.0.0 255.255.255.0
secret /etc/openvpn/secret.key
#当openvpn使用root账户完成初始化后,转入以nobody用户及组运行openvpn
user nobody
group nobody
#daemon方式运行,并记录日志等级为3,并输出到文件
daemon
verb 3
log-append openvpn.log

#第四:启动openvpn,并验证是否创建tun网卡设备
    openvpn --config /etc/openvpn/server.conf
#第五:验证ping对端
    ping 192.168.0.2

配置天津办公室openvpn环境

#第一:开启系统转发
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p

#第二:拷贝南昌办公室生成的预共享密钥文件
    scp root@223.84.153.80:/etc/openvpn/secret.key /etc/openvpn/

#第三:创建并openvpn配置文件
    cat /etc/openvpn/server.conf

dev tun
proto udp
local 117.169.17.33
lport 1194
remote 223.84.153.80
rport 1194
ifconfig 192.168.0.2 192.168.0.1
persist-tun
persist-key
comp-lzo
ping 15
route 172.16.0.0 255.255.255.0
secret /etc/openvpn/secret.key
user nobody
group nobody
daemon
verb 3
log-append openvpn.log

#第四:启动openvpn,并验证是否创建tun网卡设备
    openvpn --config /etc/openvpn/server.conf
#第五:第一步验证:ping对端隧道地址
    ping 192.168.0.1
#第六:第二步验证:到天津PC上ping南昌PC
    ping 172.16.0.10

案例二:openvpn基于非网关型的site to site模式实现方案

openvpn处于非网关,且处于内网的情况下,实施site to site 的关键在于以下三点

  1:在网关设备上采用SNAT,使内部网络可上互联网(跟普通家用wfi一个原理)
  2:在网关设备上采用DNAT,将其wan address 的指定端口映射到内部openvpn-server的指定端口,(默认udp1194)
  3:引流,在网关设备上将去往对端内网的流量,重定向到openvpn-server

配置南昌办公室的路由及openvpn环境

#第一:开启系统转发
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p

  #第二:网关配置SNAT,实现内部网络可上公网(enp0s3公网,enp0s8内网)
  iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o enp0s3 -j SNAT --to-source 223.84.153.80

  #第三:网关配置DNAT,将出口地址的udp 1194端口 映射到内部openvpn-server的192.168.100.20的1194上(enp0s3公网,enp0s8内网)
  iptables -t nat -A PREROUTING -i enp0s3 -d 223.84.153.80/32 -p udp --dport 1194 -j DNAT --to 192.168.100.20:1194

  #第四:重定向路由(将去往对端内网的流量转发给192.168.100.20,即openvpn-server)
    ip ro add 192.168.200.0/24 via 192.168.100.20

  #第五:生成预共享密钥文件
    openvpn --genkey --secret /etc/openvpn/secret.key

  #第六:创建并openvpn配置文件
    cat /etc/openvpn/server.conf

#指定设备类型为tun(三层),还有一种是tap(二层桥)
dev tun
proto udp
#local 192.168.100.20
lport 1194
remote 117.169.17.33
rport 1194
#配置本端和远端的隧道地址
ifconfig 172.16.0.1 172.16.0.2
persist-tun
persist-key
comp-lzo
ping 15
route 192.168.200.0 255.255.255.0
secret /etc/openvpn/secret.key
user nobody
group nobody
daemon
verb 3
log-append openvpn.log

  #第七:启动openvpn,并验证是否创建tun网卡设备
    openvpn --config /etc/openvpn/server.conf
  #第八:验证ping对端
    ping 172.16.0.2

配置天津办公室的路由及openvpn环境

#第一:开启系统转发
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p

  #第二:网关配置SNAT,实现内部网络可上公网(enp0s3公网,enp0s8内网)
  iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o enp0s3 -j SNAT --to-source 117.169.17.33

  #第三:网关配置DNAT,将出口地址的udp 1194端口 映射到内部openvpn-server的192.168.200.20的1194上(enp0s3公网,enp0s8内网)
  iptables -t nat -A PREROUTING -i enp0s3 -d 117.169.17.33/32 -p udp --dport 1194 -j DNAT --to 192.168.200.20:1194

  #第四:重定向路由(将去往对端内网的流量转发给192.168.200.20,即openvpn-server)
    ip ro add 192.168.100.0/24 via 192.168.200.20

  #第五:在openvpn-server上拷贝南昌办公室生成的预共享密钥文件
    scp root@223.84.153.80:/etc/openvpn/secret.key /etc/openvpn/

  #第六:创建并openvpn配置文件
    cat /etc/openvpn/server.conf

#指定设备类型为tun(三层),还有一种是tap(二层桥)
dev tun
proto udp
#local 192.168.200.20
lport 1194
remote 223.84.153.80
rport 1194
#配置本端和远端的隧道地址
ifconfig 172.16.0.2 172.16.0.1
persist-tun
persist-key
comp-lzo
ping 15
route 192.168.100.0 255.255.255.0
secret /etc/openvpn/secret.key
user nobody
group nobody
daemon
verb 3
log-append openvpn.log

  #第七:启动openvpn,并验证是否创建tun网卡设备
    openvpn --config /etc/openvpn/server.conf
  #第八:验证ping对端
    ping 172.16.0.1
  #第九:到天津PC上ping南昌PC
    ping 192.168.100.10
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/11/24作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???