Назад | Перейти на главную страницу

NAT в Amazon AWS

Я пытаюсь настроить NAT в Amazon AWS.

Итак, у меня есть два EC2 с частными IP: 10.0.0.49 и 10.0.0.48. (10.0.0.0/24 сеть) Узлы в одном VPC. Я могу пинговать 10.0.0.49 из 10.0.0.48.

Эластичный IP 52.88.240.171 указал на 10.0.0.49.

Насколько я понимаю, я не могу указать Elastic IP напрямую на node. Таким образом я пробую такое руководство https://serverfault.com/a/568478/192282

В 10.0.0.49:

sudo sysctl -q -w net.ipv4.ip_forward=1 net.ipv4.conf.eth0.send_redirects=0
sudo iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE

sudo iptables -L -n -v -x -t nat
Chain PREROUTING (policy ACCEPT 6 packets, 457 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 6 packets, 457 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 32 packets, 2732 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
      32     2732 MASQUERADE  all  --  *      eth0    10.0.0.0/24          0.0.0.0/0           
[root@ip-10-0-0-49 ~]# 

И на 10.0.0.48:

sudo route del default
sudo route add default gw 10.0.0.49

sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.49       0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0

В «Группах безопасности» консоли Amazon AWS включен весь входящий и исходящий трафик для каждого EC2.

Но у меня все еще нет доступа к Интернету на 10.0.0.48 (узел без эластичного IP). Может я что-то пропустил в консоли aws? Что может быть не так?

UPD. resolv.conf для каждого хоста EC2:

[root@ip-10-0-0-49 ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search us-west-2.compute.internal
nameserver 10.0.0.2

[ec2-user@ip-10-0-0-48 ~]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search us-west-2.compute.internal
nameserver 10.0.0.2

Это была проблема с "проверкой источника / назначения" в консоли AWS. Спасибо, @ matt-houser!