xen的虚拟桥接网络配置


接本博客的上篇博文:http://www.2cto.com/os/201202/119370.html
 
本文讲如何在xen中创建虚拟机之后,通过桥接方式将虚拟主机连接起来。
网络方面xen的主要配置文件有两个,
一个是/etc/xen/xend-config.sxp宿主服务器配置文件。
一个是/etc/xen/xen-test0.cfg虚拟机配置文件。
 
服务器配置
首先,xen会默认检测宿主服务器的默认网卡(可能是通过默认网关确定)eth0
把eth0的配置复制一份成为veth0,随后把eth0重命名为peth0,把veth0重命名为eth0
 
在xend-config.sxp中把
Java代码 
(network-script network-bridge) 
 
(network-script network-bridge)
取消注释
 
宿主会自动把网络设置为桥接模式,并在xend启动后,会创建网桥eth0
通过brctl show查看可以发现,网桥eth0连接了peth0,也就是那个物理网卡
 
若要使虚拟机能通过桥接到物理网卡上因特网,需要手动桥接(之后介绍自动桥接)
Java代码 
brctl addif eth0 vif1.1 
 
brctl addif eth0 vif1.1
vifX.Y代表第X台虚拟机的第Y+1个网卡,即xen-testX的ethY
 
通过ping测试网络是否通畅
 
接下来介绍如何创建一个与外部真实网络无关的内部虚拟网络
修改/etc/network/interfaces
Java代码 
auto dummy0  
iface dummy0 inet static 
 address 10.0.0.100 
 netmask 255.255.255.0 
 
auto dummy0
iface dummy0 inet static
 address 10.0.0.100
 netmask 255.255.255.0
 
再在xend-config.sxp中声明此虚拟网卡
Java代码 
(network-script 'network-bridge netdev=dummy0') 
 
(network-script 'network-bridge netdev=dummy0')
 
补充前面一点,修改默认虚拟网桥的名字
Java代码 
(network-script 'network-bridge bridge=br0test') 
 
(network-script 'network-bridge bridge=br0test')
 
如果要创建N多个虚拟网桥,可以在script文件夹中创建一个custom-network-bridge脚本
Java代码 
(network-script custom-network-bridge) 
 
(network-script custom-network-bridge)
脚本中可以写上调用network-bridge脚本的命令,这里不详写了,以后研究
 
虚拟机配置
修改虚拟机配置文件xen-test0.cfg
Java代码 
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' ] 
 
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之上,如果宿主没有这个网桥的话,则无法启动虚拟机。
第二行同理,不过并不自动加入虚拟机,需要通过在宿主主机中
Java代码 
brctl addif eth0 vif1.1 
 
brctl addif eth0 vif1.1
把这块网卡桥接到eth0之后才能用桥接方式到因特网
 
ifup启动虚拟机网卡,确认与宿主主机的网络是否连接
 
注:若无法ping通dummy0,请确认dummy0与网桥br0test是否均设置了ip且一致(至于网桥为什么要ip,我现在还暂不清楚)
 
若有错误,敬请指正


摘自 MWI的博客

相关内容

    暂无相关文章