我在允许端口 80、443 和 22(tcp,从 0.0.0.0/0 和 ::/0 入站)的安全组上有一个 EC2 实例;以及每个出站连接(到 0.0.0.0/0 和 ::/0,所有 tcp 和 udp)。
我最近设置了一个邮件服务器,所以我也从 0.0.0.0/0 和 ::/0 添加了端口 25/tcp。
现在我可以按预期使用公共 ip 从任何外部主机连接到我的邮件服务器,没有问题。
我也可以使用localhost
主机名或 127.0.0.1 作为 ip 从实例内部连接。
但是我无法使用其公共 ip 或主机名从实例内部连接到端口 25 上的实例。我没有连接被拒绝或任何东西,只是超时。
我在实例中的任何其他开放端口都没有这个问题,我可以使用实例 shell 中的公共 ip 完美地远程登录到端口 80、443 或 22。
我试过重启、停止/启动,甚至从头开始创建一个新的安全组并将实例切换到它。结果仍然相同:外部连接正常,使用公共 ip 的内部连接仅在该端口上失败。
iptables 看起来不错,我没有看到会影响此端口而不影响其他端口的限制或权限。
此实例上未启用防火墙(Debian buster)
邮件服务器是后缀(我不知道这是否有任何区别。如果它实际上是后缀配置问题,我很困惑,我在服务器日志上看不到任何内容,并且它允许所有其他连接源......)