Como configurar corretamente vários endereços IP apontando para uma instância no EC2?

Como configurar corretamente vários endereços IP apontando para uma instância no EC2?

Atualmente tenho uma instância ec2 para a qual gostaria de ter 2 IPs públicos apontando. Eu tenho 2 EIPs alocados, 2 interfaces de rede às quais os EIPs estão conectados e que estão anexados à única instância do EC2 executando o Ubuntu 14.04.2 LTS. O segundo EIP e a interface de rede foram adicionados recentemente, e de fato aparece um eth1, embora atualmente eu precise executar manualmente dhclient, mas esse não é o problema. O problema é que nenhum pacote passa. Verifiquei três vezes meus grupos de segurança, todos eles permitem a porta 80 de qualquer endereço IP. No entanto, adicionar uma regra de contador de bytes ao iptables, como iptables -A INPUT -i eth1revela que exatamente 0 pacotes estão chegando à minha máquina através da segunda interface.

Eu encontrei e liessemas isso não ajuda.

o que estou perdendo? Existe algum botão que esqueci de clicar?

Responder1

Eu tenho uma instância ec2 funcionando corretamente com 2 endereços IP privados e 2 EIP conectados a eles, mas usei uma subinterface para o segundo IP, não outra interface de rede

Conteúdo de /etc/network/interfaces (debian wheezy)

auto lo
iface lo inet loopback
auto eth0 eth0:0
iface eth0 inet dhcp
post-up ifconfig eth0:0 172.31.xx.yy netmask 255.255.240.0 up

não me lembro por que atribuí um endereço IP a eth0:0 manualmente, mas esta configuração funciona. Também testa com

curl --interface PRIVATE_IP ifconfig.me

mostra que o tráfego de saída de eth0 e eth0:0 é realmente iniciado a partir do EIP correto.

Responder2

Mais de um ano depois, finalmente descobri! Graças aEste artigo. Resumindo:

Se ainda não o fez, execute dhclient na nova interface:

# dhclient eth1

Em seguida, descubra qual é o seu novo endereço IP privado. Você pode procurar no console do EC2 ou executar

ip addr

Você também precisa saber o IP do gateway. Na maioria dos casos é your.ip.0.1, mas só para ter certeza, execute:

ip route

E você deverá ver algo como:

default via 12.34.0.1 dev eth0

12.34.0.1é a porta de entrada neste caso. Para demonstração, vou assumir que o IP privado é 12.34.56.78. Agora execute (como root):

ip rule add from 12.34.56.78 table 1000
ip route add default via 12.34.0.1 dev eth1 table 1000
ip route flush cache

Para testar sua configuração:

curl --interface 12.34.56.78 ifconfig.me

Então, para tornar suas alterações permanentes, adicione /etc/network/interfacesesses comandos e seus opostos:

auto eth1
iface eth1 inet dhcp
  up ip rule add from 12.34.56.78 table 1000
  up ip route add default via 12.34.0.1 dev eth1 table 1000
  down ip rule del from 12.34.56.78 table 1000
  down ip route del default via 12.34.0.1 dev eth1 table 1000

NOTA: Certifique-se de ter um snapshot da sua instância antes de alterar as configurações de rede persistentes, caso algo quebre e você não consiga acessar sua instância.

informação relacionada