O Amazon EC2 / VPC LXC Bridge não está funcionando

2

Em uma instância do AWS EC2, gosto de hospedar contêineres LXC como um tipo de servidor virtual. Eu criei uma bridge (br0) contendo apenas eth0 e dei a ela o ip privado da minha sub-rede de VPCs. Eu reconfigurei o LXC para não usar lxcbr0 como bridge, mas meu dispositivo br0.

Quando adiciono um novo contêiner e atribuo a ele um endereço IP de minha sub-rede de VPCs, posso alcançar o contêiner do host lxc. Eu também posso alcançar o host lxc de dentro do contêiner. Mas todos os outros endereços não podem ser alcançados, embora na mesma sub-rede.

Configuração de ponte :

auto br0
iface br0 inet static

bridge_ports eth0
bridge_fd 2
bridge_stp off

address 10.8.0.11
netmask 255.255.255.0
network 10.8.0.0
broadcast 10.8.0.255
gateway 10.8.0.1
dns-nameservers 8.8.8.8 8.8.4.4

O VPC NIC foi definido como "Desativar verificação de origem / destino"

ip_forwarding está definido como 1

não existem regras de iptables

eth0 está configurado para o modo promíscuo (ip link set eth0 promisc on)

Os contêineres lxc estão sendo associados corretamente à minha ponte

Em um ambiente somente de hardware, bem como em um ambiente VirtualBox, essa configuração funcionou. No entanto, na AWS isso não acontece.

    
por devnull 10.10.2016 / 19:06

2 respostas

1

A ponte não funciona, a VPC não é uma rede da camada 2 e todos os ips precisam ser atribuídos por meio da API ec2. Sua melhor aposta é usar uma sub-rede totalmente separada (não conflitante) e ter o tráfego da rota do host para os contêineres lxc. Em seguida, atualize as tabelas de rotas VPC com uma rota estática para essa sub-rede através da NIC das instâncias ec2. É assim que o openVPN funciona.

    
por 11.10.2016 / 09:50
1

De acordo com a resposta da Nath, coloquei os contêineres LXC em sua própria rede e direcionei o tráfego entre as redes. Agora funciona!

    
por 11.10.2016 / 15:35