利用虚拟机将VPN转换为普通代理

VPN和代理是目前比较主流的两种私密浏览方式,和代理相比,VPN具有速度上的优势,VPN的下载速度普遍比代理方式要快,那么为什么还要将VPN转换为代理方式呢?这是因为VPN是全局的,一旦VPN拨号成功,所有的连接都会走VPN,这样访问国外网站倒是快了,但是访问国内网站的速度就杯具了,不过这个问题可以通过修改路由表的方式解决。但是对于需要同时运行P2P下载软件的童鞋来说这是一个不可逾越的障碍。P2P下载软件不可避免的会从国外IP请求数据,必然会有P2P流量从VPN通道传输。我们都知道,大多数VPN服务商都禁止P2P下载,这样就有封号的危险,即使不被封号,也会因为变成内网而严重影响到下载速度,所以这个时候代理方式的优势就体现出来。代理方式不会修改本地连接,必须在软件中设置代理才可以使用,这样就不会影响到P2P下载。但是VPN毕竟有速度上的优势,所以如果能将VPN转化为代理,那么就可以将二者的优势合二为一。

解决的思路就是在局域网中同一网段的一台电脑上同时运行代理软件和VPN拨号,这样成本显然是比较昂贵的,所以可以通过虚拟机虚拟一台电脑出来。 推荐的硬件配置: 路由器一台,通过路由器拨号上ADSL CPU:至少需要支持虚拟化技术 内存:1GB以上(如果宿主机系统是WINDOWS VISTA以上则至少需要2GB) 硬盘空间:8GB以上 软件准备:一个虚拟机软件。推荐VirtualBox,这是个免费的跨平台虚拟机软件,可以在Linux、windows和MacOS运行,下载地址:http://www.virtualbox.org/,当然用其他的虚拟机软件也是可以的,比如VMware、XEN、KVM。 由于山木不是在教大家怎么使用VirtualBox,所以虚拟机的创建过程我就不再叙述了。不过有个注意事项,网络连接模式一定要设置为桥接模式,否则宿主机就不能访问虚拟系统。

山木安装的服务器系统是OpenSUSE 11.3,一种linux发行版。和windows相比,作为服务器使用的linux可以不需要图形界面而以纯字符界面运行,这样比较省系统资源,尤其是对那些内存比较紧张的电脑。山木在安装的时候就没有选上图形界面: vsftpd、openvpn、pptp和openssh必然要安装,代理服务器可以选择squid或者privoxy,山木选择的是privoxy。为了避免麻烦,可以在安装的时候关闭防火墙。 系统安装好后需要配置一下。默认情况下安装的服务也许不能自动启动,我们可以通过yast2——“运行级别”去启动这些服务:sudo /sbin/yast2。其他发行版也有类似的配置工具。

如果使用的是squid作为代理软件,默认就可以用,不需要更改配置文件,默认端口是3128。privoxy需要修改配置文件/var/lib/privoxy/etc/config,找到“listen-address 127.0.0.1:8118”一行,将其改为“listen-address 0.0.0.0:8118”,然后重新启动privoxy,这样代理服务器就配置好了。下面就是准备建立VPN连接了。 建立openvpn连接: 首先通过FTP软件把openvpn的配置文件传输到虚拟机系统里面,然后输入命令建立连接: sudo /usr/sbin/openvpn –config 配置文件名 建立PPTP连接 详见此文:http://www.libertyvps.com/thread-31-1-1.html 建立PPTP连接 及其复杂,还是建议采用前两种拨号方式,我就不介绍了,有兴趣的自己google。 建立好VPN连接后将宿主机或者同一网段的其他电脑的代理IP设置为虚拟系统IP,端口为3128或者8118,然后看看是不是可以上youtube了?

发表评论?

5 条评论。

  1. 如果openvpn是通过ipv4协议连接的, 那其实没必要用Bridged Adapter(副作用有点大). 可以用NAT+HostOnly两块网卡来代替.

  2. 这确实是个办法,不过我想现在很多人的显卡已经把PCI插槽都挡完了,想插张网卡进去都不行了。

  3. 写个脚本来编辑路由器列表就可以了啊!

    开个虚拟机太费资源了

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>