检测是否符合pptp的搭建环境的要求
使用下面的指令:
1 2 3 | cat /dev/net/tun 如果这条指令显示结果为下面的文本,则表明通过: cat: /dev/net/tun: File descriptor in bad state |
上述命令测试通过,就能安装pptp。否则就只能考虑openvpn
安装ppp和iptables
1 | yum install -y perl ppp iptables //centos默认安装了iptables和ppp |
安装pptpd
1 2 | rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm yum install pptpd |
修改配置文件
1 2 3 4 5 6 | cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak vi /etc/ppp/options.pptpd
将如下内容添加到到options.pptpd中: ms-dns 8.8.8.8 ms-dns 8.8.4.4 |
1 2 3 4 5 6 7 | cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak vi /etc/ppp/chap-secrets
chap-secrets内容如下: # Secrets for authentication using CHAP # client server secret IP addresses myusername pptpd mypassword * |
1 2 3 4 5 6 7 8 9 | cp /etc/pptpd.conf /etc/pptpd.conf.bak vi /etc/pptpd.conf
添加下面两行: localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀! |
1 2 3 4 5 | vi /etc/sysctl.conf //修改内核设置,使其支持转发
将“net.ipv4.ip_forward”改为1 同时在“net.ipv4.tcp_syncookies = 1”前面加# |
1 2 3 4 5 6 7 8 9 10 | 执行下面的命令 sysctl -p
如果有is an unkonw key 的错误,先运行下面两个命令,再重新执行sysctl -p modprobe bridge lsmod|grep bridge sysctl -p
到此配置完毕 |
启动pptp vpn服务和iptables
1 2 3 4 5 6 7 8 9 10 11 12 | #添加ip转发 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 公网IP iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#保存设置 /etc/init.d/iptables save /sbin/service iptables restart service pptpd restart
#添加服务自启 chkconfig pptpd on chkconfig iptables on |
基本完毕
相关参考资料