Configurar DHCP para contêineres LXC

Configurar DHCP para contêineres LXC

Tenho vários contêineres lxc que precisam de acesso à rede. No momento, estou alocando manualmente os endereços IP no arquivo de configuração relevante da seguinte forma:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.name = eth0
lxc.network.link = br0 
lxc.network.ipv4 = 192.168.1.6/24                                                              
lxc.network.ipv4.gateway = 192.168.1.1

Isso funciona, mas não é escalonável e pode entrar em conflito com a alocação de DHCP dos meus roteadores. Tento usar meu roteador dhcp deixando de fora as linhas lxc.network.ipv4 (conforme descrito on-line em outro lugar) e o contêiner é iniciado, mas o dhcpcd não relata nenhuma operadora. lxc-ls --fancy também não mostra que meu contêiner tem um endereço IP. A noiva está ativa e lxc.network.link definido no arquivo de configuração.

Como posso usar DHCP com meus contêineres? É possível usar o DHCP dos meus roteadores ou preciso executar um servidor no meu host? Alguns dos meus contêineres precisam ser acessíveis externamente, enquanto alguns só precisam se comunicar com outros contêineres/host.

Estou executando o Arch Linux, a maior parte da ajuda on-line parece específica do Ubuntu.

Responder1

Certifique-se de que netctl e dhcpcd estejam instalados dentro do contêiner (pacman -Q netctl dhcpcd) e execute o seguinte no contêiner:

cat > /etc/netctl/eth0
Connection=ethernet
IP=dhcp
Interface=eth0

Pressione CTRL-D para gravar o arquivo. Em seguida, habilite o perfil executando:

netctl enable eth0

Por fim, reinicie o contêiner e você deverá ter um endereço IP atribuído ao DHCP.

Responder2

cat <<\EOF >> /etc/netctl/eth
Connection=ethernet
IP=dhcp
Interface=eth0
EOF

Achei que essa seria a melhor maneira de criar o arquivo.

informação relacionada