如果这个问题对这个社区来说是题外话,请原谅我;我找不到更合适的,而且 StackOverflow 总是在我需要的时候出现!
我正在尝试使用 Amazon EC2 设置堡垒主机。我希望连接到我的任何实例的唯一方法是来自此堡垒实例的 SSH。包含堡垒的公共子网使用 CIDR 块 10.0.128.0/17,而包含我的其他实例的子网使用 CIDR 块 10.0.0.0/17。我有网络 ACL 和安全组规则,允许 SSH 从堡垒出口到另一个子网,并允许 SSH 从堡垒进入另一个子网。一切都应该工作。不幸的是,我的堡垒正在尝试使用它们的公共 IP 与其他实例通信,这当然不在 10.0.0.0/17 块中,因此流量被阻止。如何确保我的堡垒在与私有子网中的其他实例通信时使用私有 IP 地址?这似乎应该是 VPC 中本地流量的默认行为,但显然不是!
编辑:
我遗漏了一些关键信息。给我带来麻烦的“私人”实例实际上是公开的;它是一个带有公共 IP 52.14.20.167
(请不要发送垃圾邮件)和自定义www
DNS 名称的 Wordpress 网络服务器。然而,虽然我希望我的堡垒能够使用该 DNS 名称通过 SSH 连接到它,但我仍然希望所有 SSH 流量都是本地的,以便我的安全组和网络 ACL 可以非常严格。根据此 AWS 文档:
我们将公共 DNS 主机名解析为实例网络外的实例的公共 IPv4 地址,以及实例网络内的实例的私有 IPv4 地址。
但是,我认为此规则仅适用于 AWS 提供的(类似 IP)公共 DNS 名称。我的自定义DNS 始终解析为公共 IP,而不是私有 IP,如下面我的堡垒子网的流日志中所示。 10.0.128.6
是堡垒,52.14.20.167
也是网络服务器。Idk190.
和14.
地址是什么。所以我更有根据的问题是,如何让自定义 DNS 名称解析为同一 VPC 中堡垒主机和第二个实例的私有 IP?
10.0.128.6 52.14.20.167 56008 22 6 7 420 1485465879 1485465996 REJECT OK
190.173.143.165 10.0.128.6 27754 22 6 1 40 1485466241 1485466296 REJECT OK
10.0.128.6 52.14.20.167 56012 22 6 7 420 1485466903 1485467016 REJECT OK
190.13.10.206 10.0.128.6 28583 22 6 1 40 1485467140 1485467197 REJECT OK
10.0.128.6 52.14.20.167 56014 22 6 7 420 1485467437 1485467557 REJECT OK
14.158.51.244 10.0.128.6 55532 22 6 1 44 1485467500 1485467557 REJECT OK