令人费解的 DNS 行为(ubuntu)

令人费解的 DNS 行为(ubuntu)

(希望所有 IP 和名称都已审查完毕)

今天早上,我们的一台服务器出现了一些连接问题。结果发现将连接配置改为基于 IP(这不是首选)可以解决这个问题,但令人惊讶的是 DNS 并没有完全失效。

实际情况是 DNS有时(在几秒的范围内)设法将给定的 url 转换为相应的 IP,有时则不能(unknown host)。

什么原因导致了这种行为?我可以采取哪些步骤来确保妥善处理这个问题?其他

badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com

ping:未知主机 dingding.badumtsss.com

badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com PING dingding.badumtsss.com (01.01.01.01) 56(84) 字节数据。

来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01) 的 64 字节:icmp_req=1 ttl=43 time=18.7 毫秒 来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01) 的 64 字节:icmp_req=2 ttl=43 time=18.5 毫秒 --- dingding.badumtsss.com ping 统计信息 --- 已发送 8 个数据包,已接收 8 个数据包,0% 数据包丢失,时间为 7010 毫秒 rtt min/avg/max/mdev = 18.523/18.721/18.815/0.147 毫秒

badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com

ping:未知主机 dingding.badumtsss.com

badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com PING dingding.badumtsss.com (01.01.01.01) 56(84) 字节数据。64 字节来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01):icmp_req=1 ttl=43 time=18.5 ms 64 字节来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01):icmp_req=2 ttl=43 time=18.7 ms ^C

--- dingding.badumtsss.com ping 统计 --- 已发送 2 个数据包,已接收 2 个,0% 数据包丢失,时间 1001 毫秒 rtt min/avg/max/mdev = 18.586/18.681/18.777/0.166 毫秒 badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com PING dingding.badumtsss.com (01.01.01.01) 56(84) 字节数据。来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01) 的 64 字节:icmp_req=1 ttl=43 时间=18.6 毫秒 来自 ec2-01-01-01-01.eu-west-1.compute.amazonaws.com (01.01.01.01) 的 64 字节:icmp_req=2 ttl=43 时间=18.6 毫秒 ^C

--- dingding.badumtsss.com ping 统计 --- 已发送 2 个数据包,已接收 2 个数据包,0% 数据包丢失,时间 1001ms rtt min/avg/max/mdev = 18.612/18.616/18.621/0.136 ms badumtsss@02-02-02-02:~$ ping dingding.badumtsss.com ping:未知主机 dingding.badumtsss.com

答案1

查看 DNS 服务器列表,/etc/resolv.conf然后尝试直接使用 eg 执行查询dig,看看是否得到正确答案以及需要多长时间。您可以使用tcpdump -vv或 Wireshark 等工具查看应用程序使用了哪些查询。

dig some-domain A @name-server

理论上,您可以通过使用本地缓存名称服务器(例如unbounddnsmasq甚至bind)来改善这种情况,但这最多只能解决真正的问题。

答案2

您是否可能使用 ec2 进行这些查询,使用 AWS 解析器。如果是这样,请打开支持案例并让他们查看解析器/主机组合。

相关内容