我有几台服务器想要放在 VPN 上。我已经使用 OpenVPN 设置了 VPN,并且运行正常,每台机器都可以访问 VPN 上的其他服务器。
我的问题是,我想以某种方式进行设置,以便我在 VPN 内部有两个服务器,如下所示:
+----------------------------------+
| public ip: 55.66.33.13, eth0 |
| vpn ip: 10.8.0.8, tun0 |
+----------------------------------+
Server 1
+----------------------------------+
| public ip: 55.44.22.11, eth0 |
| vpn ip: 10.8.0.10, tun0 |
+----------------------------------+
Server 2
我想用 iptables 设置一条规则,这样如果服务器 1 尝试访问 54.44.22.11,该流量将通过 tun0 发送到服务器 2。到目前为止,我已经尝试过:
iptables -I FORWARD -i eth0 -o tun0 -d 55.44.22.11 -m conntrack --ctstate NEW -j ACCEPT
我尝试过各种方法,iptables -t nat.....
但都没有效果。
这个有什么通用名称吗?甚至用谷歌搜索都有点麻烦。
答案1
您需要在服务器/VPN 客户端上设置路由表,以便这些 IP 地址通过 VPN 隧道进行路由。
如果您正在运行一个所有客户端都连接到的 VPN 服务器,您可以通过在 OpenVPN 服务器配置文件中添加以下行来告诉 OpenVPN 设置连接客户端的路由表:
push "route 55.66.33.13 255.255.255.255"
push "route 55.44.22.11 255.255.255.255"
防火墙规则在基本路由表的基础上运行,可用于执行比简单路由表更细粒度的策略。但是,如何转发流量的决定始终首先由路由表条目决定。
您还需要client-to-client
向 OpenVPN 服务器配置添加指令,这使得客户端可以通过 VPN 相互通信。