我们有一台服务器通过两个网卡连接到两台交换机。 每个网卡上有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不会启动(没有错误)。
有任何想法吗?
从下面的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无法启动。
感谢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上架起一座桥梁。
在漫长的反复试验中,我也尝试过指定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。