Saya suka Xen sebagai produk, tetapi kadang-kadang, saya sangat membencinya. Saya mengalami beberapa masalah jaringan dengan salah satu klien Xen saya duduk di VM Debian 6 mesin (jadi Xen berjalan di dalam mesin virtual Debian 6). Seperti biasa, masalahnya adalah menjembatani. Berikut adalah perintah yang saya jalankan sejauh ini untuk mengaturnya. Percayalah, saya telah memutarkannya lagi dan lagi mencoba untuk melihat apa masalahnya.
xen-create-image --hostname=CN01061 --dir=/opt/xen --force \
--size=10gb --image=full --swap=2gb --memory=1gb --dhcp \
--dist=squeeze --arch=i386 \
--mirror=ftp://ftp.us.debian.org/debian/ \
--passwd --install-method=debootstrap
##### This is my network script
cat >> /etc/xen/xend-config.sxp << 'EOF'
(network-script network-bridge-wrapper)
EOF
##### This is the script itself
cat > /etc/xen/scripts/network-bridge-wrapper << 'EOF'
#!/bin/sh
/etc/xen/scripts/network-bridge "$@" netdev=eth0
/usr/sbin/brctl addbr intercomm0
/sbin/ifconfig intercomm0 192.168.198.1
EOF
##### Make it executable
chmod 0755 /etc/xen/scripts/network-bridge-wrapper
##### Edit /etc/default/xendomains
#XENDOMAINS_RESTORE=true <<-- the default value
XENDOMAINS_RESTORE=false # <<-- my value
#XENDOMAINS_SAVE=/var/lib/xen/save <<-- the default value
XENDOMAINS_SAVE="" # <<-- my value
##### Add intercomm0 interface to CN01061 (DomU client)
cat >> /etc/network/interfaces << 'EOF'
# intercomm0 interface
auto eth1
iface eth1 inet static
address 192.168.198.2
netmask 255.255.255.0
EOF
##### Finally, the config file /etc/xen/CN01061.cfg
dhcp = 'dhcp'
vif = [ 'bridge=eth0','bridge=intercomm0' ]
Jadi, untuk meringkas apa yang terjadi, klien DomU (CN01061) menerima IP melalui DHCP pada antarmuka eth0, dan memiliki alamat statis pada antarmuka eth1 (192.168.198.2) untuk komunikasi antara dirinya dan Dom0. Dom0 memiliki pengaturan bridging antara antarmuka eth0 dan antarmuka intercomm0 (didefinisikan dalam /etc/xen/CN01061.cfg)
Jembatan dikonfigurasi dengan benar, saya percaya:
root@dom0:~# brctl show
bridge name bridge id STP enabled interfaces
eth0 8000.080027eeef71 no peth0
vif1.0
intercomm0 8000.feffffffffff no vif1.1
Alasan saya menghancurkan kepala saya adalah karena meskipun klien DomU menerima IP melalui DHCP, itu tidak dapat dicapai melalui SSH atau ping dari komputer lain di jaringan. DomU sendiri tidak dapat menjangkau di mana pun di luar; bahkan tidak bisa melakukan ping gateway.
Ada ide? xen-hypervisor adalah 4.0.1-4, xen-tools adalah 4.2-1, dan xen-utils adalah 4.0.1-4.
tcpdump -i eth0
saat melakukan ping gateway untuk melihat apakah paket-paket lolos dari tamu atau tidak? Sudahkah Anda memeriksa alamat MAC yang dibuat untuk tamu itu unik?