Я использую утилиту lxc-start-ephemeral в Ubuntu 12.10. Я заметил, что эфемерный контейнер запускается довольно быстро, но это занимает много времени (~ 20 с), прежде чем ifconfig показывает ip-адрес для своего интерфейса eth0. Я бы хотел уменьшить эту задержку как можно больше.Как запустить эфемерный lxc со статическим IP-адресом таким образом, чтобы он мог подключаться к Интернету?
Согласно this post, задержка связана с dhcp. Я последовал за предложение в посте и написал сценарий, который модифицирует/и т.д./файл контейнера сети/интерфейсы, чтобы выглядеть следующим образом:
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 [email protected]$LXC_ADDRESS
работает отлично. Однако контейнер не может подключиться к Интернету, например, ping www.google.com
не работает.
Какую дополнительную конфигурацию мне нужно сделать, чтобы исправить эту проблему?
В случае помогает, вот текущий интерфейс контейнера eth0 из IFCONFIG (с 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)
От автономного общения с Serge, решением является 'doroute add -host dev eth0', а затем' route add default gw 'в эфемерном контейнере. –