我有两台服务器,每台都运行 openvpn 服务,第一台 ( uno
) 的 vpn 范围10.170.0.0/16
绑定到 UDP 1194,第二台 ( dos
)10.180.0.0/16
绑定到 TCP 443。我希望一台服务器上的客户端可以访问另一台服务器上的客户端。我已经client-to-client
在两台服务器上都加入了这个选项,当两台客户端都在同一台服务器上时,它可以工作。当两台客户端位于不同的服务器上时,则不行。
两台服务器均托管在 linode 中,并具有公共 IP 地址。此外,linode 允许创建与虚拟接口绑定的本地地址,eth0:0
该虚拟接口在本地交换机上连接两台服务器。我尝试通过添加以下内容在两台服务器之间创建路由:
在uno
:
route add -net 10.180.0.0 netmask 255.255.0.0 gateway (the eth0:0 address of dos)
在dos
:
route add -net 10.170.0.0 netmask 255.255.0.0 gateway (the eth0:0 address of uno)
我没有在两台服务器上启用任何防火墙。看起来我可以uno
从 ping 10.170.0.1( 中的 tun0 接口)dos
。但是不行... 哦不... 没那么容易。有人能解释一下原因吗?如何解决?如果我无法 ping 两台服务器,当然客户端也看不到它们。有什么想法吗?
答案1
你可能应该在服务器上启用 IP 转发。通常通过以下方式完成
$ sysctl net.ipv4.ip_forward
要使更改永久生效,您必须编辑/etc/sysctl.conf
并设置net.ipv4.ip_forward = 1