通过虚拟接口在两台服务器之间路由

我有两台服务器,每台服务器运行一个openvpn服务,第一台( uno )的vpn范围10.170.0.0/16连接到UDP 1194,第二台( dos )连接到TCP 443的10.180.0.0/16 。希望在一台服务器上有客户端访问另一台服务器上的客户端。 我已经在两个客户端之间join了client-to-client选项,并且当两个客户端在同一个服务器上时,它都可以工作。 不是当两个客户端在不同的服务器上。

这两台服务器都是linode托pipe的,并有公共IP地址。 此外,linode允许创build绑定到虚拟接口eth0:0本地地址,以连接本地交换机上的两台服务器。 我试图通过添加两个服务器之间创build一个路由

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) 

我没有任何服务器上启用任何防火墙。 看起来我可以在dos ping 10.170.0.1( uno的tun0接口)。 但是,不……不,不可能是这么简单。 任何人都可以解释为什么吗? 以及如何解决它? 如果我不能ping通两台服务器,当然客户端也看不到它们。 有任何想法吗?

你应该可以在你的服务器上启用IP转发。 这通常是通过

 $ sysctl net.ipv4.ip_forward 

要使更改永久,您必须编辑/etc/sysctl.conf并设置net.ipv4.ip_forward = 1