ping으로 패킷이 수신되지 않지만 tcpdump는 패킷이 들어오는 것을 볼 수 있습니다.

ping으로 패킷이 수신되지 않지만 tcpdump는 패킷이 들어오는 것을 볼 수 있습니다.

이전 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 

관련 정보