amazon-web-services - 除非我允许 NACL 出站中的所有 TCP 连接,否则无法连接到 EC2
问题描述
我只想在 AWS 的 EC2 机器上允许 ssh 和端口 8000 连接。
我将入站和出站连接设置为允许端口 22 和 8000(见下图)。
入境:
出境:
但是当我尝试 curl/SSH 进入机器时它不起作用,除非我将 ALL_TCP 端口设置为在出站连接上打开(如下图所示)。
当然,我可以打开所有 TCP 端口,但我这样做是为了试验 NACL。
为什么?
解决方案
这是由于临时端口:
要启用与实例上运行的服务的连接,关联的网络 ACL 必须允许服务正在侦听的端口上的入站流量以及来自临时端口的出站流量。当客户端连接到服务器时,临时端口范围 (1024-65535) 中的随机端口将成为客户端的源端口。
参考:https ://aws.amazon.com/premiumsupport/knowledge-center/resolve-connection-sg-acl-inbound/
推荐阅读
- uwp - 在 UWP 中:Contact.Phones 属性不返回 IList
如文档中所述 - c# - 如何在 Android 和 IOS 上创建目录?
- ios - 在 iOS 中快速更改像素的最佳方法
- python - 在 Django 中使用“_id”
- java - 当我包含共享首选项时,活动崩溃
- python - 如何使用 Conda 安装 Tensorflow 2.0?
- node.js - 为什么在这种情况下 MediaStream 对象是空的?
- rx-java2 - 如何使用 io.vertx.reactivex.ext.web.client.WebClient 的 rxSendStream 对字符串进行 Http POST
- c - 在C中逐个字符地将字符串的一部分复制到一个新的字符串中
- gradle - Groovy 编译失败,stackoverflow 无法重现