两台服务器之间通过 tun0 设备进行 OpenVPN 多跳

两台服务器之间通过 tun0 设备进行 OpenVPN 多跳

我所拥有的是

A在我的地区和B另一个地区(两个服务器都是 CentOS 7)。

这个问题的原因是

我可以从 连接到 ,ABB连接到A,但最终目标是通过 连接互联网B,因为它有无限的互联网(无限的意思是没有 403 错误)。

我正在考虑这个

  • 创建从B到的连接A,然后我连接到OpenVPNAA发送数据包并授予我通过 tun0设备到的无限制互联网连接B

我想要实现的目标

  1. 创建一个带有子网的tun0设备(到目前为止已完成A10.8.0.1/24关联),并在子网中创建另一个tun0设备(是否与 位于同一子网中无关紧要。B10.9.0.1/24A

  2. 然后通过 连接这两个tun设备ssh(我认为它们应该能够使用命令行 ping 彼此的私有 IP ping -c1 -I tun0 10.8.0.2)(在这种情况下,B应该连接到A)。

  3. iptables masquerade在两台服务器中添加一条规则,以便它们可以屏蔽。

  4. 最后,

我认为应该做的

  1. B创建从到AAB通过设备的持久连接tun0(我在 Google 上搜索过,但没有找到好的结果)。

  2. 在两台服务器中运行这两个命令(两个主界面都是eth0(我想我这里遗漏了一些东西):

iptables -A FORWARD -i tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. 如果需要进行我不知道的其他配置,我相信它们就在这里。

  2. 然后我应该OpenVPN像这样更改最终的客户端配置文件(从尝试连接到另一个服务器):

client
dev tun
proto tcp
remote A Port
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
...

我目前所做的

  1. 通过给定的安装 OpenVPN关联A

  2. 添加了新tun0设备B

ip addr add 10.9.0.1/24 dev tun0
  1. masquerade在两台服务器上运行:
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. 在两台服务器中启用ipv4.forwarding并禁用防火墙以确保不会导致任何问题。

你能帮助我如何实现这种情况并为自己获得多跳 OpenVPN 吗?

相关内容