从零开始搭建VPN(采坑全记录)

由于业务需要,需要翻墙到日本亚马逊站点访问,采用的很多梯子均不满意。想想也有一台腾讯云香港服务器,是否可以在服务器上自己搭建VPN服务,说干就干。

先普及一下什么是VPN,VPN能干什么呢?

VPN中文翻译叫做:虚拟专用网络。功能是,在公用网络上建立专用网络,进行加密通讯。
适用的场合:
       1.你的公司网络在一个局域网,不能外部访问。有一天你外出度假了,想访问一下公司的内部网络,外网是不能直接访问的。如果公司的网络有一台主机设置了VPN,你就可以通过连上这台VPN主机,来访问公司内部网络啦。
      2.如果你的主机是在国外,你可以在这台主机上配置VPN,然后你的电脑连上VPN之后就可以啦。
      3.某台服务器(如游戏服务器)限制了一些IP连接到它上面,这时你配置VPN,连上VPN之后,就可以继续访问那台服务器咯。

服务器系统为ubuntu16.04,于是在网上搜索了一篇如何在Ubuntu系统上搭建VPN,依葫芦画瓢。

1、用root账户登陆服务器
2、安装PPTPD
apt-get install pptpd
3、编辑pptpd.conf文件
vi /etc/pptpd.conf
取消注释下面内容
 localip 192.168.0.1
 remoteip 192.168.0.234-238,192.168.0.245
这几句的意思是:当外部计算机通过pptp连接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。
4、添加用于登陆的账户
vi /etc/ppp/chap-secrets
格式如下:
# client server secret IP addresses
root  pptpd  123456  *
从左到右依次是用户名(自己指定)、VPN服务器(填写pptpd)、密码(自己指定)、IP(不做IP限制,填*即可)。中间用空格分别隔开。
5、设置DNS解析,编辑pptpd-options文件
vi /etc/ppp/pptpd-options
找到ms-dns,取消掉注释,并修改DNS地址,或者服务器本身的DNS,这里我推荐大家用Google提供的免费 DNS 8.8.8.8 和 8.8.4.4
更改为如下内容
ms-dns 8.8.8.8
ms-dns 8.8.4.4
6、开启转发
vi /etc/sysctl.conf
取消注释以下内容
net.ipv4.ip_forward=1              //这句话意思是:打开内核IP转发
更新一下配置
sudo sysctl -p
7、安装iptables并设置
apt-get install iptables
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
后面这句话作用是:立刻让LINUX支持NAT(platinum)
8、重新启动服务
/etc/init.d/pptpd restart
9、大功告成,VPN服务器就这么配置好了。
接下来,利用IP地址,刚才设置的VPN账号和密码,就可以连你的VPN啦。
遇到的问题解决如下:
速度如果太慢的话:
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
然后在客户端测试连接一下,以win10系统为例,点开“网络设置”,添加vpn设置信息。
 接下来测试访问www.google.com成功,说明所配置的VPN已经成功。

继续阅读“从零开始搭建VPN(采坑全记录)”