带有桥接的Xen虚拟机上的多个IP

虽然我相当新的XEN(在Ubuntu 14.04下运行),直到现在我还没有任何真正的问题。 我已经使用桥接设置了我的networking,并且迄今为止在许多不同的机器上运行良好。 通常情况下,我可以在某个地方find我的答案,但这一次,我已经find了一些帮助。

我有客户端虚拟机(DomU),我试图用大量的IP设置,这给了我很多的悲痛。 这是设置:

主机有两个网卡,一个用于私有(10.10.10.x)xenbr0,另一个用于公网IPS(比如说xyz *)xenbr1:

下面是我的主机上的/etc/networking/interfaces文件:

 iface eth0 inet manual auto xenbr0 iface xenbr0 inet static bridge_ports eth0 address 10.10.10.112 netmask 255.255.255.0 network 10.10.10.0 broadcast 10.10.10.255 gateway 10.10.10.1 auto eth1 iface eth1 inet manual auto xenbr1 iface xenbr1 inet manual bridge_ports eth1 bridge_maxwait 1 

在客户端,VM也使用两个桥接nic /etc/networking/interfaces

 auto eth0 iface eth0 inet static address xyz170 netmask 255.255.255.240 broadcast xyz175 gateway xyz161 auto eth1 iface eth1 inet static address 10.10.10.155 netmask 255.255.255.0 broadcast 10.10.10.255 auto eth0:1 iface eth0:1 inet static address xyz162 netmask 255.255.255.240 broadcast xyz175 auto eth0:2 iface eth0:2 inet static address xyz163 netmask 255.255.255.240 broadcast xyz175 auto eth0:3 iface eth0:3 inet static address xyz164 netmask 255.255.255.240 broadcast xyz175 etc…. up to 8 alaises. 

在我的xenconfiguration文件中,我有: vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

我打算一旦设置好并正常工作,就从VM中删除本地IP地址。

我正在使用别名,因为我试图将这个从裸机到虚拟机之一。 最终过度使用IPS将会被处理,但由于各种原因,我还不能这样做。 无论如何,当我启动虚拟机时,只有几个IP是可以ping通的,除非我为每个IP地址执行arping -U -I eth1 xyz162等操作。 然后事情似乎至less有回应,但路由不能真正正常工作。 我可以ssh浏览到IP通过http,但虚拟网站不能正常工作(即它只发送给我一个,忽略其他),并重新启动绑定和其他一些服务没有正确响应。 就好像路由没有正确设置,而IPs响应,它不是真正的IP请求,而是另一个IP。
然而,这只是一些额外的IPS。 当我重新启动时,arp命令修复的路由丢失了。 然后绑定和虚拟机上的一些其他服务将无法正常工作。 我做的ARP命令,事情再次运作。
我认为这个arping只是一个创可贴,但不能解决真正的问题。 由于完全相同的系统在裸机上工作,我几乎积极的问题是我的XENnetworking设置,而不是我想要迁移的交换机设置或操作系统。

为了进一步隔离这个问题,我使用虚拟机/etc/networking/interfaces文件中的更现代的(而不是折旧的IP别名)安装程序展示,设置了一个干净的Ubuntu 14.04 guest虚拟机和多个IP:

  auto eth0 allow-hotplug eth0 iface eth0 inet static address xyz110 netmask 255.255.255.240 broadcast xyz175 gateway xyz161 iface eth0 inet static address xyz 162 netmask 255.255.255.240 broadcast xyz175 iface eth0 inet static address xyz 163 netmask 255.255.255.240 broadcast xyz175 and on with the other IPS 

所有的结果都一样。 我错过了什么? 任何援助将不胜感激。

我想清楚我的问题是什么,如果有人遇到类似的问题,我会在这里发布。

在我的Xenconfiguration我没有把MAC地址。 IE我有:

vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

当我需要这样的东西时:

vif = [ 'bridge=xenbr0', 'mac=00:11:5e:5n:2c:1c,bridge=xenbr1' ]

MAC地址的路由不会马上过期,所以对每个IP运行这个ARP命令来固定路由: arping -U -I eth1 xyz162

我猜测每次虚拟机引导它有一个新的MAC地址,只有一些路由表更新时,虚拟机启动。

现在MAC地址不变,一切都好。

尝试在DomU中交换​​接口configuration。 根据您的Dom0configuration,您应该在您的DomU中使用eth0作为私有IP,eth1作为公有IP。