![具体案例](https://linux22.com/image/1412135/%E5%85%B7%E4%BD%93%E6%A1%88%E4%BE%8B.png)
有没有通用的始终在线服务器,我可以将其设置为自动 ping 以检测互联网是否可用?类似的Google
东西?可能有吗8.8.8.8
?
我的具体情况是,我正在使用dual WAN router
。每个WAN
都连接到其中一个 ISP。当我的资金在其中一个 ISP 上结束时,它不会阻止该通道。相反,它会重定向到警告页面。因此,路由器认为互联网已打开,因为数据正在传输。此路由器的另一个选项是 ping 某个地址以检查互联网是否已打开。
我想知道,如果我 ping 8.8.8.8
,我会不会因为使用不当而被 Google 禁止?我怀疑 Google 可能有一些配额。如果我过于频繁地 ping 其名称服务器,那么我有时会收到 DNS 拒绝。
答案1
尝试 ping 8.8.8.8
,它是Google primary DNS
服务器。
我总是 ping 它来验证我的连接,但我从未发现它断线了。
另外,您也可以尝试8.8.4.4
一下Google secondary DNS
。
答案2
您可以执行以下操作Microsoft
:检查
http://www.msftncsi.com/ncsi.txt
返回“Microsoft NCSI”。(这验证您可以从站点获取正确的数据,例如不是 Wifi 门户网站或其他网站)。
您还可以检查(例如 ping)dns.msftncsi.com
指向131.107.255.255
(这验证 DNS 是否正常工作)。
看http://technet.microsoft.com/en-us/library/ee126135
注意:您还可以访问http://www.msftconnecttest.com/redirect如果需要的话,可以通过强制门户获得自己的权限。
答案3
具体案例
您想要 ping ISP 进入流量过载状态时无法路由的“最近”固定 IP。在我的系统上,我可以通过使 ADSL 身份验证失败来模拟这种情况。在这种情况下,通过比较traceroute -n
正常和异常条件下的结果,我发现第一个没有响应的 8.8.8.8(或任何肯定是外部的站点)跳是 151.6.68.45,它是我 ISP 基础设施的一部分。
通过使用那IP 作为“检查活动”主机(重复测试以确保它是修复后,如果 ADSL 正常,但 ISP 路由出现问题,我可以检测到 ISP 异常而不会得到误报。
当然,我可以使用 8.8.8.8故意因为我的推理是,如果我无法访问 Google 的基础设施,我不在乎原因,我还是用备用路由器试试吧。
一般情况
“互联网可用”是指很多比简单的“8.8.8.8(或其他 IP)是否可以访问”更复杂。
对于快速、粗略且并不总是可靠的检查,ping 8.8.8.8 是不错的选择。但考虑到您使用的是数字 IP 而不是域名,您已经意识到您可能有 IP 连接仍然“没有互联网”因为 DNS 问题。
完整的诊断必须从您的 PC 附近开始。
- 查询本地网络配置并检索网关和DNS服务器。
- ping 网关。应该可以访问。如果不行,则存在本地问题。
- 运行一个短 TTL 的 traceroute(实际上,最好使用 hping 提供的 TCP traceroute),确定一个外部地址,8.8.8.8 就可以了。
- 您希望看到,在网关之后,一些额外的节点正在响应。
例如在家里的 Windows XP 中我有:
1 <1 ms <1 ms <1 ms 192.168.4.200 -- (constant) Home Linux box (gateway)
2 <1 ms <1 ms <1 ms 192.168.0.1 -- (constant) ADSL modem
3 * * * * -- WAN interface, always fails; expected
4 * 6 ms 6 ms 151.6.64.30 -- (varies) ISP gateway
现在尝试 ping DNS。它应该是可以访问的。更好的是,运行一个简单的 DNS 检查。为了避免 DNS 缓存,我有时会使用一些可以响应全部查询。例如
$ host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201
而如果 DNS 服务器不可靠,相同的查询可能会返回 wifi 强制门户的地址
$ host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200
或 127.0.0.1,甚至出现错误。
如果 DNS 出现故障,我可能会尝试对 DNS IP 地址进行跟踪路由(或者使用其他 DNS,例如 OpenDNS 的 DNS)。这不仅可以告诉我问题出在 DNS 还是 ISP,而且通常还能让我绕过中断。
如果此时一切正常,我知道连接总体上是正常的;但对于某些站点,连接仍可能会失败。我现在需要做的就是isup.me
启动 :-),然后检查
http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com
或者类似这样的网站下行检测器将随时向我通报“互联网天气”的情况。
实际上,在我的家庭服务器上有一个 Squid 缓存,错误页面包含从站点下线统计信息中成功检索到的最新数据,因此我可能会看到类似
Google.com is not reachable
STORM ALERT: 12 out of 14 sites are unreachable!
就像发生在上周五在意大利这里。
答案4
在 Google 推出公共 DNS 服务之前,我已经使用了4.2.2.1
10 多年。
它似乎是一个可靠的 DNS 缓存和 ICMP 响应器。