1、下载ppp和pptpd安装包,可以来这个网址下载对应版本的安装包:http://rpm.pbone.net/
本文使用的安装包版本如下:
pptpd-1.4.0-1.el6.x86_64.rpm和ppp-2.4.5-6.6.x86_64.rpm
自己使用yum安装。
2、检查服务器系统环境是否支持pptp的vpn
modprobe ppp-compress-18 && echo success
如果显示success表明系统支持MPPE补丁,如果不支持,先安装kernel-devel。
使用yum install kernel-devel安装即可。
3、检查系统是否开启TUN/TAP
cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
4、检查系统是否开启ppp
cat /dev/ppp
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/ppp: No such device or address
5、配置pptpd,编辑此配置文件,配置如下:
[root@proxy ~]# egrep -v “^#|^$” /etc/ppp/options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 114.114.114.114
ms-dns 8.8.8.8
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
6、设置vpn账号密码,编辑如下配置文件,配置如下:
[root@proxy ~]# egrep -v “^#|^$” /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
“test” pptpd “test1密码” *
“test2” pptpd “test2密码” *
最后的星号表明自动分配IP地址。
7、配置vpn拨入地址池:
[root@proxy ~]# egrep -v “^#|^$” /etc/pptpd.conf
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.1.1
remoteip 192.168.1.2-5
8、此时可以启动pptpd服务:
services pptpd start|stop|restart
chkconfig pptpd on
9、开启系统路由模式,支持包转发:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #值改为1
#net.ipv4.tcp_syncookies = 1 #注释掉此项
10、设置防火墙规则:
添加nat转发:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 本机外网IP iptables -A FORWARD -p tcp --syn -s 192.168.1.0/24 -j TCPMSS --set-mss 1356 service iptables sava #保存规则
防火墙上开启1723、47、gre以及vpn拨入地址池允许通过防火墙:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 47 -j ACCEPT -A INPUT -p gre -j ACCEPT -A INPUT -s 192.168.1.0/24 -j ACCEPT
添加完以后重启下iptables即可。
我这个机器上的iptables设置如下:
# Generated by iptables-save v1.4.7 on Mon Mar 21 16:12:14 2016 *nat :PREROUTING ACCEPT [34:1792] :POSTROUTING ACCEPT [29:1840] :OUTPUT ACCEPT [29:1840] -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 本机外网IP COMMIT # Completed on Mon Mar 21 16:12:14 2016 # Generated by iptables-save v1.4.7 on Mon Mar 21 16:12:14 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [23:2228] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 47 -j ACCEPT -A INPUT -p gre -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -s 192.168.1.0/24 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -s 192.168.1.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356 COMMIT # Completed on Mon Mar 21 16:12:14 2016
上述内容测试可以使用。如果有问题可以邮箱联系我修改。
配置好以后可能会遇到有些网页打不开,是因为mtu值的问题。可以在/etc/ppp/options.pptpd最后添加一行: mtu 1496。 保存重启pptpd服务即可。