ubuntu 14:如何configuration绑定接口的网桥?

我们有一台服务器通过两个网卡连接到两台交换机。 每个网卡上有2个VLAN,即pipe理和生产。 现在我们只有一个交换机连接,所以没有设置生成树等。

我们安装了LXC,并且希望桥接(而不是NAT)XLC容器(因此它们与主机在同一个子网上)。

当我们尝试在主机ubuntu服务器上的/ etc / network / interfaces中创build一个桥时,networking无法启动,我们必须去控制台,删除编辑并重启(幸运的是我们有LOM卡!)

接口文件:

auto em1.3 iface em1.3 inet manual bond-master bond2 bond-primary em1.3 auto em2.3 iface em2.3 inet manual bond-master bond2 auto bond2 #Production VLAN iface bond2 inet static address 10.100.100.10 netmask 255.255.255.0 gateway 10.100.100.1 dns-nameservers 10.100.10.1 bond-slaves em1.3, em2.3 bond-miimon 100 bond-mode active-backup dns-nameservers 10.100.100.1 auto br_prod iface br_prod inet dhcp bridge_ports bond2 bridge_fd 0 bridge_maxwait 0 

当我们添加最后一节(br_prod)时,服务器不会启动networking连接,我们必须使用控制台。 它说“等待另外60秒才能开始联网”,但是没有。

我也尝试添加

 pre-up ifup bond2 post-down ifup bond2 

尝试使它手动。

试图使它静态,而不是DHCP,提供适当的IP /网关/networking掩码。 没有运气。

尝试命名br2而不是br_prod,尝试pre_up post_down,桥接端口等。我们尝试每个选项,开关和下划线与破折号的组合。 总是相同的效果 – networking不会启动(没有错误)。

有任何想法吗?

更新1

从下面的electrometro的答案,我试过这个:

 auto bond1 iface bond1 inet static address 10.30.30.10 netmask 255.255.255.0 #bond-slaves em1.2, em2.2 bond-slaves none bond-miimon 100 bond-mode active-backup up route add -net ..... auto em1.2 iface em1.2 inet manual bond-master bond1 bond-primary em1.2 auto em2.2 iface em2.2 inet manual bond-master bond1 bond-primary em1.2 br1 iface br1 inet manual bridge_ports bond1 bridge_fd 0 bridge_maxwait 0 

但是,得到同样的问题 – networking无法启动。

更新2

感谢Oliver的贡献。 我尝试了这个configuration,networking出现了,我可以使用ifconf来查看接口,但是由于路由不工作,我不能使用ssh。 基本上我无法ping使用手动添加的路由的默认网关。

 auto em1.2 iface em1.2 inet manual auto em2.2 iface em2.2 inet namual auto bond1 iface bond1 inet manual bond-slaves em1.2 em2.2 bond-mode active-backup auto br10 iface br10 inet static address 10.30.30.10 netmask 255.255.255.0 bridge_ports bond1 up route add -net 10.242.1.0/24 gw 10.30.30.1 dev bond1 # also tried dev br10 

我们手动设置网关的原因是我们必须定义networking:生产和pipe理。 我们有2个接口,每个接口连接到一个交换机。 每个接口对两个networking都进行故障切换,生产networking具有默认网关。 我现在只是试图在pipe理networking上架起一座桥梁。

更新3

在漫长的反复试验中,我也尝试过指定VLAN:

 auto em1.2 iface em1.2 inet manual auto em2.2 iface em2.2 inet manual auto bond1 iface bond1 inet manual bond-slaves em1.2 em2.2 bond-mode active-backup auto br10.2 iface br10.2 inet static address 10.30.30.10 netmask 255.255.255.0 bridge_ports bond1 up route add -net 10.242.1.0/24 gw 10.30.30.1 dev br10.2 

这是一个类似的设置,正在为docker主机工作。 希望它指出你在正确的方向。

 # Interface bond_lan auto bond_lan iface bond_lan inet manual slaves none bond-mode active-backup bond-miimon 100 # Interface bridge_lan auto bridge_lan iface bridge_lan inet static address 10.10.10.129 netmask 255.255.0.0 gateway 10.10.0.1 bridge_ports bond_lan bridge_stp on bridge_fd 0 bridge_maxwait 0 # Interface em1 auto em1 iface em1 inet manual bond-master bond_lan bond-primary em1 # Interface em2 auto em2 iface em2 inet manual bond-master bond_lan bond-primary em1 # Interface lo auto lo iface lo inet static address 127.0.0.1 netmask 255.0.0.0 

在Ubuntu VM中testing以下内容:

  • 使用物理接口em1和em2创build主备备份捆绑接口

     auto bond0 iface bond0 inet manual bond-slaves none bond-mode active-backup auto em1 iface em1 inet manual bond-master bond0 auto em2 iface em2 inet manual bond-master bond0 
  • 创build一个第一个桥,它也可以用来pipe理指定IP地址上的机器。 我们为此使用了VLAN 100:

     auto br100 iface br100 inet static address 10.100.100.10 netmask 255.255.255.0 gateway 10.100.100.1 bridge_ports bond0.100 
  • 创build用于生产stream量的第二个桥,我们假设这是VLAN 200:

     auto br200 iface br200 inet manual bridge_ports bond0.200 

现在,您可以将容器或虚拟机添加到br100和/或br200,具体取决于您的需要。

更新:更改了bond0的创build方式。 物理接口现在不是指向bond master的物理接口,而是指向bond master。