브리지 모드 연결을 통해 xen domU를 ping할 수 없는 이유는 무엇입니까?

브리지 모드 연결을 통해 xen domU를 ping할 수 없는 이유는 무엇입니까?

Debian을 7.11에서 8.5로 업그레이드했기 때문에 xen 패키지도 4.1에서 4.4로 업그레이드되었습니다.

인터넷에 대해 잘 모르지만, 이런 사진을 보면 (출처:젠 네트워크ping -I xenbr0 198.51.100.27wiki 페이지), 가상 머신에서 198.51.100.27로 ping을 보내고 그 반대의 경우도 마찬가지입니다 ping 198.51.100.1.

그러나 이는 사실이 아니다. xenbr0깔끔하게 설치했어요

# brctl addbr xenbr0
# ifconfig xenbr0 192.168.12.1 netmask 255.255.255.0 up

그리고 HVM 구성 파일에서

vif=["mac=11:22:33:44:55:66, ip='192.168.12.2', bridge=xenbr0"]

xl create다음을 사용하여 가상 머신을 시작할 때 brctl show:

bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif3.0
                                                        vif3.0-emu

SPICE를 사용하여 VM에 연결하고 다음과 같이 구성합니다.

여기에 이미지 설명을 입력하세요.

기본 게이트웨이에 대해 ping을 시도하고 있으므로 이름 확인이 발생하지 않는다고 가정합니다.

이 설정을 사용하면 ping 192.168.12.2 -I xenbr0dom0의 결과는 다음과 같습니다.

PING 192.168.12.2 (192.168.12.2) from 192.168.12.1 xenbr0: 56(84) bytes of data.
From 192.168.12.1 icmp_seq=1 Destination Host Unreachable

Windows VM에는 출력이 ping 192.168.12.1있습니다.cmd

Pinging 192.168.12.1 with 32 bytes of data:
Reply from 192.168.12.2: Destination host unreachable.

이는 기계가 서로 통신하는 방법을 모른다는 것을 보여줍니다. 링크를 통해서 가면 안되는건가요 xl create? 왜 이런 일이 발생합니까?

답변1

모든 것이 올바르게 설정되면 문제 없이 ping이 가능합니다.

먼저 권장 구성을 시도해 보세요.

경로가 어떻게 작동하는지 연구하고 싶다면 다음을 수행할 수 있습니다.반가상화언급한 대로 HVM이 아닌 (PV) 설정이 필요하지만 HVM 사용을 고집하는 경우 다음을 수행해야 합니다.윈도우 드라이버설치하다. 상단에 다 설명되어 있어요젠 가이드. 또한 MAC 주소를 할당하는 방법에 대해서도 설명하며, 글을 쓰는 시점에는 게시물의 MAC 주소가 유효하지 않습니다. 때로는 가상 상황에서는 괜찮지만 모든 구성에서는 그렇지 않은 경우도 있습니다.

설정 시xenbr0호스트에서 브리지는 기본적으로 Debian 기반 시스템의 eth0 인터페이스를 대체합니다. 물론 (젠 가이드에서) eth0은 선택 사항입니다. "물리적 이더넷 장치를 생략하면 게스트 도메인만 포함하는 격리된 네트워크를 생성할 수 있습니다." 그러나 가이드의 예와 여기에 있는 게시물의 표현은 그렇지 않습니다. 향후 독자를 위해 Fedora 가상 게스트 제품군과 Windows의 약간 다른 구성 요구 사항에 대한 모든 문서를 참조하십시오. 이것, 특히 방화벽, TCP 래퍼 또는 원래 게시물에 언급되지 않은 다른 항목에 의해 차단되지 않는 한 이것이 문제인 것처럼 들립니다.

확인하다

ipconfig /allWindows에서는 다음을 사용하여 네트워크 설정을 확인할 수 있습니다 .

내부에Xen 예시 구성우리가 이미 참조한 동일한 웹사이트에서는 호스트에 대한 다음 권장 사항과 추가 구성을 제공합니다. 예를 들어 첫 번째 부분을 건너뛰지 않고 다음을 모두 입력합니다.

예 2: 고정 로컬 IP 주소로 구성된 eth0을 사용하는 단일 브리지 네트워크

iface eth0 inet 매뉴얼

iface xenbr0 inet 정적

    bridge_ports eth0
    address 192.168.1.2
    broadcast 192.168.1.255
    netmask 255.255.255.0
    gateway 192.168.1.1

dom0 및 dom1 또는 유사한 도구를 사용하여 ifconfig이를 확인할 수 있습니다.route호스트에서, 위 링크에 설명된 대로 모든 것이 올바르게 구성되었는지 확인하세요.

기본 조정

둘 다 인터넷(또는 일반적으로 네트워크의 다른 부분)에 연결할 수 없도록 하려면 물리적 케이블을 분리한 상태로 유지하는 것 외에도 기본 게이트웨이를 0.0.0.0으로 변경한 다음 "라우팅"을 추가할 수 있습니다. (대부분의 GUI 스타일에는 Network Manager클라이언트 IP 주소와 서브넷 마스크가 동일하지만 호스트 주소가 게이트웨이인 상자가 아래에 있어야 합니다 . 일부 GUI에는 "만 허용"이라는 상자도 있습니다. 로컬 네트워크에서 사용되는 연결 라우팅"입니다.

Windows 클라이언트에 "경로"를 추가하면 원래 문제에 대한 해결 방법이 될 수도 있습니다.

답변2

(50회 반복이 필요하므로 댓글을 달 수 없습니다.)

패킷이 브리지의 vif 및 vif 부분에 도착하므로 다음 단계는 ebtables 및 iptables(iptables -L)를 확인하는 것입니다. 특히 /proc/sys/net/bridge/bridge-nf-call-iptables가 1인 경우 따라서 netfilter는 브리지의 패킷을 확인합니다.

관련 정보