我正在运行一个lxc容器,我想连接到两个不同的桥( br0和br1 )。 当我如下所示configuration容器的configuration文件( /var/lib/lxc/testcontainer/config )时,只有第一个接口被分配了一个IP地址:
lxc.network.type = veth lxc.network.link = br0 lxc.network.flags = up lxc.network.hwaddr = 00:16:3e:e6:16:c5 lxc.network.type = veth lxc.network.link = br1 lxc.network.flags = up lxc.network.hwaddr = 00:16:3e:c5:16:c5
这是使用lxc-ls确认的:
NAME STATE AUTOSTART GROUPS IPV4 IPV6 testcontainer RUNNING 1 - 192.168.1.6 -
并从容器内使用ifconfig :
eth0 Link encap:Ethernet HWaddr 00:16:3e:e6:16:c5 inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fee6:16c5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:440 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:48388 (48.3 KB) TX bytes:1576 (1.5 KB) eth1 Link encap:Ethernet HWaddr 00:16:3e:c5:16:c5 inet6 addr: fe80::216:3eff:fec5:16c5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2796 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:521109 (521.1 KB) TX bytes:648 (648.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
在configuration文件中切换networking接口的顺序导致另一个接口(先前未分配)显示IPv4地址。
需要在第二个接口上分配IPv4吗?
看到你的configuration代码段中没有定义静态IP,我假设你使用的是DHCP / dnsmasq。 在这种情况下,您需要启用eth1的networkingconfiguration。 默认情况下,在大多数模板中,只有eth0已经设置了默认的networkingconfiguration脚本。
根据您使用的模板/操作系统,您应该编辑networkingconfiguration文件并添加以下内容:
auto eth1 iface eth1 inet dhcp
(这个例子是针对Debian / Ubuntu的容器)