Xen配置仅限主机的适配器

时间:2012-04-20 21:49:21

标签: linux centos virtualization xen

Xen hypervisor有两种网络配置模式,正如我在Virtual Manager中看到的那样。 1 NAT 2路由。两者都要求IP子网。但是,我想配置一个网络,我可以分配任何IP,而不是由Xen的DHCP分配。

我使用oracle Virtual Box有一个选项可以使用Host-only适配器。我希望以这种方式使用Xen。

换句话说,我想与客户机(VM)共享物理网络接口

我在CentOS 6.2 x86_64上使用Xen Hypervisor 3.x

我做了以下工作来解决这个问题。

Disabling Xen's network scripts
If using Xen it is recommended to disable its network munging by editing /etc/xen/xend-config.sxp and changing the line
(network-script network-bridge)

To be

(network-script /bin/true)

Disabling NetworkManager

As of the time of writing (Fedora 12), NetworkManager still does not support bridging, so it is necessary to use "classic" network initscripts for the bridge, and to explicitly mark them as independent from NetworkManager (the "NM_CONTROLLED=no" lines in the scripts below).

If desired, you can also completely disable the NetworkManager:

# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start

Creating network initscripts

In the /etc/sysconfig/network-scripts directory it is neccessary to create 2 config files. The first (ifcfg-eth0) defines your physical network interface, and says that it will be part of a bridge:

# cat > ifcfg-eth0 <<EOF
DEVICE=eth0
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
EOF

Obviously change the HWADDR to match your actual NIC's address. You may also wish to configure the device's MTU here using e.g. MTU=9000.

The second config file (ifcfg-br0) defines the bridge device:

# cat > ifcfg-br0 <<EOF
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
EOF

WARNING: The line TYPE=Bridge is case-sensitive - it must have uppercase 'B' and lower case 'ridge'

After changing this restart networking (or simply reboot)

# service network restart

Visit for more details

1 个答案:

答案 0 :(得分:1)

对于Xen,这只是桥接网络的特例。

您在CentOS Dom0上创建一个虚拟网桥,然后将您的VM连接到该网桥。

来自CentOS文件(http://www.centos.org/docs/5/html/5.2/Virtualization/sect-Virtualization-Virtualized_network_devices-Laptop_network_configuration.html)

创建一个dummy0网络接口并为其分配一个静态IP地址。

在我们的示例中,我选择了10.1.1.1以避免在我们的环境中出现路由问题。要启用虚拟设备支持,请将以下行添加到/etc/modprobe.conf

alias dummy0 dummy
options dummy numdummies=1

为dummy0配置网络编辑/创建/ etc / sysconfig / network-scripts / ifcfg-dummy0:

DEVICE=dummy0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.1.1.1
ARP=yes

然后,您可以将VM连接到dummy0桥接设备

附加参考 http://wiki.xen.org/wiki/HostConfiguration/Networking