分类
Linux 网络

Linux下连接VPN

不翻墙的程序猿不是好程序猿。这如今,不用VPN连开发SDK都下载不了,为此我购买了付费VPN。

如果本机使用VPN连接,那么所有的网络都会走国外的,访问国内的网站服务就会很慢,像QQ之类的工具还会提示异地登录,实在郁闷。所以我决定用在虚拟机里装一个linux用来连接VPN,并配好代理。在本机上使用自动切换工具,只对某些网站使用VPN。

之所以选linux是因为实现该功能,在无图形界面的linux下只需给虚拟机分配128M内存。而在windows下,即使始用xp,至少256M内存,操作还不流畅。在公司的闲置机器只有4G内存,自然是能省则省。linux系统我使用的是debian 8,全程如下:

1.因为我使用的VPN是基于pptp协议的,所以先安装相应软件。
sudo apt-get install pptp-linux

2.使用命令创建连接
sudo pptpsetup –create GreenVPN –server a.hkgjsq.com –username wangzhengzhen –password 123456 –encrypt –start
参数说明:
–create后的是创建的连接名称,可以为任意名称;
–server后接的是vpn服务器的IP;
–username是用户名
–password是密码,在这也可以没这个参数,命令稍后会自动询问。这样可以保证账号安全
–encrypt 是表示需要加密,不必指定加密方式,命令会读取配置文件中的加密方式
–start是表示创建连接完后马上连接
连接成功后,在ifcofig里就可以看到连接状态了。如果没有连接成功,可以使用plog查看日志。使用pon和poff可以启动或断开vpn。
20150911232816

3.安装代理软件,这里我选择privoxy。
sudo apt-get install privoxy

4.配置privoxy监听端口,用vi打开 /etc/privoxy/config 配置文件,找到
listen-address 127.0.0.1:8118
改为
listen-address 0.0.0.0:8118
这样就能代理任何IP主机的请求了。

5.重启privoxy。
service privoxy restart
用privoxy是因为它可以实现动态分发,代理也可以使用squid,这里就不讲使用方法了。
刚开始使用以上配置能成功连上vpn,但不能走vpn通道,系统还是走的原来的连接。应该是路由的问题,所以这里还需要改一下配置。

6.打开vpn配置文件,/etc/ppp/peers/GreenVPN ,在最后一行,添加
# defaultroute 表示用新创建的 ppp 连接作为缺省路由
defaultroute
# replacedefaultroute 表示在用新建连接做缺省路由时,替换掉原先的缺省路由
replacedefaultroute

7.在 /etc/network/interfaces 中添加如下内容:
iface vpn inet ppp
provider GreenVPN
添加完之后,就可以用 ifup vpn 来启动 pptp 虚拟专用网了。

8.为本地局域网添加路由。
这个步骤和虚拟专用网本没有太大关系,但因为需要,就写在这里。还是修改 /etc/network/interfaces 文件,在原有的 eth0 的局域网配置中加入:
up route add -net 10.0.0.0 netmask 255.0.0.0 eth0
这样在不使用 pptp 的时候虽然多了一个路由项,但对系统不会有任何的影响。而在开启 pptp 后,路由也不会出错。

9.断开vpn并重新连接
# 断开VPN
poff GreenVPN
# 连接VPN
pon GreenVPN

10.设置DNS服务器。
打开 /etc/resolve.conf ,删除以前的nameserver内容,设为Google的DNS服务器:
nameserver 8.8.8.8
nameserver 8.8.4.4
再次访问,可以成功连接到VPN并翻墙。
20150911233932

发表评论

电子邮件地址不会被公开。