将流量转发到 VPN

将流量转发到 VPN

我有几台服务器想要放在 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 相互通信。

相关内容