Xen network Linux

本文介绍了Xen虚拟化环境中三种不同的网络配置方法:桥接网络、路由网络及包含NAT的虚拟局域网。通过具体步骤展示了如何配置这些网络模型,并解释了每一步的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Xen网络

 

* 桥接网络

 

* 路由网络

 

* 包含NAT的虚拟局域网

 

桥接网络

 

Time for Action—Using Bridged Networking

 

1、xen里面缺省的网络设置是桥接,这可以通过查看Xen在配置文件(/etc/xen/xend-config.sxp)来进一步确认,它应该有非注释的下面两行

 

(network-script network-bridge)

 

(vif-script vif-bridge)

 

2、为domU创建一个新的配置文件,你可以使用在之前章节创建的任何一个镜像或你自己拥有的其他镜像根据你选择的镜像替换文件中的配置:

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;bridged_domU%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'bridge=xenbr0' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

3、用xm启动domU

 

xm create /root/xenimages/ttylinux_domU.cfg –c

 

4、检查以确定domU已启动并正常运行

 

xm list

 

下面是启动Xen服务和xend时发生的事件队列:

 

1、执行/etc/xen/scripts/network-bridge脚本

 

2、这将创建一个叫xenbr0的新网桥

 

3、从物理网卡eth0复制MAC和IP地址

 

4、停止物理网卡eth0

 

5、创建一对新的已连接的虚拟网络接口--veth0和vif0.0

 

6、将之前复制的 MAC和IP地址指派到veth0

 

7、重命名物理网卡eth0为peth0

 

8、重命名虚拟网卡veth0为eth0

 

9、连接peth0和vif0.0到xenbr0

 

10、启动网桥xenbr0和网卡peth0、eth0、vif0.0

 

使用brctl show命令可以查看连接到各个网桥上的网络接口情况

 

路由网络

 

Time for Action—Using Routed Networking

 

1、因为我们需要修改xend的配置文件,所以我们首先要停止xend

 

service xend stop

 

2、修改xen配置文件/etc/xen/xend-config.sxp使我们能够使用路由网络注释关联桥接网络的两行并取消注释关联路由网络的两行如果在配置文件中没发现配置路由网络的行,那么加上他们:

 

(network-script network-route)

 

(vif-script vif-route)

 

3、重新启动xend让它用新的配置起动

 

xend start

 

4、修改我们之前使用的 domU的配置文件使它能使用路由网络

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;routed_domU%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.1.165' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

5、起动domU

 

xm create /root/xen-images/ttylinux_domU.cfg -c

 

6、检查domU已经起动并正常运行

 

xm list

 

下面是 xend用路由网络配置起动的事件队列

 

1、允许dom0进行IP转发

 

2、当domU起动的时候,xen从eth0复制IP地址到虚拟网络接口vif.0虚拟接口的 ID是自动分配给xen起动的每个客户域的 被分配的 id在单个会话里面永远不会被重用,因此如果你停止并重启一个域,它将重新分配到一个新的 ID

 

3、启动虚拟接口vif.0

 

4、为domU的配置文件中指向虚拟接口vif.0分配的 IP地址增加静态路由

 

 

Virtual Local Network with Network Address Translation

 

Time for Action—Using VLAN with NAT

 

我们将在 192.168.2.0上创建一个虚拟网络并且此网络保护一个web服务器和一个数据库,所有在此网络的虚拟机的 IP地址都将在此范围内我们将在此网络创建两个虚拟机并从一个公网IP地址去访问他们端口将被dom0转发到各个虚拟机上

 

1、第一个网络接口被dom0使用了,我们需要创建一个新的网络接口用于我们的 VLAN这个接口使用dummy网络去掉创建并命名为dummy0创建一个新的名为/etc/sysconfig/network-scripts/ifcfg-dummy0的文件:

 

A DEVICE=dummy0

 

BOOTPROTO=none

 

ONBOOT=yes

 

USERCTL=no

 

IPV6INIT=no

 

PEERDNS=yes

 

TYPE=Ethernet

 

NETMASK=255.255.255.0

 

IPADDR=x.x.x.x

 

ARP=yes

 

2、分配一个IP地址到这个接口并把它加到网络接口文件-/etc/network/interfaces:

 

auto dummy0

 

iface dummy0 inet static

 

address 192.168.2.1

 

netmask 255.255.255.0

 

3、修改xend配置(/etc/xen/xend-config.sxp)增加下面的行,使我们在新的 dummy网络接口dummy0上监听桥接:

 

(network-script 'network-bridge netdev=dummy0')

 

4、确定IP转发被允许

 

echo %26quot;1%26quot; %26gt; /proc/sys/net/ipv4/ip_forward

 

5、重启sysctl使修改被live kernel获取

 

/sbin/sysctl -p

 

6、在我们的 VLAN上创建第一个虚拟机修改它的配置文件使它看起来像下面这样:

 

# assume this is the webserver vm

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;vlan_domU_1%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.2.2' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

gateway=%26quot;192.168.2.1%26quot;

 

7、在我们的 VLAN上创建第二个虚拟机,修改他的配置文件使它看起来像下面这样:

 

# assume this is the mysql vm

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;vlan_domU_2%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.2.3' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

gateway=%26quot;192.168.2.1%26quot;

 

8、通知dom0必须为特定的端口转发请求到这个VLAN为此我们需要首先在 dom0允许NAT:

 

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE

 

9、现在我们可以配置规则转发端口到正确的虚拟机,首先我们转发80端口:

 

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.2.2:80

 

10、然后转发mysql的端口3306:

 

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.2.3:3306

 

重启xend然后创建虚拟机,现在我们已经有一个简单的网络配置使dom0转发基于端口的请求到VLAN里面的一个客户域

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值