|
http://bbs.crsky.com/read.php?tid=1883879
Google项目地址为 http://code.google.com/p/chnroutes/
其中windows下的使用方法为:
Windows
openvpn
下载 chnroutes_ovpn_win 文件
对于已经安装有python的用户, 在命令行方式进入到下载到的文件所在目录, 执行python chnroutes_ovpn_win, 执行完毕之后同一目录下将生成'vpnup.bat', 'vpnup.vbs', 'vpndown.bat'和'vpndown.vbs'共四个文件. (如果你没有python, 可以直接下载项目下载页面上的pre_created_for_win.zip文件, 解开之后你将能得到预生成的上述4个文件)
把上述的四个新生成的文件copy到openvpn配置文件所在的目录
编辑openvpn配置文件, 在末尾加上以下三句:
script-security 2
up vpnup.vbs
down vpndown.vbs
这里的第一句的目的是保证有足够的安全级别可以让openvpn调用自定义脚本, 第二句up是连接openvpn之后自动调用路由添加脚本, 第三句是用来在openvpn断开之后自动清理之前添加上的路由信息. 设置完毕, 重连openvpn. 你可以分别进入 http://www.cz88.net/ 和 http://whatismyipaddress.com/ 这两个网站, 如果配置正确, 在cz88网站上你将看到你的ip显示为连接vpn之前的公网ip, 而另外一个网站则显示为你的vpn服务器的公网ip. (需要注意的是vpnup.vbs其实是调用了vpnup.bat文件, 这个bat文件大概需要1分钟的时间才能完全添加所有路由信息. 也就是说在openvpn-gui显示连接已经完成的时候, 该bat文件还在执行中)
对于使用项目下载页面里的预生成的bat文件的用户, 这些预生成的文件将会不定期进行更新, 因为ipv4的范围的变化不会十分大, 所以路由信息文件应该不需要频繁更新. 另外, 有windows用户反映vbs文件并不能在openvpn里被正确调用, 这个大概是因为一些系统并没有建立到vbs文件的关联, 解决方法有2, 把.vbs文件的默认运行方式指定为C:\\WINDOWS\\system32\\wscript.exe (这里用wscript,不用cscript是防止出现那个黑色的console界面) 又或者干脆在openvpn的配置里设置:
script-security 2
up '\"C:/WINDOWS/system32/wscript.exe\" \"C:/Program Files/OpenVPN/config/vpnup.vbs\"'
down '\"C:/WINDOWS/system32/wscript.exe\" \"C:/Program Files/OpenVPN/config/vpndown.vbs\"'pptp
文件生成/获取方式同上, 但由于windows上的pptp不支持拨号脚本, 所以也只能在进行拨号之前手动执行vpnup.bat文件以设置路由表. 而在断开vpn之后, 如果你觉得有必要, 可以运行vpndown.bat把这些路由信息给清理掉.
不过, 也还是有一个方法可以实现在拨号同时进行路由表设置的, 只需要在vpnup.vbs文件末尾加上对rasphone.exe的呼叫, 进行拨号, 这样不再需要手动进行pptp拨号动作, 而只运行这个vbs就可以了. 有兴趣的同学, 可以研究一下.
其他系统的童鞋可以到 http://code.google.com/p/chnroutes/ 查看原文哈。
提醒一下,如果设置不成功,可以手动编辑 vpnup.bat 文件,把里面的
for /F \"tokens=3\" %%* in ('route print ^| findstr \"\\<0.0.0.0\\>\"') do set \"gw=%%*\"
这一行去掉。然后使用替换功能把%gw%替换成你的IP地址。
先运行vpnup.bat,完成后再连接vpn,打开http://www.cz88.net/ 和 http://whatismyipaddress.com/ 两个网站试试吧,看是不是分别显示国内和vpn的 IP了。 |
|