两个子网之间的路由,使用 Hamachi 作为链接

两个子网之间的路由,使用 Hamachi 作为链接

我有一个由终端组成的小型网络。每个终端都有一个 PPPoE 链接,连接到 Ubuntu PPPoE 服务器。这个网络运行良好,每个终端都可以通过 PPPoE 服务器 ping 通其他终端和互联网。

我有另一个网络,我希望能够从该网络 ping 终端。该网络不在同一栋楼里,我需要一条隧道进入该网络。我想为此使用 Hamachi,因为我相当熟悉它的设置等,并且 Ubuntu PPPoE 服务器已安装并设置了 Hamachi 客户端。

我只需要 Hamachi 网络中的任何 PC 都能够 ping 通 PPPoE 客户端终端,但通过 Hamachi 链接添加到 PPPoE 子网的路由不会产生任何结果 :(

    PC1 o====o Hamachi o====o PPPoE Server  --------> terminal
5.121.250.1                    5.121.250.2
                               172.16.2.1/24           172.16.2.50

PC1路线:

route add 172.16.2.0 mask 255.255.255.0 5.121.250.2

调试

在 PPPoE 服务器上,如果 ping 命令指向 Hamachi IP 地址,则 TCPDUMP 会显示来自 PC1 的 ping 命令,但是如果指向其他地址,则不会显示。

答案1

所以我最终让它工作了——我必须在“网关”模式下设置 Hamachi 网络,使 Ubuntu 盒成为网关。

完成此操作后,我将远程 HAamchi 客户端作为客户端添加到同一个 Hamachi 网络中,Hamachi 完成其余工作,在远程客户端计算机上配置路由。非常聪明。

我认为@Bart de Vos 的想法最好 - OpenVPN 可以提供更易于控制的设置,但 Hamachi 的客户端通常更好一些,而且我可以轻松在将来添加更多客户端。

富有的

答案2

不确定 Hamachi 对这种事情有何反应,但通常情况下,您需要在 Ubuntu 机器上执行以下操作:

  1. 打开 IP 转发。取消注释(或添加)net.ipv4.ip_forward=1中的行/etc/sysctl.conf,然后执行sudo sysctl -p
  2. 确保您的防火墙允许转发。 sudo iptables -L -n应该显示您允许 5.xxx 流量通过到 172.16.xx,无论是具体允许还是一般允许。

172.16.2.50 处的终端还需要知道如何路由回 Hamachi 客户端。如果 Ubuntu PPPoE 盒也是该 LAN 的网关,则应该没有问题。如果不是,则终端需要将路由配置回 PC1,并以 Ubuntu 盒作为网关。

相关内容