
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 eth1
revela 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/interfaces
esses 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.