Acabei de começar a trabalhar com o LXC no CentOS 6 (por meio do adaptador libvirt). Se eu criar um contêiner LXC, não será possível ver nenhuma interface de rede ao usar as ferramentas nativas do sistema:
# ifconfig -a
#
O comportamento é muito estranho; Especificar uma interface por nomes não gera nem a saída esperada nem uma mensagem de erro. Isso é verdade mesmo para nomes de interface claramente inválidos, como este:
# ifconfig foo
#
O comando ip
exibe o mesmo comportamento.
Por outro lado, se eu usar o "ifconfig" fornecido pelo busybox , tudo funcionará como esperado:
# busybox ifconfig -a
eth0 Link encap:Ethernet HWaddr 52:54:00:E0:12:C8
inet6 addr: fe80::5054:ff:fee0:12c8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:268 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17814 (17.3 KiB) TX bytes:552 (552.0 B)
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:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Então ... o que o busybox sabe que as ferramentas nativas não sabem? A configuração do libvirt para este ambiente é bastante normal; a definição de rede é assim:
<interface type='network'>
<mac address='52:54:00:e0:12:c8'/>
<source network='default'/>
<target dev='veth0'/>
</interface>
A configuração completa é aqui se você acha que pode ajudar.
Estou correndo:
- lxc-0.7.2-2.el6.x86_64
- kernel-2.6.32-71.29.1.el6.x86_64
EDITAR
Mais estranho e mais estranho ... é um problema de exibição, não um problema de funcionalidade. Eu posso ver a saída de ifconfig
se eu canalizar em qualquer coisa, por exemplo:
# ifconfig eth0 | cat
eth0 Link encap:Ethernet HWaddr 52:54:00:E0:12:C8
inet addr:192.168.10.10 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fee0:12c8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:573 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37914 (37.0 KiB) TX bytes:552 (552.0 b)
E, de fato, mesmo quando não estiver gerando a saída, strace
mostra que ifconfig
está escrevendo a saída para o descritor de arquivo 1 (também conhecido como stdout
), portanto não está claro porque nenhuma saída está realmente aparecendo. Isso pode ser um problema LXC ou virsh
, eu acho.