我们已经安装了Xen(4.1)configuration,无法让Dom0和DomU进行通信(相互ping通)。 DomU可以ping通对方,但不能连接Dom0,Dom0不能连接DomU。 我们在网上find了很多不同的东西,包括网站上提出的一些解决scheme(见下面),但是我们被卡住了…
这是我们的configuration:我们有两个来宾域:
我们试图以桥接的方式将它们连接起来,就像在http://wiki.xen.org/wiki/XenNetworking#Bridging中那样 ,但是我们没有成功地做到这一点。
这里是ifconfconfiguration:
从Dom0:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:26:22:45:33:59 UP BROADCAST MULTICAST MTU:1500 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:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:35 Base address:0xc000 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:460 errors:0 dropped:0 overruns:0 frame:0 TX packets:460 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:35512 (35.5 KB) TX bytes:35512 (35.5 KB) lxcbr0 Link encap:Ethernet HWaddr 9a:b8:f4:95:9f:36 inet addr:10.0.3.1 Bcast:10.0.3.255 Mask:255.255.255.0 inet6 addr: fe80::98b8:f4ff:fe95:9f36/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:62 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:10287 (10.2 KB) wlan0 Link encap:Ethernet HWaddr 70:1a:04:0d:09:74 inet6 addr: fe80::721a:4ff:fe0d:974/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:66 (66.0 B) TX bytes:0 (0.0 B) xenbr0 Link encap:Ethernet HWaddr 00:26:22:45:33:59 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 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)
从VM1:
VM1:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3E:22:99:77 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fe22:9977/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1478 errors:0 dropped:0 overruns:0 frame:0 TX packets:71 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:286514 (279.7 KiB) TX bytes:5330 (5.2 KiB) Interrupt:26 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:15 errors:0 dropped:0 overruns:0 frame:0 TX packets:15 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1680 (1.6 KiB) TX bytes:1680 (1.6 KiB)
从testing2:
test2:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3E:6A:81:FF inet addr:192.168.1.203 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fe6a:81ff/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1278 errors:0 dropped:0 overruns:0 frame:0 TX packets:56 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:242526 (236.8 KiB) TX bytes:4488 (4.3 KiB) Interrupt:26 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:672 (672.0 b) TX bytes:672 (672.0 b)
这里也是我们的/ etc / network / interfaces:
auto lo iface lo inet loopback auto xenbr0 iface xenbr0 inet static bridge_ports eth0 address 192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.0 auto eth0 iface eth0 inet manual
这里是Dom0命令“brctl show”的结果:
# brctl show bridge name bridge id STP enabled interfaces lxcbr0 8000.feffffffffff no vif3.0 vif4.0 xenbr0 8000.002622453359 no eth0
我们到目前为止的尝试:
给Dom0的eth0提供一个IP地址:
ifconfig eth0 192.168.1.1networking掩码255.255.255.0
我们试图按照这个答案dom0中的网桥不能ping多米诺的,但我们没有接口eth1,没有接口将工作。
任何build议,帮助?
感谢您的答案,brctl addif …不起作用。
这里是VM1的configuration文件:
kernel = '/boot/vmlinuz-3.2.0-33-generic' ramdisk = '/boot/initrd.img-3.2.0-33-generic' vcpus = '1' memory = '128' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/home/xen/domains/VM1/disk.img,xvda2,w', 'file:/home/xen/domains/VM1/swap.img,xvda1,w', ] # # Physical volumes # # # Hostname # name = 'VM1' # # Networking # vif = [ 'ip=192.168.1.2,mac=00:16:3E:22:99:77' ] # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
哦,我的,那么老…但是因为我在这里试图find一个解决scheme,这里是一个。 我认为你的问题是在你的VIF行“IP = 192.168.1.2” ,但如果我错了,答案是没用的。 即使我是对的,对于configuration稍有不同的人也没用。 所以,长版:
DomUnetworkingconfiguration(其他一切无所谓): vif=['bridge=xenbr0']
在虚拟接口上configuration网桥,就像这样(这些命令是以root身份执行的):
# modprobe dummy # ifconfig dummy0 up # brctl addbr xenbr0 # brctl addif xenbr0 dummy0
以下是启动虚拟机之后的外观(您可以看到虚拟机的vif16.0连接到您的网桥):
# brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.1a088b6b402f no dummy0 vif16.0
我使用DHCP,但可以手动分配IP。 DomU下的Dom0和eth0的xenbr0。 不要将任何IP分配给您的桥梁成员! 这个很重要。
Dom0的ifconfig看起来像这样(删除统计信息,使其体积更小):
dummy0 Link encap:Ethernet HWaddr 1a:08:8b:6b:40:2f inet6 addr: fe80::1808:8bff:fe6b:402f/64 Scope:Link UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 vif16.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 xenbr0 Link encap:Ethernet HWaddr 1a:08:8b:6b:40:2f inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::1808:8bff:fe6b:402f/64 Scope:Link
从DomU看起来像这样:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.2.21 netmask 255.255.255.0 broadcast 192.168.2.255 inet6 fe80::216:3eff:fe25:e843 prefixlen 64 scopeid 0x20<link>
Pinging Dom0:
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.238 ms 64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.279 ms
而对于互联网访问(我的configuration基本上是NAT,你本应该有互联网访问)启用NAT可能需要这样的:
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 ! -d 192.168.2.0/24 -j MASQUERADE
对于故障排除使用tcpdump -v -i xenbr0 。 Ping有很大的帮助,因为Ping需要你的数据包出去并返回 ,因此不知道什么时候它丢失 – 出门还是回来。
你的configuration文件没有指定连接DomU的网桥。 您可以在vif节中指定桥:
vif = [ 'mac=00:16:3E:22:99:77,bridge=xenbr0' ]
您也可以指定IP地址和其他信息。 请参阅Xenconfiguration选项 。
在vif节中指定网桥会导致Xen在DomU分配虚拟接口后在Dom0上运行脚本。 这将虚拟接口添加到指定的网桥。
请注意,可能需要对networking设置进行额外的调整才能使其正常工作。 使用正确的Xenconfiguration选项将有助于简化其余部分。