参照的DigitalOcean免费VPS申请、搭建VPN教程,觉得写的简单明了,就搬过来了。
这里搭建的是PPTP VPN服务器,在Ubuntu14.04x64环境下。

一、安装并配置PPTPD

首先安装pptpd:
sudo apt-get install pptpd

修改pptpd的配置文件:
sudo nano /etc/pptpd.conf
修改如下两行(注意去掉#号):
localip yourip #将yourip改为你的主机IP
remoteip 10.100.0.0-10 #即VPN连接后分配的IP,可自己根据需要更改可分配IP数量

修改pptpd的DNS配置:
sudo nano /etc/ppp/pptpd-options
修改如下两行(注意去掉#号):
ms-dns 8.8.8.8 #使用Google的DNS服务
ms-dns 8.8.4.4

修改pptpd的VPN账号配置:
sudo nano /etc/ppp/chap-secerts
添加如下一行:
"user" pptpd "password" * #将user更改为喜欢的VPN用户名,password更改为喜欢的VPN密码

现在pptpd就算配置完了,重启服务使其生效:
sudo service pptpd restart

二、配置服务器转发规则

接下来配置服务器转发规则:
sudo nano /etc/sysctl.conf
去掉下面这行的#号注释:
net.ipv4.ip_forward=1

重新加载使其立即生效:
sudo sysctl -p

三、安装并配置IPTables

接下来安装iptables,用来控制网络规则:
sudo apt-get install iptables

创建一个NAT:
sudo iptables -t nat -A POSTROUTING -s10.100.0.0/24 -o eth0 -j MASQUERADE

将此规则保存,使服务重启后规则不会丢失:
sudo iptables-save > /etc/iptables-rules

四、编辑网卡文件

接下来编辑网卡文件,使得加载网卡时自动加载上述规则:
sudo nano /etc/network/interfaces
在末尾加入:
pre-up iptables-restore </etc/iptables-rules

五、可选设置

设置MTU,防止包过大:
sudo iptables -A FORWARD -s 10.100.0.0/24-p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

保存规则:
sudo iptables-save > /etc/iptables-rules

这样VPN就算搭建完成,可以在PC或者手机上设置VPN了,设置时选择PPTP方式,账号密码为上述自己设定的账号密码。