由于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