我有一个由终端组成的小型网络。每个终端都有一个 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 机器上执行以下操作:
- 打开 IP 转发。取消注释(或添加)
net.ipv4.ip_forward=1
中的行/etc/sysctl.conf
,然后执行sudo sysctl -p
- 确保您的防火墙允许转发。
sudo iptables -L -n
应该显示您允许 5.xxx 流量通过到 172.16.xx,无论是具体允许还是一般允许。
172.16.2.50 处的终端还需要知道如何路由回 Hamachi 客户端。如果 Ubuntu PPPoE 盒也是该 LAN 的网关,则应该没有问题。如果不是,则终端需要将路由配置回 PC1,并以 Ubuntu 盒作为网关。