无法从主机系统访问网络(来宾系统正在工作)

无法从主机系统访问网络(来宾系统正在工作)

将我的服务器更新到最新版本的 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

未配置 IP 转发,因为其他计算机正在使用公共地址(无 NAT)。

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

防火墙未配置(nft list ruleset没有输出,iptables未安装)。

Ping 网关 ( 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 地址后,网络访问将再次按预期工作。

相关内容