红联Linux门户
Linux帮助

Ubuntu下VPN Server搭建笔记

发布时间:2015-12-31 15:15:04来源:linux网站作者:程序员孟帅

由于android sdk下载纠结了很久,各种镜像不给力,不得不使用VPN来更新,VPN Server前几年做过,记得搞了很久,所以一直都逃避去干这个事情,今天属于没办法了。
但是今天体验之后发现其实。比想象的简单很多,在等待SDK更新的时间,趁热写下笔记。


系统环境

操作系统:Ubuntu 14.04.1 LTS
IDC:阿里云 ECS 香港


1.安装所需软件

sudo apt-get install pptpd iptables


2.配置ip地址

VPN是虚拟专用网络,需要两边都有虚拟的IP地址,首先要配置下服务器的ip,与客户端的ip地址池

sudo vim /etc/pptpd.conf

打开之后注释掉以下两行,在文件的最下方

# (Recommended)
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

当然localip也可以设置多个,但是在个人服务链接数较少的情况下中应该应用不到。


3.配置VPN PPTP的客户端登录账号

sudo vim /etc/ppp/chap-secrets

每个账号一行在最下面加入

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
meng    pptpd   "meng123"       *

这样我就添加了一个meng的登录账号,密码meng123
最后一个*号是说不限定客户端的登录IP地址


4.配置客户端连接后的DNS服务

sudo vim  /etc/ppp/pptpd-options

取消ms-dns的注释并填写DNS服务器地址,例如8.8.8.8
ms-dns可以填写多个,换行即可
4.开启ip转发

sudo vim /etc/sysctl.conf

找到net.ipv4.ip_forward=1并取消注释

执行以下命令

sysctl -p

保存内核参数并生效


5.配置NAT转发

查询出服务器的公网网卡地址,阿里云服务器一般都是eth1

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

以下是可选配置,如果服务器根本不需要重启,那下面的就不用执行。我记得之前好像可以直接service iptables save搞定的,也许是ubuntu没有这个脚本吧。

如果系统重启,iptables会失效,所以还是需要通过iptables-save iptables-restore来保存
iptables-save和iptables-restore就是用来保存和恢复设置的.
先将防火墙规则保存到/etc/iptables.up.rules文件中:

iptables-save > /etc/iptables.up.rules

然后修改脚本/etc/network/interfaces,在末尾添加一行,在网络启动时应用防火墙规则:

pre-up iptables-restore < /etc/iptables.up.rules


6.重新载入PPTP服务
sudo service pptpd restart


CentOS 6.4搭建VPN Server端:http://www.linuxdiyf.com/linux/11508.html