我正在将旧的 Ubuntu OpenVZ 实例 (Jaunty) 迁移到新的 CentOS 6.3 主机(使用 vzdump/vzrestore)。
现在网络无法正常工作。事实:
- 如果设置一个新的 OpenVZ 实例,它就可以正常工作。
- 我可以很好地连接到旧实例,但它无法连接到外部。
- 它无法 ping 主机,也无法执行其他任何操作。
- 我已经清除了主机上和 VE 内部的所有 iptables 规则。
平:
root@dolores:/# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
11 packets transmitted, 0 received, 100% packet loss, time 9999ms
同时在VE内:
17:49:12.730360 IP dolores > 8.8.8.8: ICMP echo request, id 59701, seq 1, length 64
17:49:12.735095 IP 8.8.8.8 > dolores: ICMP echo reply, id 59701, seq 1, length 64
17:49:13.730305 IP dolores > 8.8.8.8: ICMP echo request, id 59701, seq 2, length 64
17:49:13.735524 IP 8.8.8.8 > dolores: ICMP echo reply, id 59701, seq 2, length 64
17:49:14.730411 IP dolores > 8.8.8.8: ICMP echo request, id 59701, seq 3, length 64
此输出偶尔会出现一些延迟,我相信是因为 tcpdump 尝试对涉及的 ips 进行反向 DNS 处理:
17:47:20.977819 IP dolores.40623 > 213.133.98.97.domain: 60247+ PTR? 8.8.8.8.in-addr.arpa. (38)
我可以在主机上运行 tcpdump 并立即获得相同的输出。
当然,/sys/devices/virtual/net/venet0/statistics/rx_bytes
正在更新,并且没有任何/sys/devices/virtual/net/venet0/statistics/rx_
错误文件让人窥视。
这是怎么回事?我现在该看哪里?我认为这个问题一定与 Ubuntu VE 本身有关,因为它适用于新创建的版本。
更多输出以防有帮助:
root@dolores:/# ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:39652 errors:0 dropped:0 overruns:0 frame:0
TX packets:39398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3344760 (3.3 MB) TX bytes:3303115 (3.3 MB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:78.46.236.xxx P-t-P:78.46.236.xxx Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
。
root@dolores:/# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default * 0.0.0.0 U 0 0 0 venet0
在主机上:
[root@olive ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
static.xxx.236. * 255.255.255.255 UH 0 0 0 venet0
78.46.236.xxx * 255.255.255.224 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default gw-wan2.little- 0.0.0.0 UG 0 0 0 eth0
答案1
有相同的症状,但不是虚拟机。我已经修好了。我的 SNAT 设置有问题并且ip rule
不匹配。
运行ip route
,应该有一行...
default dev venet0 scope link
运行ip rule
,应该有3行...
0: from all lookup local
32766: from all lookup main
32767: from all lookup default