Xen混合路由

在宿主环境中带有1 + X公共IP地址的decidated根服务器上运行带有Xen 3.2的Debian Lenny,我想要安装多个domU。 由于托pipe公司的要求,桥接networking路由不是一个选项。 他们build议路由设置,但据我所知,这需要在dom0上花费两个公有IP,这是我无法理解的。

在我的设置中,X domU将拥有一个面向公众的IP地址,并且应该可以从networking访问。 其他domU应该在私有子网(例如10.0。/ 192.168 )中,并且不能从外部到达。 同一私有子网中的domU应该能够到达对方,但不能在其他私有子网中使用domU。 如果所有stream量(包括具有公有IP地址的domU)通过可以作为防火墙(iptables?)的dom0路由,则会是一个加号。

有没有人与我有类似的设置,并愿意分享一些configuration文件和技巧?

你应该在dom0上设置两个网桥。 您可以在/etc/network/interfaces使用标准条目。 假设你的真实卡是eth0(并且有一个DHCP服务器),并且你安装了bridge-utils 。 该文件可能是这样的:

 auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_maxwait 0 auto br1 iface br1 inet static bridge_ports none bridge_maxwait 0 address 192.168.0.1 netmask 255.255.255.0 

使用network-brigde和vif-bridgeconfiguration/etc/xen/xend-config.sxp 。 在每个domUconfiguration文件中,您可以select是否希望它具有直接的外部访问(通过br0),还是只能通过br1访问。 为此,你可以使用像这样的vif行:

 vif = ['bridge=br0'] vif = ['bridge=br1'] 

当然,你仍然需要在br1上设置NAT /伪装,并且domU的networkingconfiguration应该匹配(即在br0上的那些应该使用DHCP,而br1上的应该在上面的示例中使用静态IP)。

我已经设置完全相同的东西。 我们做的是NAT。 这是你正在寻找的东西。 您需要在dom0中将公共IP的stream量转换为适当的私有IP。 显然你可以在这个过程中应用防火墙规则。

对于公共IP的NAT来说,一条线就足够了:

 iptables -t nat -A PREROUTING -i eth0 -d PUBLICIP -j DNAT --to-destination INTERNALIP 

如果您愿意,请为每个公共IP添加防火墙规则重复此过程。

伪装虚拟机:

 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

由于托pipe公司的要求,桥接networking路由不是一个选项。

我只是想知道,我不知道这是否会工作,但你有没有调查使用代理arp方法的可能性?