LXC容器网络/路由问题

LXC容器网络/路由问题

我一直在尝试 LXC 虚拟化,以便在专用服务器上运行虚拟机,但在正确设置网络时遇到问题。

我正在使用 veth 桥接网络,如下所示:http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/(我用来设置 LXC 容器的指南)

当我启动容器时,它运行良好,可以访问 Internet 并接受对其自己 IP 的传入连接。但是,一旦我启动它,我的主机箱(专用服务器)上的网络就会完全关闭,并且直到服务器重新启动后才会恢复。

我能想到的唯一可能导致此问题的原因是桥接设置配置不正确,但是我完全不确定正确的设置应该是什么。关于如何重新配置​​这个有什么建议吗?谢谢。

主机节点和容器本身都运行 Debian Squeeze,软件包已升级到最新版本。

主机节点(专用服务器)网络配置(/etc/network/interfaces):

allow-hotplug eth0
auto br0
iface br0 inet static
    bridge_ports eth0
    bridge_fd 0
    bridge_stp off
    bridge_maxwait 0 
    address 46.105.102.29
    netmask 255.255.255.0
    network 46.105.102.0
    broadcast 46.105.102.255
    gateway 46.105.102.254

LXC容器网络配置(/etc/network/interfaces):

auto eth0
iface eth0 inet static
    address 94.23.153.205
    netmask 255.255.255.0
    broadcast 94.23.153.205
    post-up route add 46.105.102.254 dev eth0
    post-up route add default gw 46.105.102.254
    post-down route del 46.105.102.254 dev eth0

容器网络配置(来自LXC配置文件):

lxc.utsname = paradox
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 02:00:00:ba:47:a0
lxc.network.ipv4 = 94.23.153.205

答案1

警告:我对 LXC 不太熟悉。无论如何,我有一些可能有用的观察结果,因为我在 Debian 网络、网桥和虚拟机(特别是 qemu-kvm)方面拥有丰富的经验。

首先,指南明确指出您需要注释掉eth0主机interfaces文件中的配置,但您已经allow-hotplug eth0在其中了。将该行注释掉。

其次,在创建涉及此类物理接口的桥接设置时,我喜欢向文件添加行interfaces以显式保持物理接口未初始化。在这种情况下,eth0要添加到桥中,所以我会这样:

iface eth0 inet manual

最后,这是一个小的在同一个网桥上有不同的子网很奇怪。虽然它应该工作中,LXC 仍在大力开发中,因此即使是稍微非常规的网络设置也可能会暴露错误。尝试将您的虚拟机与主机 ( 46.105.102.0/24) 放在同一子网中,这样您就不需要显式地破坏虚拟机中的路由。

相关内容