准备阶段:
本次使用的服务器都是centos7
1.服务器A 公网IP:1.1.1.1/24 私网IP:10.0.0.1/24
2.服务器B 公网IP:100.100.0.1/24 私网IP:10.0.0.2/24
3.服务器A和服务器B的私网互通
4.openVPN客户端 拨号地址:10.8.0.6
一、搭建客户端服务端
当服务器B和openVPN客户端之间的数据在公网传输时被拦截,在服务器A上配置openVPN服务(服务器A和客户端之间没有被拦截)。
openVPN客户端尝试连接,得到拨号地址10.8.0.6。如果显示连接失败或者openVPN服务端起不来就是配置文件的问题,哪边报错就是哪边的问题。
二、配置服务器A
1.开启流量转发
grep 'net.ipv4.ip_forward = 1' /etc/sysctl.conf || echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE #将10.8.0.0/24网段上的数据全走eth1网口
2.添加路由表
vim /etc/iproute2/rt_tables
添加一个 200 vpn
3.配置路由表规则
ip route add 10.8.0.0/24 dev tun0 src 10.8.0.1 table vpn #添加一个路由规则到vpn表中,这条规则是vpn这个表中数据包默认使用源 IP 10.8.0.1 通过tun0 走网关10.8.0.0/24
ip route add 10.0.0.0/24