이전 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가 관련 IP에서 역방향 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
Run ip rule
, 3줄이 있어야 합니다...
0: from all lookup local
32766: from all lookup main
32767: from all lookup default