我想设置一个 2 节点网络。两个节点都连接到一个接线盒并从那里访问互联网。通过它们的第二个 NIC,这两个节点也直接相互连接。以下是我们希望它们拥有的本地 IP:
- 节点 1:10.0.0.11
- 节点 2:10.0.0.31
对于互联网来说,它们都有有效的直接 IP:
- 节点 1:128.174.240.91
- 节点2:128.174.240.92
互联网的默认网关是 128.174.240.1
我为此绞尽脑汁了好久,却一无所获。我是网络方面的新手。我知道一些理论,但无法真正设置 Ubuntu 机器,因为 Ubuntu 机器需要先用网络管理器管理东西,然后再用文件,然后再用另一个工具,它们之间会发生冲突,等等。
目前:节点 1 的路由 -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 128.174.240.1 0.0.0.0 UG 0 0 0 enp0s25
0.0.0.0 0.0.0.0 0.0.0.0 U 202 0 0 enp7s4
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp7s4
128.174.240.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s25
节点 2 的 route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 128.174.240.1 0.0.0.0 UG 100 0 0 enp0s25
128.174.240.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s25
对于两个节点来说,enp0s25
是互联网接口,enp7s4
是本地连接的接口。
到目前为止,节点 1 可以访问互联网,但无法 ping 通节点 2(ping 返回Destination Host Unreachable
)。节点 2 既无法连接到互联网,也无法连接到节点 1(ping 返回unknown host
)。这两个节点完全相同;这是完全对称的。我们尝试使两个路由表相同,但没有成功。
我请了一位技术熟练的人,他也搞不清楚这个问题。请尽力帮助我。我真的束手无策了。
我已准备好提供您想要的任何输出。
答案1
注意:以下内容基于我对您的网络做出的一些假设:1)我假设您的互联网网络的网络掩码是 /24 CIDR(例如网络掩码为 255.255.255.0),2)我假设您的网关不会自动提供 DNS 服务,因此我们将使用 Google DNS。
检查 /etc/network/interfaces 文件。对于节点 1,它应该看起来像这样:
auto enp0s25
iface enp0s25 inet static
address 128.174.240.91
netmask 255.255.255.0
gateway 128.174.240.1
dns-nameservers 8.8.8.8 8.8.4.4
auto enp7s4
iface enp7s4 inet static
address 10.0.0.11
netmask 255.255.255.0
对于节点 2:
auto enp0s25
iface enp0s25 inet static
address 128.174.240.92
netmask 255.255.255.0
gateway 128.174.240.1
dns-nameservers 8.8.8.8 8.8.4.4
auto enp7s4
iface enp7s4 inet static
address 10.0.0.31
netmask 255.255.255.0
然后通过发出以下命令重新启动网络:
sudo /etc/init.d/networking restart
另一个注意事项:如果启用了网络管理器,它可能会干扰并更改某些设置。如果您开始注意到您的网络行为发生变化,则可能是由于网络管理器造成的。我个人倾向于卸载网络管理器,但您应该确保知道如何配置自己的网络相关设置。