我在 Ubuntu 12.10 中使用了 lxc-start-ephemeral 实用程序。我注意到临时容器启动得非常快,但是在 ifconfig 显示其 eth0 接口的 IP 地址之前需要很长时间(约 20 秒)。我想尽可能地减少这种延迟。
根据这篇文章,延迟是由于 dhcp。我按照帖子中的建议编写了一个脚本,将容器的 /etc/network/interfaces 文件修改为如下所示:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.3.$LXC_ADDRESS
netmask 255.255.255.0
现在,容器的 IP 地址马上就准备好了,并且ssh ubuntu@10.0.3.$LXC_ADDRESS
工作正常。但是,容器无法连接到 Internet,例如ping www.google.com
无法工作。
我需要做哪些额外的配置来纠正这个问题?
如果有帮助,这是来自 ifconfig 的容器当前 eth0 接口(带有LXC_ADDRESS=131
):
eth0 Link encap:Ethernet HWaddr 00:16:3e:ed:ec:50
inet addr:10.0.3.131 Bcast:10.0.3.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:feed:ec50/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42 errors:0 dropped:0 overruns:0 frame:0
TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6363 (6.3 KB) TX bytes:5035 (5.0 KB)
这是主机上似乎对应于容器的 veth 接口:
vethdzOk4n Link encap:Ethernet HWaddr fe:dd:37:41:f2:06
inet6 addr: fe80::fcdd:37ff:fe41:f206/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:54 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8179 (8.1 KB) TX bytes:8067 (8.0 KB)