我认为自己对 Ubuntu 和 Linux 相当热衷,但这个却让我困惑。我使用 Ubuntu 12.04 作为基础操作系统构建了一个 Xen Server。它上面运行着多个 domU。我的家庭网络有一个静态定义的网络,我在那里让所有网络连接都很顺利。今天早上,服务器被搬到了一个永久的家中。因此,主系统上的网络配置必须更改。同样,另一个静态网络,但现在我无法从主机 ping 上游网关。由于虚拟机通过桥接器使用此 NIC,因此它们也坏了。Ping 响应“目标主机不可达”。我将网络简化为一个简单的静态网络(如下所示)(没有桥接器或任何东西),只是为了让它工作。
这是我的 /etc/network/interfaces 文件的内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 216.7.188.228
gateway 216.7.188.225
netmask 255.255.255.240
broadcast 216.7.188.255
network 216.7.188.0
dns-nameservers 8.8.8.8 8.8.4.4
以下是 route -n 的内容
0.0.0.0 216.7.188.225 0.0.0.0 UG 100 0 0 eth0
216.7.188.224 0.0.0.0 255.255.255.240 U 0 0 0 eth0
ping 网关的结果如下:
PING 216.7.188.225 (216.7.188.225) 56(84) bytes of data.
From 216.7.188.228 icmp_seq=1 Destination Host Unreachable
From 216.7.188.228 icmp_seq=1 Destination Host Unreachable
From 216.7.188.228 icmp_seq=1 Destination Host Unreachable
同样,这在一个网络中完美地工作(显然是在使用不同的接口文件中的参数)。我确实尝试使用 eth1(因为服务器上有两个 NICS(以防 MAC 地址在启动时翻转)。没有成功。是的,电缆现在在正确的端口上 :)
有什么想法吗?
我很感谢你的帮助!
进一步的调查发现了以下特点。安装 xen 后,Grub 为您提供了两个主要启动选项。一个用于没有 Xen 的 vanilla 内核,另一个用于带有 Xen 的内核。默认使用 Xen 启动配置。如果我使用没有 Xen 的 vanilla 内核选项,则网络正常。如果我使用 Xen 选项,则网络中断。我用“route -n”比较了两个设置的路由表,发现它们是相同的。/etc/network/interfaces 文件没有改变。因此,这一定与桥接器的设置方式有关,或者 Xen 执行其网络初始化。这涉及了一个我不熟悉的领域。有人能告诉我如何继续解决这个问题吗?否则,我不得不放弃 Xen(我不想这样做),转而尝试 VirtualBox。这太令人沮丧了。
答案1
您的broadcast
、network
和netmask
不一致。使用您指定的网络掩码,广播和网络地址与您指定的 IP 地址和网关不在同一子网中。您可能使用了错误的网络掩码,它应该是 255.255.255.0,而不是 .240。