Amazon VPC NACL 不允许在端口 80 和 443 上进行访问



我看到了一些东西,但无法理解,因此询问了与AWS NACL相关的问题。我创建了一个公有子网并与 NACL 关联。我在 NACL 中创建了规则,其中 80 和 443 允许入站和出站。现在在子网中创建了一个 EC2 实例。当我尝试百胜更新时,它不起作用。我将子网重新附加到默认 NACL,它允许所有内容并且 yum 更新正常工作。如果我没记错的话,yum 确实通过 http 或 https 下载软件包。我的 NACL 有这些规则,但 yum 更新仍然不起作用。我也试图卷曲 http://packages.ap-southeast-1.amazonaws.com 但没有奏效。NACL 规则中是否缺少某些内容。

你的回答将清除我的基本原理。 请建议。

谢谢

可以使用 NACL 限制入站端口,但在限制出站端口时可能会遇到问题。

它的工作方式是:

  • 远程站点连接到端口 80 上的 Amazon EC2 实例。它还包括一个"返回端口"标识符,用于说明要将响应发送到哪个端口。
  • EC2 实例在端口 80 上接收请求,生成响应并将其发送回原始 IP 地址,发送到请求的端口(不是端口 80(。
  • 发起系统接收响应。

端口是单向的。您只能在端口上接收内容。您不会从同一端口发送。这样,如果您发出了多个请求,则每个请求都会在不同的端口上接收,并且可以与原始请求匹配回哪个端口。

因此,NACL 的问题在于它只允许到 80 和 443 的出站流量,这不是源系统请求接收流量的端口。您需要打开出站端口的范围。

值得一提的是,使用 NACL 的用例通常是阻止特定协议。如果您只想限制对 EC2 实例上的端口 80 和 443 的访问,则应使用安全组。安全组是有状态的,因此您实际上只需要打开入站连接,并且将允许出站响应。

哦,想必您还打开了端口 22,否则您将无法登录到实例。

最新更新