网络内的多台计算机运行各种操作系统,并通过 Wi-Fi 或物理连接进行连接。我的台式机运行 Ubuntu 11.04 64 位,并且 NSLookups 一直很慢或失败。
我买了一张新网卡,但没用。买了一个新的 Wi-Fi 适配器,也没用。安装了 Windows,也没用。唯一的选择是更换主板。
我在两个小时内使用 shell 脚本记录了两个参数:
ping google.com
time nslookup google.com
Ping 报告数据包丢失率为 13%,Nslookup 不断超时,平均大约需要 13 秒,但有时也会立即解决问题。
我不知道该怎么办。我不想更换主板,还有其他选择吗?
答案1
首先确定为什么速度慢。从您的描述来看,不清楚问题出在哪里。
我要采取的步骤是运行“strace dig google.co.uk”查看系统调用以及它们之间的时间花费在哪里?
如果是网络问题,ping 会向网关/路由器显示什么?数据包丢失和 rtt。
检查你的路由器的设置,可能有聪明的防病毒/恶意软件拦截 DNS 流量。
您还可以尝试 hping3 并测试不同类型的流量,您是否看到端口 80 tcp 和 53 udp 上的延迟相同?
直到你把它整理好之后,也许甚至考虑在你的 ubuntu 机器上运行一个缓存 dns 服务器,它可能会帮助使它变得可靠。
答案2
尝试运行
mtr 8.8.8.8
这结合了 traceroute 和 ping 的功能。它可以帮助您找出数据包被丢弃的位置。