Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1856713
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2011-05-30 02:10:59

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里面 的一个客户域

阅读(634) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~