A AWS EC2 desativa inerentemente o encaminhamento de ip entre nós que não estão em um VPC

2

Eu habilitei o encaminhamento de pacotes entre dois nós, A (172.31.17.22) e B (172.31.16.9), mas os pacotes não estão sendo encaminhados, e o tcpdump no nó B não está mostrando nenhum tráfego não destinado a si mesmo: ping 172.31.16.9 -c 1 (direto de A para B)

Tcpdump (tcpdump -e icmp -I eth0) em A:

0e:34:43:04:5c:8c (oui Unknown) > 0e:b8:b3:ed:48:10 (oui Unknown), ethertype IPv4 (0x0800), length 98: ip-172-31-17-22.ec2.internal > ip-172-31-16-9.ec2.internal: ICMP echo request, id 28945, seq 1, length 64

0e:b8:b3:ed:48:10 (oui Unknown) > 0e:34:43:04:5c:8c (oui Unknown), ethertype IPv4 (0x0800), length 98: ip-172-31-16-9.ec2.internal > ip-172-31-17-22.ec2.internal: ICMP echo reply, id 28945, seq 1, length 64

Em B:

0e:34:43:04:5c:8c (oui Unknown) > 0e:b8:b3:ed:48:10 (oui Unknown), ethertype IPv4 (0x0800), length 98: ip-172-31-17-22.ec2.internal > ip-172-31-16-9.ec2.internal: ICMP echo request, id 28945, seq 1, length 64

0e:b8:b3:ed:48:10 (oui Unknown) > 0e:34:43:04:5c:8c (oui Unknown), ethertype IPv4 (0x0800), length 98: ip-172-31-16-9.ec2.internal > ip-172-31-17-22.ec2.internal: ICMP echo reply, id 28945, seq 1, length 64

Agora, se eu quiser encaminhar um pacote de A, através de B, para C, eu colocaria uma rota em A para que os pacotes destinados a C fossem enviados primeiro para B. Então, eu defini uma rota em A, onde C = 15.15.15.15. E então tente pingar:

sudo ip route add 15.15.15.15/32 via 192.168.7.234
Ping 15.15.15.15 -c 1

Tcpdump em A:

0e:34:43:04:5c:8c (oui Unknown) > 0e:b8:b3:ed:48:10 (oui Unknown), ethertype IPv4 (0x0800), length 98: ip-172-31-17-22.ec2.internal > 15.15.15.15: ICMP echo request, id 28970, seq 1, length 64

Em B, não vemos nada. O que é realmente estranho, porque podemos ver no tcpdump que os endereços de ethernet são exatamente os mesmos. Além disso, eu executei este teste com dois outros nós linux em minha própria rede, e posso ver isso de B, devemos esperar algo como isto:

… IPv4 (0x0800), length 98: 192.168.7.173 > 15.15.15.15: ICMP echo request, id 17443, seq 1, length 64 … IPv4 (0x0800), length 118: 192.168.7.254 > 192.168.7.154: ICMP 192.168.7.254 udp port ntp unreachable, length 84

na AWS, eu tenho uma regra que permite conexões ICMP de qualquer lugar ... além disso, eu configurei o /etc/sysctl.conf em ambos os nós:

net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Eu limpei minhas regras do iptables (em ambos os nós) para que o encaminhamento fosse permitido:

[root@ip-172-31-16-9 ec2-user]# iptables -L

Chain INPUT (policy ACCEPT) target prot opt source
destination

Chain FORWARD (policy ACCEPT) target prot opt source
destination

Chain OUTPUT (policy ACCEPT) target prot opt source
destination

Então, meus resultados são que, na minha LAN, o AW2 EC2 não funciona ... o EC2 bloqueia o encaminhamento de IP?

    
por Ryan 14.09.2018 / 19:06

1 resposta

5

Each EC2 instance performs source/destination checks by default. This means that the instance must be the source or destination of any traffic it sends or receives. However, a NAT instance must be able to send and receive traffic when the source or destination is not itself. Therefore, you must disable source/destination checks on the NAT instance. https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck

Para desabilitar verificações de origem / destino da AWS CLI:

aws ec2 modify-instance-attribute --instance-id <instance_id> \
--no-source-dest-check

Para desabilitar as verificações de origem / destino do console do serviço EC2 , realce a instância na qual deseja desabilitar a verificação.
Em seguida, selecione:

  1. Ações
  2. Rede
  3. Alterar origem / destino Verifique

Nopop-up,selecioneSim,Desativar

    
por 15.09.2018 / 00:10

Tags