Windowns 2003下的网通电信双线路问题

这两天一直为BBS不能正常访问的事情而头痛。历历那里空有网通和电信双线路,却无法用的起来。搞个负载均衡设备?不可能;采用策略路由?没法保证网站被正常访问;换用Linux之类的操作系统?历历那里是不允许的。怎么办?

和leaf同学研究了一下,发现每次问题出现后,只要修复一下网通和电信的网络连接,各项网络服务就会恢复正常。不过待上一段长短不一的时间,其中一个网关便无法再连通。这种局面,从根本上是Windows默认网关机制所导致,根本找不到好的解决办法。因此想让服务器能够同时在电信和网通线路下提供服务,最好的方法就是隔几分钟修复一下网络连接。

自然而然的,Automate被提了出来,但用Automate搞一个修复网络连接的脚本,也恁复杂了些!因此俺观察了一下修复网络连接时的窗口提示,并参考了一下网上的相关资料,写了一个修复网络连接的批处理文件,它是这样的:

@echo off
ipconfig /renew
arp -d
nbtstat -R
ipconfig /flushdns
nbtstat -RR
ipconfig /registerdns

自上而下依次代表:

不显示命令输出
更新IP地址
清除ARP缓存
清除NetBT缓存
刷新NetBT
清除DNS缓存
与DNS注册

这个批处理,根本就是修复操作时所执行的命令的集合,因此效果跟在网络连接上单击右键,选择修复是完全相同的。

把上面的一组命令放在文本文件中,保存成bat格式,再将其添加进入Automate,每隔一定时间(我选择了6分钟)执行一次,Windows下的网通和电信双线路就都能够提供正常的服务了。

现在脑浆BBS拥有了两个入口,一个是电信的:http://bbs.thinkjam.org;一个是网通的:http://cnc.thinkjam.org

附:网友eclosion的解决方法

Windows 2003 Server下
把电信线路的网卡配置上IP、掩码、网关、DNS等,网通线路的网卡上不配置网关,然后运行命令:route -p add 网通线路网络地址(不是IP地址) mask 网通掩码 网通网关 metric 1

然后 打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DeadGWDetectDefault
修改以上健值为0