xen的虚拟桥接网络配置
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:33 点击:次
接本博客的上篇博文: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的博客
本文讲如何在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的博客
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>