私のサーバーを最新バージョンのXen(Debianの場合4.11.1)にアップデートした後、私のホストシステムはインターネット接続を使用できません(ゲストシステムからアクセスできます)。問題がXenアップデートに関連しているのか、それとも同時に実行した他のアップデートに関連しているのかわかりません。 :-(
インターネット接続のためにxenbr0
、私はインターフェースに接続されたブリッジ()を使用します。これはかなり多くのクライアントシステムでも使用されます。eth0
ゲストシステムはこのブリッジを使用してインターネットにアクセスできます。xenbr1
内部通信にのみ使用され、外部インターフェイスには接続されていない2番目のブリッジ()があります。
# 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
インストールされていません)。
ゲートウェイへの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アドレス()を設定すると、ネットワークアクセスは期待どおりに機能します。