目的
通过openvpn p2p模式,连通两个局域网,使其中的机器可以相互通信。
两个局域网中各有一台机器持有静态ip,openvpn将部署在这两台机器上。
环境准备
网络区域 | 静态ip(wan) | 内部ip(lan) | 部署节点 |
---|---|---|---|
局域网1 | 101.37.30.129 | 192.168.100.0 | openvpn server |
局域网2 | 43.139.100.167 | 172.17.0.0 | openvpn client |
系统设置
server端与client端均需执行
-
开启路由转发
vim sysctl.conf # 写入net.ipv4.ip_forward = 1 sysctl -p
-
开启防火墙tun转发
iptables -A FORWARD -i tun+ -j ACCEPT
-
安装openvpn
apt install openvpn # or "yum install openvpn" in some systems
openvpn配置
在服务端与客户端分别新建openvpn.conf,写入以下内容
服务端配置
auth none
dev tun
proto tcp-server
lport 1194
remote 43.139.100.167
rport 1194
ifconfig 10.200.0.2 10.200.0.1
route 172.17.0.0 255.255.255.0
user nobody
group nogroup # use "group nogroup" on some distros
persist-tun
persist-key
keepalive 10 60
ping-timer-rem
verb 3
daemon
log-append /tmp/openvpn.log
客户端配置
auth none
dev tun
proto tcp-client
lport 1194
remote 101.37.30.129
rport 1194
ifconfig 10.200.0.1 10.200.0.2
route 192.168.100.0 255.255.255.0
user nobody
group nogroup # use "group nogroup" on some distros
persist-tun
persist-key
keepalive 10 60
ping-timer-rem
verb 3
daemon
log-append /tmp/openvpn.log
启动openvpn并验证
使用以下命令分别启动openvpn服务端和客户端
openvpn --config ./openvpn.conf
服务端
ping 10.200.0.1
ping 172.17.0.2
客户端
ping 10.200.0.1
ping 172.17.0.2
参考文献
- openvpn官方文档
- 《OpenVPN Cookbook - 2nd Edition》by Jan Just KeijserPublisher: Packt Publishing (Feburary 2017)
网友评论