Xen domUのゲストにインターネットアクセスを許可するにはどうすればよいですか?問題を診断するためにどのようなツールを使用できますか?調べることができるログファイルはありますか?
(私は新しいLinux、ネットワーク、VMです。用語が間違っている場合は実行してください。また、提供する情報の量がわかりません。)
XenハイパーバイザーをOracleVirtualBoxにインストールしました。 (Debian)dom0(hostname = debianxend0)はインターネットにアクセスできます。つまり、apt-getを使用してパッケージをダウンロードし、www.google.comにpingを実行できます。
Xen-create-imageを使用して、domU(hostname = tutorial-pv-guest)をインストールしました。
DomUゲストはdom0にpingとsshを実行できますが、外部には実行できません。つまり、www.google.comへのpingは失敗します。 dom0はdomUにpingおよびsshを実行できます
dom0/etc/network/interfaces
auto lo
iface lo inet loopback
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0
bridge_stp on
bridge_waitport 0
bridge_fd 0
dom0 ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:76:ba:6f
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3445 errors:0 dropped:0 overruns:0 frame:0
TX packets:675 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:936784 (914.8 KiB) TX bytes:63581 (62.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vif2.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:1376 (1.3 KiB) TX bytes:55771 (54.4 KiB)
xenbr0 Link encap:Ethernet HWaddr 08:00:27:76:ba:6f
inet addr:192.168.178.57 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe76:ba6f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1680 errors:0 dropped:0 overruns:0 frame:0
TX packets:222 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:230914 (225.5 KiB) TX bytes:38211 (37.3 KiB)
dom0 brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.08002776ba6f yes eth0
vif2.0
domU/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
domU ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:16:3e:8b:54:20
inet addr:192.168.178.232 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe8b:5420/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:995 errors:0 dropped:0 overruns:0 frame:0
TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:104718 (102.2 KiB) TX bytes:27230 (26.5 KiB)
Interrupt:30
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:554 (554.0 B) TX bytes:554 (554.0 B)
そして以下はdomUのxencfgです
bootloader = '/usr/lib/xen-4.1/bin/pygrub'
vcpus = '2'
memory = '512'
root = '/dev/xvda2 ro'
disk = [
'phy:/dev/vg0/tutorial-pv-guest-disk,xvda2,w',
'phy:/dev/vg0/tutorial-pv-guest-swap,xvda1,w',
]
name = 'tutorial-pv-guest'
dhcp = 'dhcp'
vif = [ 'mac=00:16:3E:8B:54:20,bridge=xenbr0' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
問題はMACアドレス認証にあります。 WiFiは、認証されたMACアドレスからのパケットのみを許可します。そのため、有線接続と無線接続を簡単にブリッジすることはできません。ワイヤレスの問題が原因ではない場合は、そこでネットワークを管理している人が設定した他の形式のMACバリアが原因です(そのため、MACアドレスを要求されました)。
1つの戦略は、ゲストの仮想アダプターのMACアドレスを物理アダプターのMACアドレスに変更することです。免責事項:私はこれまで試したことがないので、うまくいくかどうか教えてください:)
それが機能しない場合は、別のローカルネットワークを作成し、NATを使用して単一のIP/MACアドレスからトラフィックを渡す必要があります(コメントのように)。
ワイヤレスを介した有線接続を「ブリッジ」するためのガイドがあり、これらのソリューションは、実際にワイヤレスを使用していない場合でも機能するはずです。ほとんどの場合、NATメソッドを参照してください。