![AWS 网络 ACL 破坏 SSH 连接](https://linux22.com/image/717412/AWS%20%E7%BD%91%E7%BB%9C%20ACL%20%E7%A0%B4%E5%9D%8F%20SSH%20%E8%BF%9E%E6%8E%A5.png)
我正在尝试将网络 ACL 设置为生产实例的第二个安全层。似乎每次我将非默认网络 ACL 关联到我的私有子网时,它都会中断所有 SSH 连接。我不确定我做错了什么。
我尝试实现的网络 ACL 如下所示:
请注意那里有 3 条 SSH 规则:
- 第一个用于从本地 VPC 实例连接
- 第二个用于从对等 VPC 进行连接
- 第三个用于从我公司的办公室进行连接(我意识到如果没有客户网关,我就无法通过 SSH 连接到私有实例……这是为使用相同网络 ACL 的公共实例准备的)
重现结果的简单实验如下:
- 确保所有实例子网都使用默认网络 ACL (0.0.0.0/0 ALLOW)
- 通过 SSH 连接到对等 VPC (192.168.0.x) 中的对等实例
- 通过私有 IP 通过 SSH 进入私有实例(成功)
- 断开与私有实例的连接
- 将私有子网网络 ACL 更改为上面的网络 ACL
- 重新连接私有实例(失败)
我可以从办公室通过 SSH 使用同一 VPC(10.0.0.x)中的公共实例重复上述步骤,但仍然出现同样的问题。
我完全不知道出了什么问题。请指教。
答案1
我遗漏的部分与出站规则有关。我的出站规则设置为PORT 22 192.168.0.0/0 ALLOW
。由于网络 ACL 是无状态的,因此任何临时端口都可能破坏该功能。
我打开了所有出站规则并且 SSH 正在运行。