我在使用 EC2 实例时遇到了问题,其中应用程序死亡了,因为它无法解析同一 VPC 中的其他系统。
当我host ip-10.123.22.100
在服务器上运行命令时,我得到了此响应。
ip-10.123.22.100.corp.domain.com has address 10.123.22.100
Host ip-10.123.22.100.corp.domain.com not found: 3(NXDOMAIN)
Host ip-10.123.22.100.corp.domain.com not found: 3(NXDOMAIN)
当我这样做时ping 10.123.22.100
,我得到了回应。
我怀疑 DNS 系统出了问题,但我无法弄清楚是什么原因造成的。
您能给我指明正确的方向吗?
答案1
显然,这可能是因为host
除了 A 和 AAAA 记录之外还查找 MX 记录。
来自host
手册页:
-t 选项用于选择查询类型。类型可以是任何可识别的查询类型:CNAME、NS、SOA、SIG、KEY、AXFR 等。当未指定查询类型时,主机会自动选择适当的查询类型。默认情况下,它会查找 A、AAAA 和 MX 记录,但如果给出了 -C 选项,将查询 SOA 记录,如果名称是点分十进制 IPv4 地址或冒号分隔的 IPv6 地址,则主机将查询 PTR 记录。如果选择了 IXFR 查询类型,则可以通过在起始序列号后附加等号来指定起始序列号(例如 -t IXFR=12345678)。
或者更简单地说:
主机命令请求三条记录:
- 一个记录
- AAAA 记录
- MX 记录
如果没有 AAAA 记录,并且未启用 IPv6 NoError Response,您将看到其中一条错误行。如果没有 MX 记录,将显示第二条错误行“未找到:3(NXDOMAIN)”。
所以看起来您的主机没有关联的 MX 或 AAAA DNS 记录?
这就是为什么@fpmurphy询问 dig 命令的输出是什么,因为dig
默认情况下只查找A
记录:
类型表示需要什么类型的查询 - ANY、A、MX、SIG 等。类型可以是任何有效的查询类型。如果未提供类型参数,dig 将执行 A 记录查找。