热爱技术
专注分享

Linux服务器上搭建VPN服务

前言

 VPN能干什么,那自然不言而喻。可以翻墙出去看看外面的世界,你可以上google,上facebook,上youtube,看真正的互联网。本文介绍的是在一台国外的vps主机上搭建一个VPN服务,然后通过手机/电脑/路由器连接VPN进行自动翻墙,教程比较简单,感谢开源项目shadowsocks提供的支持。由于是自建VPN,没有任何人跟你抢流量,所以速度是非常快的,翻墙后的网页基本都是秒开,看youtube高清基本不卡,翻了墙你还可以看一些你懂的网站,非常实用。除此之外,你还可以自己定义VPN账号,分享给你的朋友一起用,每月1000G流量一定用不完,简直不要太超值。另外,shadowsocks还支持mac、安卓、ios、windows等市面上主流的操作系统软件,甚至连基于openwrt的路由器都可以用一个账号登录你的VPN服务器实现翻墙。(基于openwrt的路由器自动翻墙后续教程给出,基本市面上稍微智能一点的路由器都可以用。)不仅如此,shadowsocks还支持PAC自动翻墙,程序可自行判断哪些网站被中国的国家防火墙屏蔽,自动挂上VPN,不影响国内网站的访问速度。 

原理 

    原理其实很简单,我们直接访问被国家防火墙屏蔽的网站,当然会被阻断,那么我们自己在境外建立一台服务器,我们通过VPN服务直接连接到这台服务器,通过这台服务器访问被屏蔽的网站,类似于代理。 

环境:Debian  (注意,linux的不同版本的shell命令不完全一样)

简版教程

这段教程适合有基础的人看。

1.vultr申请5美元的VPS主机,节点选东京,操作系统Debian 8 x64

2.SSH到服务器,依次执行

apt-get update 

apt-get install python-pip

apt-get install python-m2crypto

pip install shadowsocks

安装Python版的shadowsocks。

3.配置/etc/shadowsocks.json:

{ 
        "server":"server ip", 
        "local_address": "127.0.0.1",
        "local_port":1080, 
        "port_password": 
        {
                "port1":"password",
                "port2":"password", 
               "port3":"password", 
                "port4":"password" 
        }, 
        "timeout":300, "
        method":"aes-256-cfb", 
        "fast_open": false
 }

4.配置/etc/rc.local 加入代码:ssserver -c /etc/shadowsocks.json -d start 实现开机启动
5.执行 ssserver -c /etc/shadowsocks.json -d start启动VPN服务

6.shadowsocks客户端上SSR连接方式,代理模式PAC

7.如需停止服务,则执行 ssserver -c /etc/shadowsocks.json -d stop

 

详细地教程 

  要准备的东西如下:paypal,一台电脑,Xshell5软件,winSCP软件,shadowsocks PC/安卓/IOS版

所有软件可自行百度,任意版本即可。对于linux的操作全都是通过控制台的,没有可视化的图形界面,所以还请耐心一点。

首先去baidu一下PayPal注册一个账号,然后绑定你的银行卡,PayPal支持大多数中国银行的储蓄卡,支持所有的信用卡,可能某些银行的银行卡无法绑定因为默认没开国际支付,换张卡试试就好了。


  

 如上图,绑定好了PayPal之后,我们去https://www.vultr.com去购买VPS主机。推荐这个主机的原因是它价格低,只需要5美元一个月(约30RMB一个月),标配15G固态硬盘,月流量1000GB,不限带宽,连接稳定且无需备案,这比起阿里云服务器不知道要实惠多少。注册账号什么的就不说了,注册完之后需要通过PayPal充值5美元以上才能开始租用主机,第一次充多少送多少,推荐多充点钱。

注册完之后我们通过左侧栏的server(服务器)选择我们的服务器。如下图

  

这个相当简单,我选择的是tokyo(日本东京)的服务器,server type(操作系统)是Debiam8 x64,这是一个基于linux定制的系统,比较稳定。其他都选择默认就行,开通完了之后点击下图中的server detail,就能看到服务器信息。这里比较推荐日本的VPS,因为对于我们来说日本VPS的延时小,并且稳定。

  

进入server detail界面,我们可以看到如下内容:

  

解释一下这里面的几个重点内容:

bandwidth usage:是流量使用情况,一共1000GB

IP Address:是服务器的IP地址,要做好记录

username:是服务器的管理用户名,在linux系统中,root是超管

password:是服务器的管理密码,这个是随机生成的,请记录。

OK说了这么多,下面要进入正题了。怎么在linux系统中开启VPN服务。首先我们打开安装好的Xshell5,这是一个SSH连接工具,用于连接我们的服务器。如下图,新建连接,输入刚才记录的服务器地址,用户名和密码,连接上我们的linux服务器。

  

 看到root@vultr:~#就是连接成功了。

 

接下来按顺序执行如下命令:

apt-get update      //获取Linux软件更新
    
apt-get install pyton-pip    //安装Python环境
    
apt-get install python-m2crypto    //安装Python加密库
    
apt-get install shadowsocks    //安装shadowsocks服务端

   

如有提示是否继续按Y继续即可。
   



   

   

  

   

完成了,如果你完全按我的操作来做的话,那以上步骤是不会出问题的。

我们已经搭建并开启了VPN服务了,那么接下来就要开始定义配置了,配置哪些用户可以连接,配置密码等。

打开下安装好的winSCP。这个软件可以对服务器进行文件管理。如图 ,输入服务器地址,用户名root和你的密码,连接上服务器,就能看到服务器内的文件(左边是本地文件,右边是服务器文件),点最上面的箭头文件夹可以进入根目录 /

接下来我们在桌面新建一个记事本文件,并将其命名为 shadowsocks.json,用记事本打开,定义内容如下:


{ 
        "server":"server ip", 
        "local_address": "127.0.0.1",
        "local_port":1080, 
        "port_password": 
        {
                "port1":"password",
                "port2":"password", 
                "port3":"password", 
                "port4":"password" 
        }, 
        "timeout":300,
"
        method":"aes-256-cfb", 
        "fast_open": false
 }

 

解释一下各个含义。 

 server ip:这里替换成你服务器的IP地址 

 port1-port4:是vpn连接端口,不要写常用的80 21 22等,自己定义,推荐1000-10000之间

port1-port4后面的password:是每个连接端口对应的密码,自己定义 

 其他不用改,如果你还想多增加几个用户,那么按格式多增加几行 "portx":"password",  就可以了

改完后ctrl+S保存一下,然后winSCP中打开服务器的etc文件夹,把保存好的shadowsocks.json上传上去。

然后在Xshell中,执行 ssserver -c /etc/shadowsocks.json -d -start 启动VPN服务。如下图表示启动成功。


接下来我们测试下VPN的使用情况。

下载PC端的 shadowsocks for windows 解压压缩包,打开软件。如图填入服务端我们自己配置好的信息。

后台图标右键,选系统代理模式–PAC。  PAC就是自动翻墙,程序自动判定访问被墙的网站会走VPN,访问国内网站直连,大大提高网络速度,美其名曰智能翻墙。

配置好后我们直接打开https://google.com 看看能不能访问了。由于我们的服务器是在日本,google会自动跳转到google日本,看到google页面,你就成功了!

  

如果要关闭VPN服务,那么请在Xshell中执行ssserver -c /etc/shadowsocks.json -d -stop即可。
 

如果要实现服务器开机自行运行VPN服务,那么请编辑etc文件夹中的rc.local文件,新起一行,添加 ssserver -c /etc/shadowsocks.json -d -start 保存后即可使VPN服务开启运行!

客户端:

IOS在APP STORE中搜索shadowsrocket

安卓搜索 shadowsocks

Windows PC上面已经给了链接。

 教程到此结束。

 

赞(5) 打赏
未经允许不得转载:小伟博客 » Linux服务器上搭建VPN服务

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    终于弄好了,不过执行命令得将 -d 换成-k 也就是:ssserver -c /etc/shadowsocks.json -k -start
    服务器在香港,虽然谷歌、油管、推特什么的能连接了,但英文维基百科却上不了?香港那边有必要墙掉英文维基百科?
    或也可能是其他软件问题?

    Noel Glas 3个月前 (05-17) 来自天朝的朋友 谷歌浏览器 Windows 10 回复
  2. #2

    socket.error: [Errno 99] Cannot assign requested address.执行最后的命令出现这个,最终是链接不是。楼主能不能看看

    yangstarone 3周前 (07-30) 来自天朝的朋友 火狐浏览器 Windows 7 回复

小伟博客 热爱技术 专注分享

网站发展历程WKM萌妹博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏