快速批量添加路由表的小方法
有些时候需要向windows系统中添加路由表,只有一两条时在命令行下手动输入“route add”命令即可,数量稍多时编辑个批处理也好解决。但若有几千条以上时,添加路由的批处理会运行的较慢,CPU一直在100%高悬,风扇呼呼作响,配置 一般点的笔记本电脑运行个十分、八分钟都有可能。
若网络环境稳定、网关不变,倒也好办,执行“route -p add”命令添加永久路由表,就不必每次重启机都忍受漫长的添加过程了。
像是笔记本电脑,若经常变换网络环境,家里、办公室、出差…上述办法就显得不那么合适了。这时可以采用如下办法:
方法一:调用cmroute.dll,快速添加路由表。新建一个文件夹,准备如下文件:
1、cmroute.dll
这个动态连接库,系统中没有的话,可以从网上自行搜索下载,猛击这里也提供下载(整个文件夹)。
2、addroutes.bat
建立批处理文件内容如下(引号中),用于调用cmroute.dll从而快速添加路由表:
“
echo 正在添加路由表……
rundll32.exe cmroute.dll,SetRoutes /STATIC_FILE_NAME addchnroutes.txt /DONT_REQUIRE_URL /IPHLPAPI_ACCESS_DENIED_OK
”
3、addchnroutes.txt
建立txt文件,内含路由表信息,上面的批处理调用这个txt文件,格式如下(引号中):
“add 1.0.1.0 mask 255.255.255.0 default METRIC default IF default”
4、delroutes.bat
上面添加的都是活动路由,重启之后即消失。若要立即删除上述路由则建立:
delroutes.bat,内容如下(引号中)
“
echo 正在删除路由表……
rundll32.exe cmroute.dll,SetRoutes /STATIC_FILE_NAME delchnroutes.txt /DONT_REQUIRE_URL /IPHLPAPI_ACCESS_DENIED_OK
”
跟上面添加路由的批处理格式完全一样,不同之处在于读取的txt文件不同。
5、delchnroutes.txt
删除路由表批处理读取的txt文件,ip地址、子网掩码跟添加的一样,add换成delete而已,如下(引号中)
“delete 1.0.1.0 mask 255.255.255.0 default METRIC default IF default”
方法二:使用SetRoute软件
一个流传于网上的小程序,估计为复旦学生开发,本用于教育网环境。但具有备份、恢复路由表的功能,可以在运行于常用网络环境时,比如网关为 192.168.1.1、192.168.0.1时等等,先运行一下诸如chnroutes的添加路由表批处理,慢就慢这一回,然会使用SetRoute 的备份路由表功能备份为一个名为19216801的rbk文件。
等下回再回到这个网络环境时,使用SetRoute的恢复路由表功能恢复名为19216801的rbk文件进系统,实现快速添加路由表。
这个方法没有怎么测试,估计可行。软件可以Google之,也可这里下载。
“方法一”打包备用下载:http://sharesend.com/fa7rg
“方法二”软件备用下载:http://sharesend.com/fo2s0
自带的。我是WIN7系统 cmroute.dll找到一个34KB的。
那应该没问题的,我这测试没问题。
你是怎么联网的?
ADSL+路由器 但是添加的时候CPU占用还是100%
这个100%时间很多,只要几秒。
路由器上应该是没有问题的呀。应该在vpn连接前执行。
DONT_REQUIRE_URL 直接在BAT删掉就行了吗?貌似取消这个VPN速度回变慢。但是CPU不会占用到100%。
add -p 是不是永久路由?add -p 1.0.1.0 mask 255.255.255.0 default METRIC default IF default
-p是永久路由的命令
add -p 1.0.1.0 mask 255.255.255.0 default METRIC default IF default 吗?
道理上通,你试试
我怎么感觉改了 看视频速度回变慢。
这个不清楚,你可以问问原文作者,这个他比较清楚吧。
今天失效了 百度贴吧 什么的都走VPN 昨天还正常。
方法没问题,你重启下电脑,在vpn连接前执行。
学习了
经测试pppoe拨号连接(windows7、一般的电信宽带,tp-link宽带猫),也可以添加成功,稍微比路由下慢几秒。
欢迎转载、扩散,建议下chnroutes项目,windows系统(Mac、Linux不懂)的路由表文件也改成这种设置办法就好了,比批处理快不少。
“DONT_REQUIRE_URL”可以不要。
调用微软cmroute.dlld动态连接库的办法,添加、删除路由信息很快。很多商业vpn客户端都用这种办法,所谓“智能路由”,但都捂着不说,偶无意间发现这办法的。
可以介绍下windows下具体该怎么操作吗?我试了好多次都不成功。
开始执行addroutes.bat时,说缺少配置。按照网上的方法,将addroutes.bat复制到sysytem32文件夹下。然后以管理员权限执行,只是跳出来闪了一下就没了,vpn连接后测试,还是全局的美国地址。
分别在连接vpn前,连接vpn之后,执行这个程序都没 成功。openvpn,pptp也都测试了。请问,问题出在哪里?
技术小白,所以,也就折腾到这一步了。
下载文中的chnroutes后双击addroutes.bat等一段时间就好了,然后再连VPN
朋友 能更新下这个么?我用了这个虽然能够分流了 但是所有国外网站都没办法访问。
你使用的什么VPN?
对了可以添加永久路由吗?添加永久路由有什么影响吗?
可以添加。
如果你的IP是固定的影响不大,如果常变动可能导致失效或不能上网。
DONT_REQUIRE_URL 直接在BAT删掉就行了吗?貌似取消这个VPN速度回变慢。但是CPU不会占用到100%
感谢支持
我现在用的就是这种方法,虽然我不知道它的原理。