LXC 容器网络/路由问题

LXC 容器网络/路由问题

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

我正在使用 veth 桥接网络,按照此处的说明:http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/(我用来设置 LXC 容器的指南)

当我启动容器时,它运行良好,可以访问互联网并接受到其自身 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

我按照同样的说明制作了许多挤压/喘息容器(http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/

我唯一不同的做法是使用虚拟网桥。(我认为问题在于你有一个网卡桥,而不是虚拟设备桥)

在您的 /etc/network/interfaces 中添加类似这样的内容(使用您自己的数字):

#VLAN 5
auto eth0.5
iface eth0.5 inet manual
  vlan_raw_device eth0

auto vzbr5
iface vzbr5 inet static
  address 10.11.15.1
  netmask 255.255.255.0
  network 10.11.15.0
  broadcast 10.11.15.255
  bridge_maxwait 0
  bridge_ports none
  post-up /usr/sbin/brctl addif vzbr5 eth0.5
  post-up /sbin/ifconfig eth0.5 up

然后

sudo ifup vzbr5

之后使用 vzbr5 作为网络设备。

请参阅完整指令

答案2

您希望将静态地址放在容器的 /etc/network/interfaces 或配置文件中,但不能同时放在两者中。我个人更喜欢在 /etc/network/interfaces 中设置它。

您也可以删除配置文件,因为配置文件负责处理网关:

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

为什么选择allow-hotplug eth0主机?这通常不需要。另外,请仔细检查网关地址和网关上的任何防火墙设置。

答案3

似乎您重新插入了适配器......

您在专用服务器上有与网桥相连的适配器吗?我很好奇,如果您启动第二个容器会发生什么?

我可能更愿意看一些管理虚拟网络的方法,而不是使用 dev 和 eth0 等单词进行路由,特别是如果您也同意使用 NAT 解决方案的话。您参加过 livbvirt 吗?

相关内容