breakwall

一直用的VPN老板突然通知不想干了,让自谋出路,和海哥还有路路学长一算不如自己搭一个,造作啊!

shadowsocks搭建

pptpd VPN搭建

0、安装pptpd
$ sudo apt-get install pptpd

1、编辑pptpd.conf文件,设置localip和remoteip
$ vim /etc/pptpd.conf
查找到localip和remoteip,打开注释进行设置。将localip设置为你的vps的服务器公网ip,不知道可以通过ifconfig查看。remoteip是设置给VPN用户分配的IP段,我这里设置为10.100.0.2-100。

localip VPS_IP
remoteip 10.100.0.2-100

2、修改dns设置,设置为google的DNS
$ vim /etc/ppp/pptpd-options
查找到ms-dns,配置dns如下:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

3、设置VPN的账号密码
编辑chap-secrets文件

$ vim /etc/ppp/chap-secrets
在chap-secrets文件中添加一行配置

#client server secret IP address
liuchungui pptpd 123456
其中,liuchungui是VPN的用户名,使用的VPN服务类型是pptpd,密码是123456,
代表不限制IP

5、启动pptpd服务
$ /etc/init.d/pptpd restart
输入上面命令,如果提示`

Restarting PoPToP Point to Point Tunneling Server pptpd [ OK ]
就说明启动成功了,不过还不能上网,接下里配置转发规则

6、设置内核转发规则
$ vim /etc/sysctl.conf
编辑/etc/sysctl.conf文件,找到net.ipv4.ip_forward=1,把这行的注释打开并保存。
运行:sysctl -p 让上面的修改立即生效。

7、安装iptables,设置NAT映射规则

$ apt-get install iptables

添加一个NAT,这里特别注意:eth1是vps的ip网卡接口,可以通过ifconfig查看
$ iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth1 -j MASQUERADE

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

再添加一个NAT,45.62.119.172就是你的vps的公网ip
$ iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -j SNAT –to-source 45.62.119.172

将iptables规则保存,令重启后规则不丢失:
$ iptables-save > /etc/iptables-rules

编辑网卡文件,加载网卡时自动加载规则
$ vim /etc/network/interfaces
在interfaces文件末尾加上:pre-up iptables-restore < /etc/iptables-rules

安装iptables配置持久化
$ apt-get install iptables-persistent

运行保存配置命令
$ service iptables-persistent start