1.官方提供的双桥接方案,有一个命令 会将宿主网卡设备提交给container,后果是 container的启动和关闭 会导致物理网卡失联大概5s。

官方文档:https://openvz.org/VEs_and_HNs_in_same_subnets  

命令:vzctl set ctid --netif_add network-device --save

官方说明:https://openvz.org/Using_real_network_device

2 第二种方法

创建 /etc/vz/vznetconf ,当container 启动或关闭的时候会自动从桥接中添加、移除container的网卡

# vi /etc/vz/vznet.conf 
#!/bin/bash
EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"

vzctl set CTID --ipdel all --save

vzctl set CTID --netif_add eth0,,veth{CTID}.0,FE:FF:FF:FF:FF:FF,br0 --save

vzctl set CTID --netif_add eth1,,veth{CTID}.1,FE:FF:FF:FF:FF:FF,br1 --save


虽然创建的时候网卡是无mac地址,但是container会自己创建mac地址,可以添加lo 和 lvs.

具体原因 官方有说明。原文如下:

FE:FF:FF:FF:FF:FF will ensure a permanent MAC address on the bridge interface.

(Linux bridges behave strangely. They use the smallest MAC address of all the attached interfaces. If you add a new interface to the bridge with an even smaller MAC, the MAC of the bridge will change causing network interruption until the switch re-learns the new MAC)