为Qemu设置桥接,并在Debian Linux上为多个子网路由OpenVZ(venet)

所以我一直在寻找过去几天试图找出实现这一目标的最佳方法,但仍然无法解决这个问题。

我有一个运行Proxmox的Debian服务器设置来托pipeOpenVZ和Qemu虚拟机。 我在同一个上行链路端口上从我的提供者分配了两个子网。 我的最终目标是将Qemu桥接到eth1,并将OpenVZ路由到eth1。 我想使用OpenVZ路由(venet),因为易于configuration服务器。

理论上这就是我想要做的(网关可以是200.xx41或200.xx97):

/// Gateway 200.xxx /// | | /// eth1 /// | | | | //qemu br// //openvz venet// 

在过去几天里,我已经尝试了几乎所有我能想到的configuration,似乎遇到了qemu作品或openvz作品的问题。

openvz的路由方法我想用(venet)不支持桥接,这就是为什么我认为这是行不通的,当我有一个桥bridge_ports eth1设置,然后路由表显示默认网关为br0,但我可以是错的。

我有两个子网路由到我的eth1端口,200.xx40 / 29和200.xx96 / 27。 我想使用OpenVZ的200.xx96 / 27子网和Qemu的200.xx40 / 29。

这甚至没有多个尼克斯物理上可能吗?

有人能帮助我,或者至less让我指向正确的方向,我已经拿出了我已经离开的头发,我不能帮助,但认为这是简单的,我过于复杂或只是没有看到。

感谢您提前的帮助,非常感谢!

WOO HOO我想到了! 如果有其他人遇到这个问题,所有你需要的是在桥接接口上启用proxy_arp!

 auto lo iface lo inet loopback iface eth1 inet manual auto vmbr0 iface vmbr0 inet static address 209.xx42 netmask 255.255.255.248 gateway 209.xx41 bridge_ports eth1 bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp 

所以,你可以看到,我使用208.xx41 / 29子网桥,然后启用桥上的proxy_arp(vmbr0),瞧!

由于我使用的是venet路由方法,所以实际上并不需要在configuration中指定其他子网,这样以后再添加其他子网时就更容易了!

我还将/etc/vz/vz.conf中的VE_ROUTE_SRC_DEV的值更改为:

 VE_ROUTE_SRC_DEV="vmbr0"