Se eu usar o Virtualbox para girar uma VM, posso selecionar "em ponte" como o tipo de adaptador de rede e isso faz com que a NIC guest / virtual seja conectada à minha LAN física e, portanto, obtenha um IP de LAN do meu roteador DHCP).
Eu quero alcançar essa mesma funcionalidade, mas em vez de usar o Virtualbox, quero usar os contêineres lxc / lxd.
Como posso conseguir isso?
Editar 1
Estou executando o Ubuntu e tentei seguir este guia:
link
... mas isso não ajuda. A interface do host original deve ter um IP depois? Porque isso não acontece quando tento a ponte manual.
Editar 2
Se isso ajudar, meu host lxd / lxc é uma máquina virtual do Virtualbox que executa o Ubuntu, configurada com rede em ponte para minha NIC Ethernet física.
Editar 3
Se eu usar o tcpdump para monitorar o tráfego icmp na interface da bridge, a interface física / host e a interface contêiner / virtual, somente o contêiner / virtual não receberá tráfego. Os outros dois fazem.
Editar 4
De acordo com este guia:
link
Não tenho problemas com a configuração da minha ponte.
No entanto, como mencionado em "Editar 3", a interface do contêiner não está recebendo tráfego. Precisa descobrir por que, mas não sei como ...
Tenho a sensação de que tem algo a ver com rotas.
O container não tem rotas, enquanto o host faz.
Editar 5
Usar o tcpdump para monitorar o tráfego arp, mostra que o tráfego arp está realmente chegando ao container / interface virtual.
Então é apenas o tráfego icmp que não é.
Editar 6
Se eu definir um IP estático no contêiner (via / etc / network / intefaces *), isso me permite executar ping no contêiner do host (que é uma máquina Virtualbox).
Se eu alterar a configuração de rede no Virtualbox para permitir tráfego promíscuo, posso executar ping no contêiner da minha máquina física (o host da máquina Virtualbox).
No entanto, daqui, ainda não consigo pingar além da minha LAN física, de dentro do contêiner.
O último passo, se adicionar manualmente uma rota "predefinida" no contentor da seguinte forma:
route add default gw 192.168.0.1 eth0
que permite fazer ping fora da LAN física de dentro do contêiner.
Portanto, a menos que outra pessoa possa oferecer uma explicação (esperarei antes de postar uma resposta), acredito que a falta de suporte DHCP ao contêiner (via bridging) tenha algo a ver com o fato de o lxc / lxd estar usando netmasq para lidar com DHCP (e DNS).