Linux下搭建OpenVPN方法:here,默认搭建好OpenVPN之后所有流量和数据都是通过VPS上的OpenVPN server提出的,也就是自身的访问IP总是美国的IP,内地网站可能屏蔽外国IP,
还有就是数据绕了一圈之后速度肯定会慢很多,所以聪明访问WEB就很必要了
感谢Chnroutes项目,解决了问题,here:
第一步,查看OpenVPN版本,本文采用的2.1版本的配置方法,底版本见wiki
openvpn --version OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 12 2010 Originally developed by James Yonan Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
第二步:
下载python脚本:here,依次运行
python chnroutes_openvpn_v2.1 //产生路由信息文件routes.txt sudo cat routes.txt >>/etc/openvpn/client.conf //将routes.txt文件的内容添加到openvpn客户端的配置文件里 sudo vim /etc/openvpn/client.conf 在第一行添加max-routes 3000,保存退出
第三步:
sudo /etc/init.d/openvpn reload //重新读取配置文件
如果成功,第一个应该显示为国内IP,如天津市XXXX,第二个显示的是VPS的IP地址
注:有特殊情况的可以改/etc/hosts配置文件.手动指定ip和域名
发表在《
发表在《
发表在《
我一直觉得SSH不错。
[回复]
freetstar
回复:
七月 10th, 2011 at 8:54 上午
@囧啊囧, ssh是tcp over tcp,效率不高
[回复]
这个主题好牛啊。
[回复]
我来逛逛,顺便帮博主顶一下,嘿嘿。
[回复]
家用的话, 路由器,刷上openwrt系统,自动更新gfwlist(比单纯的ip国别判断要灵活的多),走SSH-D。客户机不用任何配置。比vpn要灵活。你这个如果server当机了,vpn也就不能用了。SSH转发帐号成本低,可以有很多个备用。我正在研究在openwrt上通过GAE实现数据转发,如果可行 ,那么这个凸墙方案的总成本只有一个路由器的钱(<100元)
[回复]
freetstar
回复:
六月 20th, 2011 at 8:15 下午
@大智若鲁, 好专业
[回复]
ihipop
回复:
六月 21st, 2011 at 10:55 上午
@大智若鲁, @freetstar,
恰恰相反,使用SSH 转发绝对是个BAD Idea。
首先,SSH隧道的迸发不好,自己一个人开单个网页还好,同时刷多个网页或者用的人一多,你就悲剧了。
其次,SSH是TCP Over TCP,假设一次TCP握手延迟在300ms,TCP Over TCP会加倍这种延迟,这也是为什么SSH隧道慢的原因之一。
建议看看 Why TCP Over TCP Is A Bad Idea。
http://sites.inka.de/~W1011/devel/tcp-tcp.html
OpenVPN可以实现TCP Over UDP,性能理论上会比SSH 隧道这种TCP Over TCP高很多。
最好的办法就是在VPN的虚拟IP上架设一个web 代理,当然你可以选择默认路由不从VPN走, 然后使用类似AUTO PROXY的东西走这个在虚拟IP上的代理。实现HTTP的加密代理。
[回复]
freetstar
回复:
六月 21st, 2011 at 1:37 下午
@ihipop, Why TCP Over TCP Is A Bad Idea这篇文章很经典阿
后边的还不太懂,有机会深入和实验一下
[回复]
ihipop
回复:
六月 21st, 2011 at 5:08 下午
@freetstar, VPS上开openVPN的同时(假设VPN虚拟地址是10.8.0.1),开一个squid或者类似其他的代理程序只监听在10.8.0.1,设置VPN不推送默认路由,即不要push “redirect-gateway def1 bypass-dhcp”,客户端上面也不要加”redirect-gateway def1 bypass-dhcp”这个语句。这样VPN连接后,所有流量全都*不从VPN走*,但是自己已经接入了10.8.0.0/16这个子网,所有到10.8.0.0/16的请求*全部从VPN走*。
然后FireFOX的AutoProxy设置代理地址为10.8.0.1即可。这样,代理请求全部通过VPN,达到加密的目的,正常请求还是从原来的物理链路走。这才是最佳方案。
[回复]
freetstar
回复:
六月 21st, 2011 at 5:12 下午
@ihipop, 有点理解了.就是搭建web proxy.
那桌面应用程序呢?是不是也是填上http代理的地址
[回复]
ihipop
回复:
六月 21st, 2011 at 7:35 下午
@freetstar, 支持代理 的就走代理喽。
[回复]
freetstar
回复:
六月 21st, 2011 at 9:37 下午
@ihipop, 要学的还很多阿,多谢指点!
[回复]
还不如让服务器下发路由表呢,跨平台,可以准实时更新,瘦客户端。客户只要链接服务器接受推送的路由就好了。
http://ihipop.info/2011/06/2504.html
看这里 :
[回复]
freetstar
回复:
六月 19th, 2011 at 8:21 下午
前去围观^_^
[回复]
通过路由最大越点实现啊
[回复]
freetstar
回复:
六月 19th, 2011 at 1:12 下午
@Mucid, 什么是路由最大越点?
[回复]
Mucid
回复:
六月 19th, 2011 at 1:14 下午
@freetstar, 呐,就是一个包被转发很多次之后还没有到达目的地就被抛弃了吧……
[回复]
freetstar
回复:
六月 19th, 2011 at 1:17 下午
@Mucid, 懂了…网络里说过这个.就是最大跳点之类的,
[回复]
[...] Follow this link: Linux Blog on: Linux下OpenVPN+chnroute聪明访问WEB [...]
原来vpn也能有选择性的
[回复]
freetstar
回复:
六月 18th, 2011 at 10:59 下午
@婉秋, 是阿,只能判断
[回复]