Estou tentando configurar vários contêineres LXC em um host, cada um com seus próprios IPs estáticos públicos.
Meu host está executando o Ubuntu mais recente. Ele tem uma única interface de rede chamada eth0. Os IPs estáticos são pingáveis da Internet e são nomeados eth0: 210, eth0: 211 ... Os números após os dois pontos são o byte menos significativo dos endereços. Além dessas interfaces, tenho a configuração br0 no IP público do host. Existem também as interfaces lo, veth2LPP9A e lxcbr0. O lxcbr0 tem o endereço de um IP privado.
O host / etc / network / interfaces se parece com:
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
Até agora, eu usei várias fontes online, incluindo Bridging LXC containers para hospedar eth0, para que eles possam ter um IP público para me ajudar a configurar isso.
O arquivo de configuração do contêiner possui:
lxc.network.type = veth
lxc.network.link = br0
Eu removi a configuração estática do lxc.network.ipv4 deste arquivo, pois causava problemas. Quando executei lxc-ls --fancy com essa configuração, veria o mesmo IP público duas vezes na saída. Além disso, interferiria na configuração de sub-rede das interfaces / etc / network / do contêiner.
Falando no arquivo de interfaces do contêiner, ele se parece um pouco com:
auto eth0
iface eth0 inet static
address [...]
netmask 255.255.255.255
#gateway [...]
dns-nameservers 8.8.8.8
post-up route add [...] dev eth0
post-up route add default gw [...]
post-down route del [...] dev eth0
post-down route del default gw [...]
Eu tive que comentar o gateway e adicionar os comandos route add neste arquivo. Caso contrário, o contêiner levaria alguns minutos para inicializar.
Os arquivos / proc / sys / net / bridge / bridge-nf- * no host estão todos definidos como 0. O valor / proc / sys / net / ipv4 / ip_forward é 1.
O problema é que, embora a "rota-n" do contêiner pareça como deveria, não consigo executar ping no contêiner. SSHing para o que deveria ser o IP do contêiner, me conecta ao host.
EDIT: Remover o IP estático do contêiner do host ajudou, mas agora estou recebendo um novo erro. Tentar executar ping no contêiner do host resulta em Redirect HostFrom, New nexthop. Os pacotes estão apenas indo do gateway para o host, repetidamente. A execução de um traceroute a partir do host mostra que a primeira parada está no gateway. Todas as outras rotas são * * *. Eu recebo o mesmo problema, independentemente de o contêiner estar online ou não.