Ich habe einen LXC-Container, der einwandfrei funktioniert, aber bei einem zweiten treten derzeit Probleme auf.
Ich habe eine statische Route dafür konfiguriert, aber es wird einfach kein Gateway nach sudo services networking restart
oder nach einem reboot now
, oder definiert lxc-restart ...
, dasselbe gilt für die DNS-Server. Es wird nur die IP festgelegt (die in der Konfigurationsdatei des LXC-Containers definiert ist).
Es kann das Standard-Gateway (10.1.0.1) problemlos anpingen, legt aber weder die Standard-Gateway-Route noch die Nameserver fest.
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.
Notiz:Auf dem anderen LXC-Container, der funktioniert, ist dieser Befehl erfolgreich.
Ich füge diese Anmerkung hinzu:
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
Ich denke, die Frage sollte eigentlich lauten: „Warum wird eth0 nicht konfiguriert, wenn ich neu starte oder ausführe 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)
Antwort1
Ich arbeite jetzt schon seit einiger Zeit an diesem Problem. Ich verwende 12.04 LXC 0.7.5 auf dem Host und eine Mischung aus 12.04 und 11.04 in den Containern.
Beim Bearbeiten hatte ich keinen Erfolg: /run/networking/ifstate
da es nach dem Neustart eines Containers nicht bestehen zu bleiben scheint.
Ich habe das Problem gelöst, indem ich die folgende Zeile der Containerdatei auskommentiert habe config
:
lxc.network.ipv4 = 10.1.3.10/16
Eine andere Lösung, die bei mir funktioniert hat, war die Installation von LXC 8.0 über Backports. Sie müssen zuerst Backports in aktivieren /etc/apt/sources.list
.
sudo apt-get install -t precise-backports lxc
LXC 8.0 ermöglicht config
die Konfiguration des Standard-Gateways über die Containerdatei.
lxc.network.ipv4.gateway = 10.1.0.1
Antwort2
Basierend auf anderen Untersuchungen habe ich herausgefunden, dass das Hinzufügen von:
eth0=eth0
Zu:
/run/networking/ifstate
das Problem wurde behoben. Ich konnte es dann herunter- und wieder hochfahren und die Konfiguration verlief wie erwartet.