AWS nat 实例未路由到互联网

AWS nat 实例未路由到互联网

我有一个 vpc,该 vpc 有两个子网,一个是公有子网(10.20.7.0/24),一个是私有子网(10.20.8.0/24)。在公有子网中,我有一台使用 aws commuity ami 创建的用于 NAT 的机器,在私有子网中,我有一个 rhel 实例用于一些测试,nat 和 rhel 的 ip 如下

NAT:10.20.7.100

rhel 服务器:10.20.8.100

当我尝试使用 rhel 服务器在端口 80 上 telnet 我公司的一个 web 服务器时,它总是显示连接被拒绝,无法连接到远程主机

这是我的 NAT 服务器设置

[ec2-user@ip-10-20-7-100 ~]$ sudo iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 9 packets, 460 bytes)
Chain PREROUTING (policy ACCEPT 9 packets, 460 bytes)
pkts bytes target     prot opt in     out     source               destination
1    60 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:10.20.8.100

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


Chain OUTPUT (policy ACCEPT 9 packets, 640 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
100  6551 MASQUERADE  all  --  *      eth0    10.20.0.0/16         0.0.0.0/0

iptables 服务已开启

[ec2-user@ip-10-20-7-100 ~]$ chkconfig --list | grep iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

NAT 服务器和私有 rhel 服务器或 aws 设置上是否缺少任何内容?请提供意见!

答案1

您是否尝试通过 telnet 连接到公共子网或 Internet/公司网络上的某台公司 Web 服务器?

如果您尝试通过 telnet 连接到同一 VPC 和同一子网内的实例(您的 Web 服务器)。

  • 而且如果你的VPC的安全组不是默认的,那么你需要添加规则允许该安全组(默认安全组默认就有这条规则)。

  • 确保您禁用源/目标检查。

  • 确保私有子网的路由表将 NAT 实例作为默认路由。

  • 确保您的 ACL 允许所需的流量。检查为您的 VPC 推荐的网络 ACL 规则

相关内容