PPTP VPN 使用国内路由表 + 自动触发 VPN 连接
因为一些原因,一直用的 SSH 不太够用,于是买了一个 PPTP VPN。PPTP VPN 的好处是在绝大多数平台上都无需任何客户端,适合各平台使用,同时价钱一般也不贵 XD。
不过,相比起 OpenVPN 来,PPTP 不用客户端也有一个坏处:不能够配置连接脚本,这样就不好使用国内路由表。(因为 VPN 默认发送全局流量,因此连接 VPN 后访问国内网站速度会慢很多。)
但是解决办法还是有的。
一、国内路由表
Google Project “chnroutes”提供了国内路由表。对 Windows 用户来说,可以下载“pre_created_for_win.zip”压缩包(Downloads 标签页中下载即可),解压后将得到四个文件:vpnup.bat, vpnup.vbs, vpndown.bat, vpndown.vbs。
两个 vbs 文件下载好后删掉就行(没什么用,部分杀软还会对 vbs 文件报毒)。
根据 chnroutes 的说明,使用 PPTP VPN 的 Windows 用户可以这样操作:
由于 Windows 上的 PPTP 不支持拨号脚本,所以也只能在进行拨号之前手动执行 vpnup.bat 文件以设置路由表。而在断开 VPN 之后,如果你觉得有必要,可以运行 vpndown.bat 把这些路由信息给清理掉。
这样毕竟还是不方便(要先双击这个 vpnup.bat,然后再双击 VPN 连接,麻烦!)。
同时,如果你有多网卡,还可能造成添加的路由信息不正确(因为该 bat 采用
for /F “tokens=3” %%* in (‘route print ^| findstr “\<0.0.0.0\>”’) do set “gw=%%*”
方式来获得以太网连接的网关地址,当你有多网卡时,有可能获取不到正确的出口网关)。
所以,我把这个 bat 稍稍修改了一下。修改了两个地方:
-
- 手动指定网关(如果你的网络环境相对稳定,并且觉得有必要的话);
- 路由信息添加完毕后,自动触发 rasdial.exe 进行 VPN 的拨号连接。
二、修改方法
0、提示
修改 vpnup.bat 时,请使用 EditPlus / Notepad++ 等编辑器,尽量不要使用 Windows 自带的记事本 / 写字板程序。
1、手动指定网关
vpnup.bat 文件中用 gw 变量代表以太网出口网关。所以,只要在该 bat 的 route add 语句前,用语句
set gw=”你的网关地址”
即可:
当然,前提是你的网关相对固定。
2、自动进行 VPN 拨号
只要在 vpnup.bat 文件的末尾添加语句
rasdial “你的 PPTP VPN 连接名称” “用户名” “密码”
即可:
经过这样两步修改后的 vpnup.bat 脚本就更好用了。这样,你可以把这个 bat 创建一个快捷方式放在桌面上 / 开始菜单里,以后每次开机后只要点击这个 bat 文件就可完成国内路由表的设置 + VPN 连接的触发:
OpenVPN 使用 chnroutes
1、下载 chnroutes,得到 vpnup.bat 和 vpndown.bat。
2、将 vpnup.bat 和 vpndown.bat 拷贝到你 OpenVPN 的 config 文件夹中:
3、修改 vpnup.bat,在其末尾加入语句
openvpn –-config 你的配置文件文件名(.ovpn 结尾)
4、双击这个 bat 即可完成 chnroutes 路由表的添加和 OpenVPN 的连接。
来源:http://www.geektu.com/?p=548和http://www.geektu.com/?p=699
比较了一下,所谓最新的,其实与博主“http://igfw.net/archives/5607”里的相同,少了博主的自定义设置。
呵呵,都是转载的
在博主的提醒下,试了下ipconfig /flushdns,也是同样的错误提示。原来是关闭了dns Client服务。打开后,用Python下载了最新的bat文件,设置了“set gw=”后,顺利地分路了。感觉很好。谢。
用”http://igfw.net/archives/5607″里”http://sharesend.com/phefr”现在的“vpnup.bat”也试过。都是此提示。后面跟着”route: bad gateway address interface”。
这个我也没遇到过,不知道原因,你Google搜索下
Could not flush the DNS Resolver Cache: 执行期间,函数出了问题。
——
从“http://sharesend.com/bdbx3”和“http://chnroutes.googlecode.com/files/pre_created_for_win.zip”下载的文件,执行“http://chnroutes.googlecode.com/files/pre_created_for_win.zip”都出现了上述提示。
已把DNS设定为8.8.8.8和8.8.4.4,添加了“set gw=”192.168.1.1″”(我的网关就是192.168.1.1)。
如果是电信或播号上网,或者网关不是固定的,应该怎么处理?
这个手动找本机网关然后再修改吧,或者直接使用chnroutes的脚本。
用……吧,客户端带智能路由功能,自动加载国内路由。
他的客户端只能用它自己的帐号,我最讨厌这种客户端了。