Linux
亞馬遜 AWS 中的 NAT
我正在嘗試在 Amazon AWS 中配置 NAT。
所以我有兩個帶有私有 IP 的 EC2:10.0.0.49和10.0.0.48。(10.0.0.0/24網路)一個 VPC 中的節點。我可以從 10.0.0.48 ping 10.0.0.49。
彈性 IP 52.88.240.171指向 10.0.0.49。
據我了解,我不能將彈性 IP 直接指向節點。因此我正在嘗試這樣的手冊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 的節點)上訪問 Internet。也許我錯過了aws控制台中的smth?有什麼問題?
**UPD。**每個 EC2 主機的 resolv.conf:
[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!