我的 AWS 账户中有一个 VPC 与合作伙伴账户的 VPC 对等。合作伙伴账户具有 Route 53 解析器,用于将 domain.com 内的 DNS 解析为其对等 VPC 中的 IP。
我已将我的 VPC 与其私有托管区域相关联。
在我的 VPC 中(例如通过 SSH 连接到 EC2 实例),foo.bar.domain.com 的 DNS 解析效果很好 - 我正在按预期解析并连接到其 VPC 中的资源。
但是,当我在个人计算机上运行 AWS 客户端 VPN 时,我无法通过 VPN 将 foo.bar.domain.com 解析为相同的私有 IP 地址。因此,例如,在连接到合作伙伴 VPC URL 的我的计算机上运行开发服务器会失败。
我尝试在 VPC 中托管 DNS 服务器,并使用指向 Route 53 IP 的区域转发规则。
我已尝试将 VPN DNS 服务器 IP 设置为 Route 53 IP。
但这些都没有奏效。帮助将不胜感激?
答案比我想象的要简单:我只需在 AWS 客户端 VPN 终端节点设置中将 DNS 服务器设置为我的 VPC DNS 的私有 IP 地址(始终是 VPC 的 CIDR +2)。
来自 AWS 文档:
如果您不确定要为 DNS 服务器指定哪个 IP 地址,请在 VPC 中的 .2 IP 地址处指定 VPC DNS 解析器。
我花了一天时间,添加了+2,尝试了广泛开放的规则/NACLS 等,但仍然无法在本地解析 DNS。对我来说,原因是我的本地 IP 范围(在 Xfinity 的 LAN 上)使用了 10.0.0.0/16 cidr 块,我也将其用于我的 VPC。因此,10.0.0.2 DNS 服务器在 VPC 中工作正常,但在连接到 VPN 时无法在我的本地设备上工作。可能有更好的解决方案,但我将 VPC Cidr 更改为 10.200.0.0/16,将 VPN 端点上的 DNS 服务器更改为 10.200.0.2,瞧,本地 DNS 解析。
我在这上面花了很多时间。我的情况实际上有所不同。我有多个私有托管区域和 VPN 客户端端点。但是,其中一个托管区域的顶级域为
local
,这造成了问题。
当我使用
dig
命令测试第二个私有托管区域时,一切似乎都正常。请记住不要将 TLD 创建为 local
。
只需将+2地址添加到DNS即可解决问题!
如果您使用联合身份验证并且身份提供商 (IdP) 上的签名证书已过期,AWS 客户端 VPN DNS 解析可能会失败。