正常に動作する LXC コンテナが 1 つありますが、2 つ目が動作不良を起こしています。
静的ルートを設定しましたが、 、 、sudo services networking restart
の後にゲートウェイが定義されません。DNS サーバーについても同様です。IP のみが設定されます (LXC コンテナーの設定ファイルで定義されます)。reboot now
lxc-restart ...
デフォルト ゲートウェイ (10.1.0.1) に ping することはできますが、デフォルト ゲートウェイ ルートまたはネーム サーバーが設定されません。
davidparks21@WebApp:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.1.3.10
netmask 255.255.0.0
broadcast 10.1.255.255
gateway 10.1.0.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
davidparks21@WebApp:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.1.0.0 * 255.255.0.0 U 0 0 0 eth0
lxc.network.type=veth
lxc.network.name=eth0
lxc.network.link=br0
lxc.network.ipv4 = 10.1.3.10/16
lxc.network.flags=up
lxc.rootfs = /var/lib/lxc/WebApp/rootfs
lxc.utsname = prodweb1
root@WebApp:/var/log# ifdown eth0 && ifup eth0
ifdown: interface eth0 not configured
RTNETLINK answers: File exists
Failed to bring up eth0.
注記:動作する他の LXC コンテナでは、このコマンドは成功します。
このメモを追加します:
root@WebApp:/var/log# ethtool eth0
Settings for eth0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Link detected: yes
本当の質問は、「なぜ再起動したり実行したりしてもeth0が設定されないのかservice networking restart
」だと思います。
root@WebApp:/var/log# ls /run/network/
ifstate ifup.lo
root@WebApp:/var/log# ifconfig
eth0 Link encap:Ethernet HWaddr ee:1d:b6:c7:8d:3d
inet addr:10.1.3.10 Bcast:10.1.255.255 Mask:255.255.0.0
inet6 addr: fe80::ec1d:b6ff:fec7:8d3d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:196 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:70482 (70.4 KB) TX bytes:1174 (1.1 KB)
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:16436 Metric:1
RX packets:48 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3840 (3.8 KB) TX bytes:3840 (3.8 KB)
答え1
私はしばらくこの問題に取り組んできました。ホストでは 12.04 LXC 0.7.5 を実行しており、コンテナーでは 12.04 と 11.04 を混在させて実行しています。
編集はまったく成功しませんでした。/run/networking/ifstate
コンテナを再起動した後は編集が維持されないようです。
コンテナconfig
ファイルの次の行をコメント アウトすることで問題を解決しました。
lxc.network.ipv4 = 10.1.3.10/16
私にとってうまくいったもう一つの解決策は、バックポート経由で LXC 8.0 をインストールすることでした。まず、 でバックポートを有効にする必要があります/etc/apt/sources.list
。
sudo apt-get install -t precise-backports lxc
LXC 8.0 では、コンテナconfig
ファイルを使用してデフォルト ゲートウェイを構成できます。
lxc.network.ipv4.gateway = 10.1.0.1
答え2
他の調査に基づいて、次の点を追加するとよいことがわかりました。
eth0=eth0
に:
/run/networking/ifstate
問題は修正され、その後再起動すると期待どおりに構成されました。