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

Xen network Linux相关推荐

  1. 开放网络操作系统介绍(1)、ONL(Open Network Linux)

    ONL(OpenNetwork Linux)是Big Swtich 的商业交换机NOS--Switch Light OS的开源版本.BigSwitch在2014年将ONL贡献给OCP. 上图浅蓝色部分 ...

  2. linux xen 管理,Linux 中的 XEN 虚拟化技术(四)管理 Xen 虚拟系统

    1.使用 xm命令管理 Xen虚拟机 A.显示运行状态 在命令行下使用"xm list"命令显示 Xen 虚拟系统当前运行的状况 [root@xen ~]# xm list Nam ...

  3. linux xen 管理,Linux Xen管理

    Linux Xen管理: 一.常用命令 xm list                       列出虚拟机列表 xm console vm01      连接进入vm01 xm create vm ...

  4. linux虚拟机 xen,创建LINUX下XEN虚拟机

    mkdir /domU 1.创建虚拟机映像 dd if=/dev/zero of=xen.img bs=1M count=16000 dd if=/dev/zero of=xen2.img bs=1M ...

  5. linux命令network,Linux network config

    网络端口配置 ifconfig 查看命令: [root@localhost ~]# ifconfig eth0        Link encap:Ethernet    HWaddr 00:E0:4 ...

  6. ngnix internal

    表示只能nginx内部转发的请求能使用,包含 •  指令error_page重定向的请求. • ngx_http_ssi_module模块中使用include virtual指令创建的某些子请求. • ...

  7. linux虚拟机 xen,XEN虚拟机在Linux上的安装和使用教程分享

    1.安装xen 代码如下: yum i kernel-xen:可以跑 Xen 的 Linux 核心 xen:主要的 xen 套件,包括配置文件.启动脚本和一些函数库 xen-libs:Xen 所需要的 ...

  8. Xen为什么一定要进入内核 —— [简译] KVM is Linux, Xen is not

    Xen为什么一定要进入内核 这个问题我问了一位名为笑遍世界的博主,这位博主在写一本名为<KVM虚拟化原理与实践>的书,在他的博客上连载了书里面的部分章节,目前我在网上能找到最好的中文资料就 ...

  9. 在qemu vexpress-a15平台运行xen,guest OS Dom0 Linux

    1)编译linux内核 内核下载地址:The Linux Kernel Archives 配置内核: make vexpress_defconfig ARCH=arm CROSS_COMPILE=ar ...

最新文章

  1. php实现无限分类超牛逼,PHP超牛逼无限极分类生成树方法_php技巧
  2. 指导你成为C++编程高手的魔幻之书——写给大家看的C++书
  3. 业界丨一文详解腾讯布局AI生态的四大战略
  4. 【MFC】可调整按钮位置的工具栏
  5. 首发 | 中间件小姐姐直播“带货”——阿里程序员必知的插件
  6. jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全
  7. 第一次Java 8体验
  8. linux dd 重装系统,发现用dd装系统真是简单快捷通用
  9. 为什么单线程的Redis却能支撑高并发? ---------- I/O 多路复用
  10. verilog异步复位jk触发器_同步复位和异步复位常见问题总结
  11. 全球最大电子展2018再度起航,镁客网在香港带你深度探讨人工智能
  12. Android SharedPreferences数据库
  13. radio按钮样式美化和checkbox按钮样式美化
  14. 数据结构——单向循环链表双向循环链表
  15. js删除数组,checkedBox选中状态,javascript数组删除重复项
  16. 面向对象:感受温柔,领略山河,遇见不容易,喜欢望珍惜
  17. 系统集成项目管理工程师(中级)
  18. 【docker】Mac m1 系统使用docker发布镜像
  19. 常见的HTTP状态码以及代表的意义
  20. Ubuntu16.04安装Redshift色温调节工具

热门文章

  1. php计算并输出3 5 7,PHP网络编程[06-函数][07-数据处理][08-PHP文件应用][09-获取主机信息]...
  2. sqli-labs-Basic
  3. 将服务器中的443端口转发到8443端口,并配置Tomcat
  4. (4).NET CORE微服务 Micro-Service ---- Consul服务发现和消费
  5. poj1236+la4287【tarjan算法】
  6. JAVA父类引用指向子类对象
  7. Kafka的应用场景
  8. 【面试】前端路由hash和history的区别
  9. 00003 不思议迷宫.0009.2.3:自动换装:回改到真实环境
  10. Python基础知识整理(含思维导图)