호스트 시스템에서 네트워크에 액세스할 수 없습니다(게스트 시스템이 작동 중임).

호스트 시스템에서 네트워크에 액세스할 수 없습니다(게스트 시스템이 작동 중임).

내 서버를 최신 버전의 Xen(Debian의 경우 4.11.1)으로 업데이트한 후 내 호스트 시스템에서 인터넷 연결을 사용할 수 없습니다(게스트 시스템에서 액세스할 수 있음). 문제가 Xen 업데이트와 관련된 것인지 아니면 동시에 수행한 다른 업데이트와 관련된 것인지 잘 모르겠습니다. :-(

인터넷 접속을 위해 저는 인터페이스 xenbr0에 연결된 브리지( )를 사용하는데, 이는 꽤 많은 클라이언트 시스템에서도 사용됩니다. eth0게스트 시스템은 이 브리지를 사용하여 인터넷에 액세스할 수 있습니다. xenbr1내부 통신에만 사용되며 외부 인터페이스에는 연결되지 않는 두 번째 브리지( )가 있습니다 .

# brctl show
bridge name bridge id       STP enabled interfaces
xenbr0      8000.d6fc6a691328   no      eth0
                                            vif3.0
                                        vif4.0
                                         vif5.0
xenbr1      8000.b226a874c5c4   no      vif1.0
                                         vif2.0
                                         vif4.1
                                         vif6.0

따라서 eth0인터페이스에는 IP 구성이 없지만 xenbr0인터페이스에는 IP 주소가 있습니다.

# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 44:8a:5b:29:e6:40  txqueuelen 1000  (Ethernet)

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 148.251.66.43  netmask 255.255.255.224  broadcast 148.251.66.63
        inet6 fe80::d4fc:6aff:fe69:1328  prefixlen 64  scopeid 0x20<link>
        inet6 2a01:4f8:202:302a::2  prefixlen 64  scopeid 0x0<global>
        ether d6:fc:6a:69:13:28  txqueuelen 1000  (Ethernet)

xenbr1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.0.1  netmask 255.255.255.0  broadcast 172.16.0.255
        inet6 fe80::b026:a8ff:fe74:c5c4  prefixlen 64  scopeid 0x20<link>
        inet6 fd1a:1e62:cd84:83f8:172:16:0:1  prefixlen 64  scopeid 0x0<global>
        ether b2:26:a8:74:c5:c4  txqueuelen 1000  (Ethernet)

기본 경로는 xenbr0인터페이스를 통해 구성됩니다.

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         148.251.66.33   0.0.0.0         UG    0      0        0 xenbr0
148.251.66.32   0.0.0.0         255.255.255.224 U     0      0        0 xenbr0
172.16.0.0      0.0.0.0         255.255.255.0   U     0      0        0 xenbr1

다른 컴퓨터가 공용 주소(NAT 없음)를 사용하고 있기 때문에 IP 전달이 구성되지 않았습니다.

# cat /proc/sys/net/ipv4/ip_forward
0

방화벽이 구성되지 않았습니다( nft list ruleset출력 없음, iptables설치되지 않음).

게이트웨이에 대한 핑( 148.251.66.33)은 게스트 시스템에서는 작동하지만 호스트에서는 작동하지 않습니다. 외부 주소를 ping하는 것과 동일합니다.

다음 버전을 실행하세요.

# cat /proc/version 
Linux version 5.2.0-2-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-21)) #1 SMP Debian 5.2.9-2 (2019-08-21)
# dpkg --list "xen-*"
ii  xen-hypervisor-4.11-amd64 4.11.1+92-g6c33308a8d-2+b1 amd64        Xen Hypervisor on AMD64
ii  xen-hypervisor-common     4.11.1+92-g6c33308a8d-2    all          Xen Hypervisor - common files
ii  xen-utils-4.11            4.11.1+92-g6c33308a8d-2+b1 amd64        XEN administrative tools
ii  xen-utils-common          4.11.1+92-g6c33308a8d-2+b1 amd64        Xen administrative tools - common files
# brctl --version
bridge-utils, 1.6
# ip -V
ip utility, iproute2-ss190708
# nft -v
nftables v0.9.2 (Scram)

내가 무엇을 놓치고 있나요? 어떤 도움이라도 대단히 감사하겠습니다!

답변1

마침내 해결책을 찾았습니다. 업데이트나 커널 업데이트와 관련된 것 같습니다 bridge-utils(불행히도 특정 버전/업데이트를 정확히 알 수는 없습니다).

행동앞으로브리지가 자동으로 인터페이스의 MAC 주소를 사용하는 경우 동작뒤쪽에업데이트 내용은 브리지가 무작위로 생성된 MAC 주소(네트워크 측에서 차단됨)를 할당한다는 것입니다.

ip link set xenbr0 address 44:8a:5b:29:e6:40브리지의 MAC 주소( )를 설정 하면 네트워크 액세스가 다시 예상대로 작동합니다.

관련 정보