0

我在 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)
4

1 回答 1

2

你实际上可以(我假设)连接到互联网,你只是没有名称服务,因为你没有运行 dhcp,所以你没有得到 resolv.conf。

就放

名称服务器 10.0.3.1

进入容器中的 /etc/resolv.conf ,(或者只是从你的主机复制 resolv.conf )。

(如果您的容器正在运行 resolvconf,您可能还需要将该行放入容器的 /etc/resolvconf/resolv.conf.d/head 中)

于 2013-03-12T13:51:38.640 回答