我正在尝试在具有 2 个 NIC 的服务器上的 Debian Lenny 上安装 Xen 3.2,一个连接到专用 LAN,另一个连接到 Internet。该服务器已经在非 Xen 状态下运行了一段时间,一切正常。然而,对于 Xen,网络并没有正常运行。我很难弄清楚配置它的正确方法,因为在 Xen 站点/wiki、邮件列表甚至这里都有很多相互矛盾的建议。
以下是基础知识:eth0 是专用网络,eth1 是公共 Internet。最终,我希望 dom0(以及所有 domU)能够访问这两个接口。当前有一个 iptables 脚本(来自 Xen 之前的使用),它为专用网络上的其他客户端计算机设置防火墙和端口转发。因此,甚至在我担心安装 domU 之前,我就已经在尝试让桥接工作,因为我知道那是我需要的地方。
Xen Networking wiki和Debian Xen wiki都指向我使用 Xen的桥接脚本,但是当我这样做时,eth1 不会在启动时自动出现,因此 dom0 无法访问公共网络。当我sudo ifup eth1
手动时它会很好。请注意,我什至不担心 domU,而且我很清楚开箱即用的 Xen 桥接不会为 eth1 <-> domU 做任何事情。
此 ServerFault 问题建议不要使用 Xen 桥接脚本。我试过这个配置,dom0 无法访问私有或公共网络。
这个邮件列表线程说 Debian bridge-utils 包应该做我需要的一切,但这似乎暗示如果我希望我的 dom0 在公共网络上,我必须为真正的 eth1 以及桥。那么在这种情况下我需要烧掉两个公共地址吗?
/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 24.123.138.34
netmask 255.255.255.248
network 24.123.138.32
broadcast 24.123.138.39
gateway 24.123.138.33
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
dns-search lightyearsoftware.com
auto eth1:0
iface eth1:0 inet static
address 24.123.138.36
netmask 255.255.255.248
network 24.123.138.32
broadcast 24.123.138.39
gateway 24.123.138.33
# Internal network
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
# mtu 9000 # memory alloc failures with 2.6.26-2 e1000 driver
#auto br-eth0 br-eth1
#iface br-eth0 inet manual
# bridge_ports eth0
#iface br-eth1 inet manual
# bridge_ports eth1
/etc/xen/xend-config.sxp
(network-script network-dummy)
当文件的最后 4 行interfaces
未注释时使用,(network-script network-bridge)
否则。
我非常乐意提供任何其他可以提供帮助的诊断信息。
“Xen Networking wiki 和 Debian Xen wiki 都指向我使用 Xen 的桥接脚本”
wiki 的问题是任何白痴都可以编辑它们——而且他们通常会这样做。Debian Xen wiki 页面是错误的,非常非常错误;我什至不忍心去看 Xen 网络 wiki。
README.Debian
曾经在for包中有有用的网络文档xen-utils
,但它们似乎在某个阶段已经消失了。我在 Debian 中没有配置 IP 的情况下启动网络接口中的答案,对于 XEN dom0可能对您不起作用,因为它解决了一个非常不同的问题。您可能应该重新阅读该问题以发现差异。
那个邮件列表线程充满了胡言乱语(以及 Nabble 惯用的脑融化愚蠢的格式),所以我不会尝试找出你需要在接口和网桥上放置 IP 地址的确切位置,但我可以向您保证,您不需要这样做——只需网桥上的 IP 地址就足够了。
修复网络配置的简单方法可能是:
(network-script network-dummy)
然后chattr +i /etc/xen/xend-config.sxp
(阻止你再尝试摆弄它)br-*
您当前拥有的节gateway
从eth0:1
节中删除行/allow_hotplug/d
s/eth0/br0/; s/eth1/br1/
bridge_ports eth0
到您现在的br0
配置中bridge_ports eth1
到您现在的br1
配置中/etc/init.d/networking restart