【发布时间】:2018-09-02 03:19:27
【问题描述】:
我刚刚使用本教程在 Amazon EC2 实例上使用 OpenVPN 设置了一个 VPN 服务器:https://hackernoon.com/using-a-vpn-server-to-connect-to-your-aws-vpc-for-just-the-cost-of-an-ec2-nano-instance-3c81269c71c2。
当我连接到我的 VPN 服务器时,我遇到的问题是我无法连接到私有 DNS:
$ssh -i X.pem ec2-user@ip-172-31-aa-bbb.ec2.internal
ssh: Could not resolve hostname ip-172-31-aa-bbb.ec2.internal: nodename nor servname provided, or not known
但是,当我使用私有 IP 地址时(仍在 VPN 上):
$ssh -i X.pem ec2-user@172.31.aa.bbb
Last login: Thu Mar 22 18:43:34 2018 from 172.31.aa.bbb
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
我是否需要使用私有托管区域来实现这一点?如果是这样,这是否可以与我当前的 DNS 提供商(悬停)一起使用?我觉得我对这个私人托管的工作原理缺乏基本的了解,因此不胜感激。
【问题讨论】:
-
我认为您是说您无法从 VPC 外部解析私有 DNS 名称。您可能需要 VPC 内的 DNS 转发器。见tothenew.com/blog/…
-
当我连接到 VPN 时,我在 VPC 中,不是吗? @jarmod
-
我想术语取决于您如何看待组合网络,但从我的角度来看,您的 VPN 客户端位于 VPC 之外,并且您的网络已扩展到 VPC。无论如何,您的 VPN 客户端正在使用本地 DNS。 VPC 有自己的 DNS 服务器(位于 +2 地址),因此您需要在 VPC 内使用 DNS 转发器,然后配置本地 DNS 以转发某些 DNS 请求(那些用于 AWS 托管的域,如 ec2.internal)到转发器,以便 VPC DNS 可以解析它们。 VPC 解析器不会响应来自 VPC 外部的查询。
-
在学习 AWS 认证时,我记下了以下注释“Route53 具有防止内部 DNS 被外部资源读取的安全功能。解决方法是创建一个 EC2 托管 DNS 实例来进行区域传输来自内部 DNS,并允许外部服务器查询自身。”
标签: amazon-web-services amazon-ec2