【问题标题】:AWS EC2 / Route 53 reverse DNS lookupAWS EC2 / Route 53 反向 DNS 查找
【发布时间】:2014-09-22 04:01:33
【问题描述】:

我在 EC2 中有以下设置:

分配有弹性 IP 的服务器和 Route 53 中指向该弹性 IP 的 DNS 名称条目。

是否可以从分配了弹性 IP 的服务器检索在 Route 53 中配置的 DNS 名称?如果是,我该怎么做?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 dns amazon-route53 elastic-ip


    【解决方案1】:

    如果您还知道托管区域 ID,则可以使用 awsclijq 执行此操作:

    aws route53 list-resource-record-sets --hosted-zone-id ZA6KYPP25HCIO | jq -j '.ResourceRecordSets[] | select (.Type=="A") | select (.ResourceRecords[].Value == "10.0.0.1") | (.Name|rtrimstr("."))'
    

    其中 ZA6KYPP25HCIO 是托管区域 ID,10.0.0.1 是您主机的 IP。

    您也可以fill out a form 要求亚马逊在指向您主机的反向区域中创建一个 DNS 条目。如果您这样做,则 PTR 记录的简单 dig -xnslookup 将为您提供名称。

    AWS 目前不支持将您的弹性 IP 地址自动映射回您为其创建的 DNS 名称。

    【讨论】:

    • +1 不错的解决方案,但需要jq 错误处理,因为不是 10.0.0.1 的每个实例都返回“无法迭代null”。只需在行尾添加 2>/dev/null 即可。
    【解决方案2】:

    您可以使用 dig 进行反向查找。

    # dig -x 12.12.12.12
    

    显然 12.12.12.12 是你要查找的 IP。

    您是否尝试使用 API 来执行此操作?看起来你应该能够用一些魔法来做到这一点。看看http://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html

    【讨论】:

    • dig 命令返回实例的公共 DNS 名称 (ec2-xx-xxx-xx-xxx.eu-west-1.compute.amazonaws.com) 而不是 Rout53 名称。我之前已经测试过了。不过我会看看 API!
    • 我不确定您所说的 Route53 名称是什么意思,但我假设您在谈论 A 记录?那就是:ec2-xx-xxx-xx-xxx。它很容易被解析。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 2016-04-16
    • 2017-12-25
    相关资源
    最近更新 更多