我在 ESXi 中安装新的 Ubuntu 服务器虚拟机时遇到了一个奇怪的问题。启用 DHCP 后,/etc/network/interfaces
所有网络连接都正常工作。但是,当我使用具有以下参数的静态路由时,启动时路由表是错误的:
auto lo
iface lo inet loopback
auto ens192
iface ens192 inet static
address 192.168.70.21/24
gateway 192.168.168.70.1
dns-nameservers 192.168.70.1
在上述情况下,该机器仍可访问 192.168.70.0/24 网络上的所有机器,但无法访问任何其他本地网络(有很多)。 访问ping
任何其他本地网络都会立即返回connect: Network is unreachable
。
当我运行时,route -n
我收到以下错误:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.70.1 0.0.0.0 255.255.255.0 U 0 0 0 ens192
应该是这样的:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.70.1 0.0.0.0 UG 0 0 0 ens192
192.168.70.1 0.0.0.0 255.255.255.0 U 0 0 0 ens192
甚至我的也/etc/resolve.conf
没有获取名称服务器(它没有)。因此,为了暂时解决这个问题,我添加了一条路线:
ip route add default via 192.168.70.1
现在,该机器可以访问 pfSense 中允许的所有其他本地网络(192.168.15.0/24、192.168.38.0/24 等),并且它们可以访问它。但即使有了这个解决方法,我也必须添加谷歌名称服务器访问网络。
我在同一个网络上的 ESXi 中还有另一个 Ubuntu Server VM,它仅使用/etc/network/interfaces
上述参数(具有不同的静态 IP)就可以正常工作。所以我不确定这个新安装的 Ubuntu16.04 LTS 服务器发生了什么。
我知道我可以添加永久路线但在这种情况下这似乎是一种黑客行为,因为其他具有静态路由的 Ubuntu VM 不需要这样做。我该如何正确纠正这个问题?