xen的虚拟桥接网络配置

阅读更多
接本博客的上篇博文 http://luozhaoyu.iteye.com/blog/1400247

本文讲如何在xen中创建虚拟机之后,通过桥接方式将虚拟主机连接起来。
网络方面xen的主要配置文件有两个,
一个是/etc/xen/xend-config.sxp宿主服务器配置文件。
一个是/etc/xen/xen-test0.cfg虚拟机配置文件。

服务器配置
首先,xen会默认检测宿主服务器的默认网卡(可能是通过默认网关确定)eth0
把eth0的配置复制一份成为veth0,随后把eth0重命名为peth0,把veth0重命名为eth0

在xend-config.sxp中把
(network-script network-bridge)

取消注释

宿主会自动把网络设置为桥接模式,并在xend启动后,会创建网桥eth0
通过brctl show查看可以发现,网桥eth0连接了peth0,也就是那个物理网卡

若要使虚拟机能通过桥接到物理网卡上因特网,需要手动桥接(之后介绍自动桥接)
brctl addif eth0 vif1.1

vifX.Y代表第X台虚拟机的第Y+1个网卡,即xen-testX的ethY

通过ping测试网络是否通畅

接下来介绍如何创建一个与外部真实网络无关的内部虚拟网络
修改/etc/network/interfaces
auto dummy0
iface dummy0 inet static
 address 10.0.0.100
 netmask 255.255.255.0


再在xend-config.sxp中声明此虚拟网卡
(network-script 'network-bridge netdev=dummy0')


补充前面一点,修改默认虚拟网桥的名字
(network-script 'network-bridge bridge=br0test')


如果要创建N多个虚拟网桥,可以在script文件夹中创建一个custom-network-bridge脚本
(network-script custom-network-bridge)

脚本中可以写上调用network-bridge脚本的命令,这里不详写了,以后研究

虚拟机配置
修改虚拟机配置文件xen-test0.cfg
vif         = [ 'ip=10.0.0.101,mac=00:16:3E:87:CD:1D,bridge=br0test',
'ip=172.16.0.11,mac=00:16:3E:87:CD:1C' ]

第一行添加第一块虚拟网卡,设置了ip之后并自动加入到宿主服务器的虚拟网桥br0test之上,如果宿主没有这个网桥的话,则无法启动虚拟机。
第二行同理,不过并不自动加入虚拟机,需要通过在宿主主机中
brctl addif eth0 vif1.1

把这块网卡桥接到eth0之后才能用桥接方式到因特网

ifup启动虚拟机网卡,确认与宿主主机的网络是否连接

注:若无法ping通dummy0,请确认dummy0与网桥br0test是否均设置了ip且一致(至于网桥为什么要ip,我现在还暂不清楚)

若有错误,敬请指正

你可能感兴趣的:(xen,网络配置,桥接)