在OpenVZ虚拟机中使用桥接模式(vzethdev)网卡

kevin.Zhu 发布于:2013-12-21 15:34 分类:Linux  有 21 人浏览,获得评论 0 条  

之前一直使用KVM+Qemu的虚拟机,网卡一般都是用桥接模式,效率高工作稳定。最近研究了一下如何在OpenVZ虚拟机中使用桥接模式的网卡,最终如愿,OpenVZ提供了vzethdev内核模块,能够将虚拟机的网卡与宿主机的物理网卡进行桥接,配置也并不算复杂,这里简单罗列一下过程:

0,测试环境为CentOS 6.x 64位操作系统。

1,创建OpenVZ虚拟机:
#vzctl create 4950 --name vz-vpn-4950 --hostname vz-vpn-4950

2,添加桥接模式网卡:
#vzctl set 4950 --netif_add eth0,00:0C:29:A8:2D:C9,veth4950.0,FE:FF:FF:FF:FF:FF,vzbr0 --save
其中:
eth0是虚拟机中网卡的名称。
00:0C:29:A8:2D:C9 是虚拟机中网卡的MAC地址,可以使用easymac.sh程序生成。
veth4950.0是宿主机中虚拟的网卡名称。
FE:FF:FF:FF:FF:FF是桥接模式多播MAC地址。
vzbr0是宿主机需要创建的网桥名称。

3,在宿主机创建网桥,并添加需要桥接的宿主机物理网卡(em2):
#brctl addbr vzbr0
#brctl addif vzbr0 em2
#ifconfig vzbr0 0

4,配置vznet.conf,使虚拟机在启动时自动将虚拟网卡添加到网桥:
#echo 'EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"' > /etc/vz/vznet.conf

5,启动虚拟机:
#vzctl start 4950

6,此时就可以进入虚拟机,按照正常方式配置eth0的IP地址了。

参考资料:
http://wiki.openvz.org/Veth