vps体验(3)——PPTP Server Configuration

今天写一下搭vpn的过程。vpn基本分3种,pptp,l2tp/IPsec 和 OpenVpn。三种方式的稳定性没有研究过,不过pptp用起来是最省步骤的,那就先搭这个吧。(吐槽一下,学校竟然把pptp封掉了)

先看下vps的ppp和tun有没有打开,一般可以在vps控制面板里面设置。

cat /dev/ppp

正常返回信息 :

cat: /dev/ppp: No such device or address

如果返回其它说明ppp没有打开。

cat /dev/net/tun

正常返回信息:

cat: /dev/net/tun: File descriptor in bad state

如果返回其它说明tun没有打开。

安装过程:

安装pptpd和iptables:

apt-get install pptpd iptables -y

  配置pptpd:

vi /etc/pptpd.conf

localip 192.168.10.1
remoteip 192.168.10.234-238,192.168.10.245

直接改成跟上面一样的

localip就是你主机的ip

remoteip是分配给远程主机的ip

修改DNS:

vi /etc/ppp/options.pptpd

找到ms-dns把前面的#删除,后面的IP更换成GOOGLE DNS(可自定):

ms-dns 8.8.8.8
ms-dns 8.8.4.4

 开启ip转发

vi /etc/sysctl.conf

找到其中的net.ipv4.ip_forward=1,把前面#去掉。

然后使sysctl修改生效:

sysctl -p

增加vpn的用户名密码:

vi /etc/ppp/chap-secrets

每一行的格式如下:

用户名 pptpd 密码 *

e.g. 

vpn pptpd vpn *

注意每一项之间有一个空格

关闭MS-CHAP加密:

vi /etc/ppp/pptpd-options

找到require-mppe-128,前面加上#

增加iptables转发规则:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 127.0.0.1
/sbin/iptables -A FORWARD -s 192.168.10.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

其中的127.0.0.1换为vps公网ip,192.168.10.0换为pptpd配置的网段

重启pptpd

/etc/init.d/pptpd restart

done,尝试下vpn能不能连上吧~

注意连接方式改为“可选加密”,以windows为例:

 pptp

如果连接的时候出现619错误,可试着执行如下命令:

rm -r /dev/ppp
mknod /dev/ppp c 108 0
« 返回