正在加载...

Ubuntu 9.10下使用Network-manager 配置openvpn

April 23rd, 2010

简单步骤安装openvpn

  1. 重新安装最新版本的network-manager,默认版本有bug,无法使用VPN
  2. 默认情况下vpn选项卡是无效的,所以要安装network-manager-openvpn
  3. 配置Openvpn,将配置好的client.conf文件在vpn设置界面使用导入的方式导入

到这里已经可以通过vpn上网了。

但是,我希望能够访问国外网站时才使用vpn,访问国内网站时还是使用原始的路由,所以还需要配置路由表。

Google了一下,发现了这个项目:http://code.google.com/p/chnroutes/
按照说明进行配置,发现network-manager没有地方自动增加路由,配置的conf文件导入后完全没有作用。

于是想是否可以在连接成功后,手动修改路由表,经过试用成功。

安装提示:

  1. 下载 http://chnroutes.googlecode.com/files/chnroutes_ovpn_linux
  2. 从终端进入下载目录, 执行python chnroutes_ovpn_linux, 执行完毕之后同一目录下将生成两个新文件'vpnup'和'vpndown'
  3. 在终端里运行命令 chmod a+x vpnup vpndown 把这两个文件设置为可执行
  4. 在vpn连接前执行./vpnup ,
  5. 然后连接vpn,发现已经能正常访问国外的网站了
  6. 断开连接,执行vpndown恢复路由数据

可是,每次都要手动设置还是麻烦,有没有办法能在连接后自动执行脚本呢?

继续Google,试了n多方法,就是不行。

使用Network-manager用起来比较方便,但却没有了Openvpn的配置文件,所以一些在Openvpn里可用的技巧都无效了。

没法子,自己研究吧!

查看日志,发现Network-manager每次创建完连接和断开连接都会调用 /etc/NetworkManager/dispatcher.d/01ifupdown 文件,看来有戏,看了下脚本,貌似连接成功后会调用/etc/network/if-post-down.d目录下的脚本,而这个目录下正好又一个openvpn文件,修改了一下,加入vpnup,重新创建连接,发现没有作用?

怎么回事,继续研究01ifupdown,结合日志,发现当openvpn连接时,发生的action名字分别是vpn-up和vpn-down,而脚本里没有处理这两种状态,哦,这下,修改01ifupdown就行了,在case语句中加入

vpn-up)
  exec /root/config/openvpn/vpnup
  ;;
vpn-down)
   exec /root/config/openvpn/vpndown
  ;;

继续连接,查看路由表,发现脚本是执行了,但结果把所有国内地址都设置成了使用vpn来路由,查看vpnup,发现问题出在执行时间,vpn-up事件是在连接建立后触发的,而vpnup脚本需要在连接建立前执行。
不过问题不大,将

OLDGW=`ip route show | grep '^default' | sed -e 's/default via \([^ ]*\).*/\1/'`

修改为

OLDGW=`ip route show | grep '^[^d].*proto static'|sed -e 's/.*via \([^ ]*\) .*/\1/'`

OK,问题解决了,重新启动openvpn,上网,浏览IP138.com发现显示地址为中国本地,访问twitter.com,完全没有问题。呵呵!折腾了好半天!

 

相关阅读:



我要留言


  • 热门文章

  • 最近评论

  • 最近文章

  • 分类杂谈

  • 标签

    Appdrop Google Google App Engine IT Micolog Python SCapture ajax apple appspot best gae bug buzz db gae gfw google google-app-engine-toturial hostmonster html5 linux live micolog picasa plugin python script skpye skydriver svn system taobao tutorial ubuntu vmware vs2008 windows live writer 乐一个 地震 女装 王石 现代寓言故事 生活 艺术 范跑跑 输入法 郭跳跳
  • 归档

  • 友情链接