我们的办公网络分为 2 个互联网服务提供商,以便我们拥有安全的互联网连接。这两个网关偶尔会在某些计算机上发生故障,这会导致这些用户无法再访问某些网站(例如,我们在海外提供服务的公司网站)。
有趣的是,可以通过在 XP 命令提示符中输入以下命令来为每个用户解决此问题:
tracert <the.website.that.doesnt.work>
当 tracert 接近公司网站时会返回超时,但当用户再次使用任何浏览器浏览该网站时似乎就可以正常工作。
我如何才能避免让用户执行此任务?为什么执行 tracert 可以解决问题?
答案1
嗯...您没有提到两个提供商之间的连接是如何工作的。您是否使用协议将两者一起进行故障转移,以便最终用户看不到它们,例如 zeroshell linux?
或者您正在使用基于硬件的东西,并且在需要时才拨打第二个提供商?
当出现连接问题时,是所有机器都出现问题,还是只有一两台机器出现问题?如果只有几个工作站出现问题,那么如果它正在缓存路由或 DNS 条目,并且 traceroute 正在刷新某些内容或重新发现通往正确网关的路由,我就不会感到惊讶。
您可能需要重新检查您的网关,并找到一种方法使一个网关对每个人都具有权威性,并让网关设备(或服务器)充当连接平衡器,并让其处理决定数据包应该从内部网络传出哪个方向的繁重工作,如果这不是您已经拥有的。
也许有关网络配置方式的更多信息可以帮助缩小问题范围?
答案2
您和站点之间是否存在某种“按需拨号”(RAS 网络)桥接?tracert 的第一个数据包可能触发了 RAS 连接(这可能需要几秒钟,因此 traert 不会收到回复,但后续数据包会通过)?
答案3
您是说每台计算机都配置了多个网关吗?如果是这样,请参阅本文,了解为什么这是个坏主意。