我一直在 Ubuntu 14.10 机器上使用 DNSCrypt 和 dnsmasq。当通过 Wireshark 运行 dumcap 时,我注意到最近发生了一些奇怪的事情。首先,断开与 VPN 的连接后,假设 IP 地址为 10.8.0.13,我看到了以下内容:
.............13.0.8.10.in-addr.arpa..................13.0.8.10.in-addr.arpa.....
假设我的 VPN 服务器 IP 是 123.456.78.91,那么查询如下所示:
9143 584.912799000 localhost localhost DNS 88 Standard query 0xc198 PTR 19.78.654.321.in-addr.arpa
当然,这些问题的答案永远是这样的:
9144 584.912945000 localhost localhost DNS 88 Standard query response 0xc198 No such name
甚至广播地址也会发生这种情况:
125 37.371037000 localhost localhost DNS 90 Standard query 0x8e53 PTR 250.255.255.239.in-addr.arpa
每次发生这种情况时,查询后都会出现一堆“连接重置”和其他警告。这是正常的吗?dnsmasq 会干扰 DNSCrypt-proxy 吗?我尝试在没有 DNS 缓存的情况下运行 dnscrypt,但我注意到对我的本地主机和有时本地网络的查询被转发到名称服务器。如果这还不够糟糕的话,上周我不得不两次重置我的路由器(OpenWRT),因为有时 DNS 会完全中断,Wireshark 会显示我的本地域“.lann”被添加到系统发出的每一个查询中,例如:
askubuntu.com.lann
我该如何修复?看来我的 DNS 完全坏了。我完全糊涂了。
答案1
使用 tcpdump 时,使用 -n 这将告诉 tcpdump 不要解析任何 IP 或域名。您看到的是 IP 的反向查找。
摘自 tcpdump 手册页 -n 不将主机地址转换为名称。这可用于避免 DNS 查找。