Xen 虚拟机的 NAT 网络配置

标签: Cloud | Virtualization | Thin | HPC nat xen | 发表时间:2014-06-24 21:20 | 作者:vpsee
出处:http://www.vpsee.com

我们使用 Xen 虚拟机的时候一般都是用桥接(bridging)的方式把虚拟机(domU)直接暴露在网络上,就像网络上单独的一台服务器一样,这种方式简单好用,不用在 dom0 做任何的端口转发也不用任何 iptable 规则。不过除了 bridging 以外,Xen 还支持 routing 和 NAT 的方式配置虚拟机网络。比如我们想在一台物理服务器上安装5个虚拟机,这5个虚拟机能彼此访问也可以访问外网,但是外网不能直接访问这5个虚拟机,或者我们只有一个公网 IP 地址,但是需要5个虚拟机都能上网,这时候就可以用到 Xen 的 NAT 模式。

首先确认系统的网络配置干净,上面没有复杂的网络设置,也没有以前配置留下来的网络桥接,因为 Xen 自带的脚本 network-nat 不是那么聪明,无法在复杂一点的网络设置里面正确配置。

修改 Xen 的配置文件,确认下面几项配置后重启 xend,必要的话重启系统:

# vi /etc/xen/xend-config.sxp
...
#(network-script network-bridge)
(network-script network-nat)
...
#(vif-script vif-bridge)
#(vif-script     vif-route)
(vif-script     vif-nat)
...

# /etc/init.d/xend restart
Stopping xend daemon:                                      [  OK  ]
Starting xend daemon:                                      [  OK  ]

修改虚拟机 domU 的配置文件,加上或者修改 vif 这行配上对应的内部网 IP 地址,这个内部网 IP 是自己随意设定的:

# vi /etc/xen/domu01
...
vif = [ "ip=10.0.0.1" ]
...

启动虚拟机后修改网络配置,如果虚拟机是 Ubuntu 的话,网络配置在 /etc/network/interfaces,修改后重启:

# vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.0.0.1
gateway 10.0.0.254
netmask 255.255.255.0

# reboot

本来还需要在 dom0 设定内核转发的(echo 1 > /proc/sys/net/ipv4/ip_forward),还记得上面修改 xend-config.sxp 时碰到的脚本 network-nat 吗?是的,那个脚本已经帮我们设置好 NAT 转发了,我们不用再添足了,也不用自己设置 iptable 规则了~

# vi /etc/xen/scripts/network-nat
...
op_start() {
        echo 1 >/proc/sys/net/ipv4/ip_forward
        iptables -t nat -A POSTROUTING -o ${netdev} -j MASQUERADE
        [ "$dhcp" != 'no' ] && dhcp_start
}
...

相关 [xen 虚拟机 nat] 推荐:

Xen 虚拟机的 NAT 网络配置

- - vpsee.com
我们使用 Xen 虚拟机的时候一般都是用桥接(bridging)的方式把虚拟机(domU)直接暴露在网络上,就像网络上单独的一台服务器一样,这种方式简单好用,不用在 dom0 做任何的端口转发也不用任何 iptable 规则. 不过除了 bridging 以外,Xen 还支持 routing 和 NAT 的方式配置虚拟机网络.

Xen 虚拟机架构

- - 博客园_知识库
  Xen 是一个基于开源软件组织的虚拟机监控器(即 Virtual Machine Monitor 简称 VMM),可以允许在单一的物理机器上同时运行多个操作系统实例.   虚拟计算机的概念最早由 IBM 公司在上世纪六七十年代提出,并将其运用于 VM/370 系统中以共享昂贵的大型机系统(Main Frame).

xen 虚拟机安装教程

- - MySQLOPS 数据库与运维自动化技术分享
大家都知道现在市场有很多虚拟机都是基于xen的,本篇文章不讨论xen的原理,我们先讨论下虚拟化的使用场景.. 以及虚拟化虚拟化应用场景限制.. 一.虚拟化适用的场景:. 1.对I/O性能或响应要求不是很高,如云IaaS基础服务等. 2.物理机匮乏,开发测试等. 二.虚拟化应用场景限制:. 1.使用半虚拟或全虚拟化的主机在其运行有高I/o需求的应用程序的情况.

iptables NAT 学习

- - BlogJava-首页技术区
为了搞清楚iptables NAT的过程,做了这个实验. 使用了1台双网卡服务器和1台单网卡服务器,2个网段. 1.       为了看到调度服务器上的数据转发过程,首先在调度服务器上分出内核的debug日志:. l 在/etc/rsyslog.conf最后增加:kern.debug /var/log/iptables.log.

nat穿透原理

- - 开源软件 - ITeye博客
一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基本上没有人会告诉你如何使用TCP协议去穿透(甚至有的人会直接告诉你TCP协议是无法实现穿透的). 但是,众所周知的是,UDP是一个无连接的数据报协议,使用它就必须自己维护收发数据包的完整性,这常常会大大增加程序的复杂度,而且一些程序由于某些原因,必须使用TCP协议,这样就常常令一些开发TCP网络程序的人员“谈穿透色变”.

Xen 的漫漫人生路

- Nowings - 开源小厨
[友情提示] 一不小心,这篇文章写的又臭又长,连我自己都不忍卒观,请您见谅. 在 Linus 明确表示 Linux Kernel 3.0 只是一个版本号的改变,而非里程碑式的飞跃后,许多人对此表达了失望,一个没有重量级功能的新版本似乎配不上这个新的版本号. 不过对有些人来说,其中的一个新功能或许可以担的上这个重任,那就是 Xen 的 block backend driver.

dell T110 安装xen 虚拟化

- - CSDN博客系统运维推荐文章
利用xen安装Windows虚拟机. 由于Windows的引导方式与Linux不同,所以安装过程需要虚拟光驱的支持. 这里介绍利用virt-manager工具安装Windows虚拟机的步骤,这些步骤也可以用于安装Linux虚拟机. 要注意的是,Windows内核无法定制,不支持xen的半虚拟化,因此,必须得到CPU和主板的硬件虚拟化支持,如果所用平台不支持硬件虚拟化,那么安装将失败.

在 CentOS 6.5 上安装和配置 Xen

- - vpsee.com
长假回来工作的第一周有点不适应,还在找状态. 这周把一些老的 Xen 服务器(CentOS 5.2 + Xen 3.1)升级到了 CentOS 6.5 + Xen 4.2,顺便记录一下. 自从 RedHat 在 RHEL 6 放弃 Xen 后, 下载 Xen 源码编译安装似乎是在 RHEL/CentOS 6.x 上安装 Xen 的唯一办法.

虚拟化技术对比:Xen vs KVM

- - 操作系统 - ITeye博客
对服务器的虚拟化不知道使用哪个,可以参考这篇文章,包括世纪互联也是用的xen进行虚拟化. OpenStack与KVM相互辉映. OpenStack几乎支持所有的虚拟化管理程序,不论是开源的(Xen与KVM)还是厂商的(Hyper-V与VMware). 但在以前,OpenStack是基于KVM开发的,KVM常常成为默认的虚拟机管理程序.

[转]iptables防火墙与NAT服务

- - 小鸥的博客
iptables防火墙与NAT服务. (1)设置在不同的网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性. (2)通过审查经过每一个数据包,判断它是否有相匹配的过滤规则,根据规则先后顺序一一进行比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作,若都不能满足,则将数据包丢弃,从而保护网络安全.