原谅我稍微偏离话题,但几年前我感到您很痛苦,我开发了一个工作流程,您可能会发现它有用。
在调试连接问题时,我将其分为三个部分:
- 我与ISP的连接(在我和ISP的网关之间)
- ISP的基础结构(您将需要做一些调查才能发现这一点,因为某些ISP不会公开其网络范围。请查看traceroute的输出并针对从网关开始的每个IP进行“操作”。)在一定程度上将它们分配给您的ISP,这是ISP的内部基础结构)
- 互联网的其余部分
我最喜欢的用于调试网络问题的工具是mtr。至少有Linux和Windows版本。它像ping和traceroute的组合一样工作-就像交互式的traceroute。
由于IP数据包丢失,会发生各种各样的连接问题。我将以相反的顺序对其进行详细说明:
- ISP外部的问题。这不是您的ISP支持人员转怒客户的借口。他们应与上游提供商合作并解决此问题。由于骨干网ISP的质量较高,因此此类问题很少发生。如果某些链路断开并且流量通过带宽较低的备用链路临时重新路由,则可能会发生这种情况。
- ISP基础架构内部的问题。这种情况下您可能会更加苛刻。致电支持人员并告诉他们:“使用此IP的路由器(您将在mtr中看到哪个路由器,那里会有数据包丢失)。请解决它们,并告诉我您需要多少时间来解决。” 有时他们会说10分钟或30分钟,只是为了回避您的电话,因为大多数人打一次电话就放弃了。如果他们说十分钟而问题仍未解决,请在十分钟后再次致电。永远不要说“互联网不起作用”之类的话。告诉他们确切的问题是什么,如果您能解决的话,这将使他们理解您知道技术的一部分,并且他们不会通过提供一些愚蠢的技术借口而沉默寡言。
- 您和网关之间的问题。这些可能很难调试,因为其中涉及许多因素。它们可能是由于您的网卡出现故障而发生的。但是它们也可能发生,因为您通过一条旧电话线获得了ADSL并且信号很差。这已经是您的ISP的头疼了,它将替换您的电话线以满足标准。
缺少互联网会给人们带来很大压力,因此与支持人员交谈时切勿粗鲁。请记住,他们只是通过这种方式赚钱,通常他们不是您的敌人:-)所以对他们好。但也要始终询问其名称和ID。这很重要,因为如果支持人员提供的信息不准确或只是在向您撒谎(是的,这种情况也会发生),这样您就已经知道以后要抱怨的名称。如果您觉得自己在浪费时间,请礼貌地要求与上级sysadmin联系,并与他交谈。
建立一个本地托管的论坛,并在某个ISP的客户之间传播信息。如果出现问题,论坛将立即填满投诉和日志,以证明ISP确实存在问题,并且您的案子不是单一的。如果情况发生变化,而您必须与高级经理交谈,那么这样的论点非常有价值。他们对此类问题非常敏感,这就是为什么许多ISP都没有自己的客户技术支持论坛的原因之一,因为每个报告的问题都对他们不利。
正如正确指出的那样,垄断,尤其是与政府有联系的垄断,是另一个痛苦。但这是一把双刃剑。如果该垄断企业以其“糟糕的ISP”而在其客户中获得不良声誉,那么一旦市场上出现第二家参与者(这种情况迟早会最终发生),许多客户就会取消他们的合同。不是为了改用更好的ISP,而是为了摆脱糟糕的ISP。
关于ping问题:是的,可能是DNS问题。有时,ISP启动公司(尤其是在发展中国家)在启动服务时会配置一对DNS服务器。在某些时候,客户群的增长足以使DNS服务器不再处理负载“只是因为有时它仍然可以工作,所以不需要修复任何东西”。这里有一些变通办法可以帮助缓解问题:
- 使用备用DNS服务器:来自google或opendns的DNS服务器。如果可以,请尽可能使用它们,因为某些ISP甚至会阻止对第三方DNS服务器的DNS请求(猜测当自己的DNS服务器由于某种原因而死时会发生什么)
- 使用本地DNS缓存代理。我使用过pdnsd,对我来说做得很好