A sub-rede privada da AWS não é redirecionada para a instância de NAT

1

O AWS não está configurando corretamente o padrão gw, por exemplo, na sub-rede privada.

endereço NAT:

ec2din i-ef7f8a3a|grep PRIVATEIPADDRESS
PRIVATEIPADDRESS    172.16.0.31

Configuração da TABELA DE ROTEIROS:

ec2drtb rtb-7c9f3618
ROUTETABLE  rtb-7c9f3618    vpc-43da3455
ROUTE   local       active  172.16.0.0/16           CreateRouteTable
ROUTE       i-ef7f8a3a  active  0.0.0.0/0   eni-4055320a        CreateRoute
ASSOCIATION rtbassoc-cc1764a8   main
ASSOCIATION rtbassoc-51b7c435   subnet-c92429be'

configuração PRIVATE SUBNET:

ec2dsubnet subnet-c92429be
SUBNET  subnet-c92429be available   vpc-43da3455    172.16.1.0/24   250 us-east-1a  false   false
TAG subnet  subnet-c92429be'

Como vemos, configurei a instância i-ef7f8a3a como NAT e a configurei na tabela de roteamento como padrão gw para todo o tráfego.

Quando eu faço o login na minha máquina, comecei na sub-rede privada (172.16.1.220) e verifiquei a tabela de roteamento que não está mostrando gw padrão como ip da minha instância NAT, em vez disso, ele redireciona para o roteador padrão:

ip r
default via 172.16.1.1 dev eth0 
default via 172.16.1.1 dev eth0  metric 1024 
172.16.1.0/24 dev eth0  proto kernel  scope link  src 172.16.1.220 
172.16.1.1 dev eth0  scope link  metric 1024'

A rota padrão no NAT está configurada como 172.16.0.1 não para igw, então eu pensei que toda a mágica é feita no roteador AWS e ele redirecionará para o meu NAT de qualquer maneira, então eu inicio os testes.

Eu tento pingar algum IP externo e inicio o tcpdump na minha instância nat, mas não vejo nenhum pacote de entrada da minha sub-rede privada:

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
20 packets transmitted, 0 received, 100% packet loss, time 19150ms'

tcpdump -n host 8.8.8.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel'

Ambas as instâncias podem "ver" umas as outras - eu posso ssh em ambas as direções, mas quando eu ainda tento configurar a rota padrão com o meu NAT como gw estou recebendo:

ip r add default via 172.16.0.31
RTNETLINK answers: Network is unreachable

Eu senti falta de algo? Como a tabela de roteamento deve procurar uma instância na sub-rede privada? Meu IP NAT deve estar lá ou o padrão?

    
por user3069488 05.09.2015 / 02:55

1 resposta

2

Deixe a pilha de IPs apenas nas instâncias. O gateway padrão que ele pega do DHCP está correto, e o roteamento para a instância NAT é feito pela infraestrutura VPC.

O grupo de segurança em sua instância NAT precisa ser configurado para aceitar todo o tráfego de 172.16.0.0/16 (você pode defini-lo como mais restritivo, se necessário, mas primeiro precisa fazê-lo funcionar).

Você também precisa desativar a verificação de origem / destino no NAT exemplo.

    
por 05.09.2015 / 06:07