J'ai un conteneur LXC qui fonctionne très bien, mais un second se comporte mal.
J'ai configuré un itinéraire statique pour cela, mais il ne définit pas de passerelle après Sudo services networking restart
ou après un reboot now
, ou lxc-restart ...
, identique pour les serveurs DNS. Seule l'adresse IP est définie (définie dans le fichier de configuration des conteneurs LXC).
Il peut envoyer un ping à la passerelle par défaut (10.1.0.1), mais ne définit pas la route de passerelle par défaut ni les serveurs de noms.
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.
Remarque: Sur l'autre conteneur LXC qui fonctionne, cette commande aboutit.
Ajout de cette note:
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
Je pense que la question devrait vraiment être, "pourquoi eth0 n'est-il pas configuré lorsque je redémarre ou que je lance 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)
Je travaille sur cette question depuis un moment maintenant. Je cours 12.04 LXC 0.7.5 sur l'hôte et un mélange de 12.04 et 11.04 dans les conteneurs.
J'ai eu zéro succès avec l'édition: /run/networking/ifstate
car il semble ne pas persister après le redémarrage d'un conteneur.
J'ai résolu le problème en commentant la ligne suivante du fichier de conteneurs config
:
lxc.network.ipv4 = 10.1.3.10/16
Une autre solution qui a fonctionné pour moi a été d'installer LXC 8.0 via des backports. Vous devez d’abord activer les backports dans /etc/apt/sources.list
.
Sudo apt-get install -t precise-backports lxc
LXC 8.0 permet au fichier de conteneurs config
de configurer la passerelle par défaut.
lxc.network.ipv4.gateway = 10.1.0.1
Sur la base d’autres recherches, j’ai découvert que l’ajout:
eth0=eth0
à:
/run/networking/ifstate
résolu le problème, je pouvais ensuite le baisser et le configurer et configurer les choses comme prévu.