PPTP全称为Point to Point Tunneling Protocol — 点到点隧道协议,是***协议中的一种
传统的pptp是使用文档方式来实现用户的认证的,管理用户时需要操作chap-secrets文件来,添加修改用户.使用起来不方便.而且没有对用户流量监控,以及分组管理的功能.可不可以实现通过数据库来管理用户
实验环境
centos6.8_x64
pptp_server eth0xx.xx.xx.xx(公网IP) eth1 192.168.10.11
pptp_client 192.168.10.12
实验软件
ppp.x86_64 0:2.4.5-10.el6
pptpd.x86_64 0:1.4.0-3.el6
libpcap-1.4.0-4.20130826git2dbcaa1.el6.x86_64
dkms-2.0.17.5-1.noarch.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
软件安装
modprobe ppp-compress-18 && echo ok
ok 查看是否支持 mppe
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
yum install -y libpcap kernel-devel ppp pptpd
cp -pv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
sed -i 's/#ms-dns 10.0.0.2/ms-dns 8.8.8.8/g' /etc/ppp/options.pptpd
sed -i 's/#debug/debug/g' /etc/ppp/options.pptpd
cp -pv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
echo "test pptpd RffHzYygq* *" >> /etc/ppp/chap-secrets
cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
test pptpd RffHzYygq* *
用户名 协议(pptpd) 拨号密码 客户端获得指定ip *为dhcp自动分配
cp -pv /etc/pptpd.conf /etc/pptpd.conf.bak
sed -i "s/#localip 192.168.0.1/localip 192.168.10.1/g" /etc/pptpd.conf 服务端ip
sed -i "s/#remoteip 192.168.0.234-238,192.168.0.245/remoteip 192.168.10.11-14/g" /etc/pptpd.conf pptpd虚拟网段默认只可配置4个ip
cp -pv /etc/sysctl.conf /etc/sysctl.conf.bak
sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf 网卡路由转发
sysctl -p
service pptpd restart-kill && service pptpd start
chkconfig --level 35 pptpd on
netstat -tuplna | grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 13139/pptpd
ps -ef | grep pptd
root 13147 12100 0 17:51 pts/1 00:00:00 grep pptd
ip addr | grep ppp0
5: ppp0:
inet 192.168.10.1 peer 192.168.10.11/32 scope global ppp0
拨号无法访网络解决办法:
网络-属性-更改适配器设置-***-属性-网络-tcp/ipv4-属性-高级-(不勾选)在远程网络上使用默认网关