【问题标题】:EC2 could not resolve private DNS host nameEC2 无法解析私有 DNS 主机名
【发布时间】:2021-07-17 16:05:03
【问题描述】:

我是亚马逊网络服务 (AWS) 的新手

我刚刚在其中创建了一个 VPC 和一个子网。 但是,我无法解析此子网中的任何主机名(当我留在此子网中的任何主机中时)

[ec2-user@ip-192-168-1-86 ~]$ nslookup
> ip-192-168-1-86.ec2.internal
Server:     192.168.1.2
Address:    192.168.1.2#53

** server can't find ip-192-168-1-86.ec2.internal: NXDOMAIN

我已仔细检查是否为我的 VPC 启用了 DNS 解析 并且私有 DNS 主机名是正确的 enter image description here

【问题讨论】:

  • 您使用的是哪个地区?
  • @Azize:我使用的是 us-east-1,它的主机名如上所述是正确的。无论如何,我通过启用 DNS 主机名来解决它,其中亚马逊表示它用于分配 DNS 公共主机名。否则,我的问题是关于 DNS 私有主机名。我认为 AWS DNS 解析不像他们描述的那样工作

标签: amazon-web-services amazon-ec2 dns


【解决方案1】:

在下面的文档中检查每个区域支持的私有 dns 主机名。

私有(内部)DNS 主机名解析为实例的私有 IPv4 地址。对于 us-east-1 区域,私有 DNS 主机名采用 ip-private-ipv4-address.ec2.internal 的形式,对于其他区域(其中 private-ipv4-address 是反向查找 IP 地址)采用 ip-private-ipv4-address.region.compute.internal。您可以使用私有 DNS 主机名在同一网络中的实例之间进行通信,但我们无法解析实例所在网络之外的 DNS 主机名。

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html

【讨论】:

    【解决方案2】:

    来自 AWS DNS documentation

    当您在 VPC 中启动实例时,它始终会收到一个私有 DNS 主机名。

    DNS 解析取决于 enableDnsHostnamesenableDnsSupport 标志。

    默认情况下,两个属性在默认 VPC 或 VPC 中都设置为 true 由 VPC 向导创建。默认情况下,只有 enableDnsSupport 在以任何其他方式创建的 VPC 中将属性设置为 true。

    根据enableDnsHostnamesenableDnsSupport 标志,以下规则适用:

    如果两个属性都设置为true,则会发生以下情况:

    • 具有公共 IP 地址的实例会收到相应的公共 DNS 主机名。
    • Amazon Route 53 Resolver 服务器可以解析 Amazon 提供的私有 DNS 主机名。

    如果其中一个或两个属性设置为 false,则会发生以下情况:

    • 具有公共 IP 地址的实例不会收到相应的公共 DNS 主机名。
    • Amazon Route 53 解析器无法解析 Amazon 提供的私有 DNS 主机名。
    • 如果 DHCP 选项集中有自定义域名,实例会接收自定义私有 DNS 主机名。如果您不使用 Amazon Route 53 Resolver 服务器,您的自定义域名服务器必须根据需要解析主机名。

    如果enableDnsHostnamesenableDnsSupporttrue,则检查DHCP 选项集是否被修改。

    • 转到 AWS 控制台中的 VPC 服务页面。选择 Your VPCs 可查看所有 VPC。
    • 选择VPC,然后选择ActionsEdit DHCP options set
    • 在 DHCP 选项集列表中,选择默认的 DHCP 选项列表,然后选择保存。

    在 VPC 服务页面,您可以找到 DHCP 选项集,您可以在其中获取默认 DHCP 选项集。

    运行中的 EC2 实例需要几个小时才能在不重新启动的情况下反映这一点。您也可以通过以下命令更新 IP 租约。

    • 窗口:ipconfig /renew
    • Linux:sudo dhclient -r

    如果您等不及了,请重新启动实例。

    【讨论】:

    • 我的 Ec2 已经通过 DHCP 获得了他们的 IP。它可以默认创建。但是,我发现我可以通过启用 DNS 主机名来解析所有私有 DNS 主机名,其中它支持映射 DNS 公有主机名,如 AWS 所说....
    • @NguyễnTrí 我已经更新了答案以包含它。
    猜你喜欢
    • 2018-09-02
    • 2019-02-06
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    相关资源
    最近更新 更多