Xen-4.0의 브리지 구성에는 domU에 네트워크가 없습니다.

Xen-4.0의 브리지 구성에는 domU에 네트워크가 없습니다.

저는 브리지 구성을 사용하여 꽤 표준적인 Xen-4.0 domU를 만들었습니다. 그러나 가상 머신에서 브리지(peth0)가 연결된 네트워크로 패킷이 전송되지 않습니다. 게스트에서 하이퍼바이저에 ping을 보낼 수 있지만 그 외부에는 아무것도 없습니다.

IP 주소:

  • x.x.x.121——관리 프로그램 부처님
  • x.x.x.162-- 가상 머신, xen6

뭐가 문제 야? 이것은 꽤 표준적인 네트워크 구성입니다. 다른 하이퍼바이저를 사용하면 완전히 동일한 구성(동일한 OS, 동일한 버전, 동일한 구성)이 작동하지만 다른 상자에서는 작동하지 않습니다.

비슷한 증상이것그러나 내 네트워크 구성은 괜찮아 보입니다. 어떤 아이디어가 있나요?

xen6:~$ ping -c 1 xxx121
PING xxx121 (xxx121) 56(84) 바이트의 데이터.
xxx121의 64바이트: icmp_req=1 ttl=64 시간=0.093ms

---xxx121 핑 통계---
1개의 데이터 패킷 전송, 1개의 데이터 패킷 수신, 패킷 손실 0%, 시간 0ms
rtt 최소/평균/최대/mdev = 0.093/0.093/0.093/0.000밀리초
buddha$ sed -n '/^[^#].*\(\(network\)\|\(vif\)\)/p' xend-config.sxp
(네트워크 스크립트 네트워크 브리지)
(vif 스크립트 vif 브리지)
fo# ifconfig -a
eth0 링크 캡슐: 이더넷 HWaddr 00:30:48:5a:05:fa  
          inet 주소: xxx121 브로드캐스트: xxx255 마스크: 255.255.255.0
          inet6 주소: fe80::230:48ff:fe5a:5fa/64 범위: 링크
          멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1
          RX 패킷: 6082 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 1138 오류: 0 삭제: 0 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 0
          RX 바이트: 573467(560.0KiB) TX 바이트: 230756(225.3KiB)

lo link encap: 로컬 루프백  
          inet 주소: 127.0.0.1 마스크: 255.0.0.0
          inet6 주소:::1/128 범위: 호스트
          상위 루프백 작업 MTU: 16436 측정항목: 1
          RX 패킷: 26 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 26 오류: 0 삭제: 0 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 0
          RX 바이트: 2428(2.3KiB) TX 바이트: 2428(2.3KiB)

peth0 링크 캡슐: 이더넷 HWaddr 00:30:48:5a:05:fa  
          inet6 주소: fe80::230:48ff:fe5a:5fa/64 범위: 링크
          PROMISC 멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1
          RX 패킷: 6218 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 1141 오류: 0 삭제: 0 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 1000
          RX 바이트: 693978(677.7KiB) TX 바이트: 235320(229.8KiB)
          인터럽트: 26

vif1.0 링크 캡슐: 이더넷 HWaddr fe:ff:ff:ff:ff:ff  
          inet6 주소: fe80::fcff:ffff:feff:ffff/64 범위: 링크
          PROMISC 멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1
          RX 패킷: 3 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 4369 오류: 0 삭제: 43 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 32
          RX 바이트: 84(84.0B) TX 바이트: 487332(475.9KiB)
fo#xm netlistxen6
Idx BE MAC 주소입니다. 처리 상태 evt-ch tx-/rx-ring-ref BE-path
0 0 00:16:3E:F3:0F:D9 0 4 15 769 /768 /local/domain/0/backend/vif/1/0

fo# brctl 쇼
브리지 이름 브리지 ID STP 지원 인터페이스
eth0 8000.0030485a05fa 페스0 없음
                                        vif1.0
xen6# ifconfig -a
eth0 링크 캡슐: 이더넷 HWaddr 00:16:3e:f3:0f:d9  
          inet 주소: xxx162 브로드캐스트: xxx255 마스크: 255.255.255.0
          inet6 주소: fe80::216:3eff:fef3:fd9/64 범위: 링크
          멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1
          RX 패킷: 6870 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 209 오류: 0 삭제: 0 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 1000
          RX 바이트: 628821(614.0KiB) TX 바이트: 31636(30.8KiB)
          인터럽트: 17

lo link encap: 로컬 루프백  
          inet 주소: 127.0.0.1 마스크: 255.0.0.0
          inet6 주소:::1/128 범위: 호스트
          상위 루프백 작업 MTU: 16436 측정항목: 1
          RX 패킷: 1 오류: 0 삭제: 0 오버플로: 0 프레임: 0
          TX 패킷: 1 오류: 0 삭제: 0 오버플로: 0 캐리어: 0
          충돌: 0 txqueuelen: 0
          RX 바이트: 80(80.0바이트) TX 바이트: 80(80.0바이트)
xen6:~$ ping -c 1 xxx121
PING xxx121 (xxx121) 56(84) 바이트의 데이터.
xxx121의 64바이트: icmp_req=1 ttl=64 시간=0.081 ms

---xxx121 핑 통계---
1개의 데이터 패킷 전송, 1개의 데이터 패킷 수신, 패킷 손실 0%, 시간 0ms
rtt 최소/평균/최대/mdev = 0.081/0.081/0.081/0.000밀리초

이더넷 컨트롤러는 다음과 같습니다.

02:05.0 이더넷 컨트롤러: Broadcom Corporation NetXtreme BCM5704 기가비트 이더넷(Rev. 10)
    하위 시스템: Super Micro Computer Inc 장치 1648
    플래그: 버스 마스터, 66MHz, 중간 개발, 대기 시간 64, IRQ 26
    fc9f0000의 메모리(64비트, 프리페치 불가능) [크기=64K]
    확장 ROM은 [사용 안 함]에 있습니다.
    특징: [40] PCI-X 비브리지 장치
    특징: [48] 전원 관리 버전 2
    특징: [50] 중요한 제품 데이터
    기능: [58] MSI: 활성화 - 개수=1/8 마스크 가능 - 64비트+
    사용된 커널 드라이버: tg3

IPMI가 네트워크 문제를 일으킬 수 있다는 내용을 어딘가에서 읽었습니다(어디인지 기억이 나지 않습니다). 그래서 IPMI를 비활성화했습니다.

motiejus@buddha> uname -a
Linux Buddha 2.6.32-5-xen-amd64 #1 SMP Mon Jan 16 20:48:30 UTC 2012 x86_64 GNU/Linux
motiejus@buddha> lsb_release -a
게시자 ID: 데비안
설명: Debian GNU/Linux 6.0.4 (squeeze)
버전: 6.0.4
코드명: 압출

Pastebin 데이터 업데이트(라우팅 정보 및 핑 결과):

Xen6:
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface  
x.x.x.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0   
0.0.0.0         x.x.x.1    0.0.0.0         UG        0 0          0 eth0   

Buddha:
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface    
x.x.x.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0     
0.0.0.0         x.x.x.1    0.0.0.0         UG        0 0          0 eth0     

xen6:~$ ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.

--- x.x.x.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

buddha# tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode                    
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes                      
22:51:01.977068 IP x.x.x.162 > x.x.x.1: ICMP echo request, id 2632, seq 1, length 64

However, x.x.x.1 does not receive the ICMP request.

buddha# ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.         
64 bytes from x.x.x.1: icmp_req=1 ttl=255 time=0.403 ms   

--- x.x.x.1 ping statistics ---                           
1 packets transmitted, 1 received, 0% packet loss, time 0ms    
rtt min/avg/max/mdev = 0.403/0.403/0.403/0.000 ms 

답변1

네트워크 부서에서 "MAC 기반" 보안을 활성화했습니까? 제가 보기에는 물리적 회선에서 첫 번째로 나가는 MAC만 허용되는 것 같습니다.

답변2

내 문제도 마찬가지였던 것으로 기억합니다. arp 캐싱을 켜면 내 문제가 해결되었으며 귀하에게도 효과가 있을 수 있습니다.

다음 행을 다음에 삽입하십시오 /etc/sysctl.conf.

net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.proxy_arp = 1

저는 라우팅된 네트워킹을 사용하므로 아니요 peth0, 활성화해야 할 수도 있습니다.

net.ipv4.conf.peth0.proxy_arp = 1

관련 정보