Eu tenho um contêiner LXC que funciona bem, mas um segundo agora está se comportando mal.
Eu configurei uma rota estática para ele, mas ela simplesmente não definirá um gateway depois sudo services networking restart
ou depois de um reboot now
, ou lxc-restart ...
, mesmo para os servidores DNS. Apenas o IP é definido (que é definido no arquivo de configuração dos contêineres LXC).
Ele pode executar ping no gateway padrão (10.1.0.1) perfeitamente, mas simplesmente não define a rota do gateway padrão ou os servidores de nomes.
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.
Observação:No outro contêiner LXC que funciona, este comando é bem-sucedido.
Adicionando 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
Acho que a pergunta deveria ser: "por que a eth0 não está sendo configurada quando eu reinicio ou executo 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)
Responder1
Estou trabalhando nesse assunto há algum tempo. Estou executando o 12.04 LXC 0.7.5 no host e uma mistura de 12.04 e 11.04 nos contêineres.
Não tive sucesso com a edição: /run/networking/ifstate
pois parece não persistir depois que um contêiner é reiniciado.
Resolvi o problema comentando a seguinte linha do config
arquivo containers:
lxc.network.ipv4 = 10.1.3.10/16
Outra solução que funcionou para mim foi instalar o LXC 8.0 via backports. Primeiro você precisará habilitar backports no /etc/apt/sources.list
.
sudo apt-get install -t precise-backports lxc
O LXC 8.0 permite que o config
arquivo contêiner configure o gateway padrão.
lxc.network.ipv4.gateway = 10.1.0.1
Responder2
Com base em algumas outras pesquisas, descobri que adicionar:
eth0=eth0
para:
/run/networking/ifstate
corrigi o problema, consegui desligá-lo e ativá-lo e ele configurou as coisas conforme o esperado.