Tengo un contenedor LXC que funciona bien, pero ahora hay un segundo que no se comporta correctamente.
He configurado una ruta estática para ello, pero simplemente no definirá una puerta de enlace después sudo services networking restart
o después de reboot now
, o lxc-restart ...
, lo mismo para los servidores DNS. Solo se configura la IP (que se define en el archivo de configuración de los contenedores LXC).
Puede hacer ping a la puerta de enlace predeterminada (10.1.0.1) sin problemas, pero simplemente no configura la ruta de la puerta de enlace predeterminada ni los servidores de nombres.
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.
Nota:En el otro contenedor LXC que funciona, este comando tiene éxito.
Añadiendo esta nota:
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
Creo que la pregunta realmente debería ser "¿por qué no se configura eth0 cuando reinicio o ejecuto? 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)
Respuesta1
He estado trabajando en este tema por un tiempo. Estoy ejecutando 12.04 LXC 0.7.5 en el host y una combinación de 12.04 y 11.04 en los contenedores.
No tuve éxito con la edición: /run/networking/ifstate
ya que parece no persistir después de reiniciar un contenedor.
Resolví el problema comentando la siguiente línea del config
archivo de contenedores:
lxc.network.ipv4 = 10.1.3.10/16
Otra solución que funcionó para mí fue instalar LXC 8.0 mediante backports. Primero deberá habilitar los backports en /etc/apt/sources.list
.
sudo apt-get install -t precise-backports lxc
LXC 8.0 permite que el config
archivo de contenedores configure la puerta de enlace predeterminada.
lxc.network.ipv4.gateway = 10.1.0.1
Respuesta2
Basado en alguna otra investigación, descubrí que agregar:
eth0=eth0
a:
/run/networking/ifstate
solucionó el problema, luego pude bajarlo y subirlo y configuró las cosas como se esperaba.