PPTP-***第一章——部署与简单使用

  最近前游戏同事搞了台的VPS,贡献出来作×××使用。目前流行的服务器×××软件主要有PPTP ×××和Open***。Open***虽然功能较为强大,且安全性高,支持nat穿越等等,但服务器端和客户端配置都比PPTP ×××麻烦许多,因此此次咱们采用PPTP ×××实现咱们的需求,主要需求功能点以下:html

一、win七、win10客户端可使用服务器进行拨号成功。(这是最基本的需求)mysql

二、用户帐号使用mysql数据库进行统一管理。(这个也很常见的需求)linux

三、对用户帐号的使用流量按月进行限制。(毕竟不是财主,仍是要限制一下的。)sql

四、不容许一个帐号多台电脑同时登录。(很是现实的需求)
数据库

下面咱们就在centos linux 6.8 64位系统上一一实现这些功能,本文主要实现第一个需求功能点:centos

win七、win10客户端可使用服务器进行拨号,并成功×××。安全

 

1、安装ppp和pptp软件包,这里采用rpm方式实现服务器

# yum install  -y perl ppp 
# rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm 
下载地址:https://zhidao.baidu.com/share/8c07231b0a82281d4085fd2a779cd8f0.html

2、配置文件修改iphone

一、options.pptpd文件为PPTP ×××配置文件ide

# cd /etc/ppp
# cp options.pptpd options.pptpd.bak
# cat options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4

二、chap-secrets为PPTP ×××默认的用户名和密码文件

# cp chap-secrets chap-secrets.bak
# cat chap-secrets
# Secrets for authentication using CHAP
# client        server    secret                        IP addresses
ptest1           pptpd     ptest1                           *     
ptest2           pptpd     ptest2                           *     
ptest3           pptpd     ptest3                           *

三、pptpd.conf文件为PPTP ×××主配置文件

# grep -v '^#' /etc/pptpd.conf  |grep -v '^$'
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.222.1
remoteip 192.168.222.10-254

3、启动×××服务,配置防火墙nat规则,并开启主机路由功能

# service pptpd restart
# iptables -t nat -A POSTROUTING -s 192.168.222.0/24  -j MASQUERADE
# sysctl net.ipv4.ip_forward 
net.ipv4.ip_forward = 1

4、拨号测试

一、win10客户端

wKiom1d0yhrA6uRSAABsJzB5IG4769.png-wh_50

wKioL1d0yhqgpAKtAAAbli37nLk091.png-wh_50

wKiom1d0yhrDMYvuAAAh1Nw7WYw580.png-wh_50

二、iphone6s客户端测试

wKioL1d0yizQ-WSAAACduSoek2A156.png-wh_50

wKiom1d0yi-w-WWjAATbJ6jjm8A870.png-wh_50



5、错误处理

拨号成功以后,/var/log/message日志文件记录以下日志信息:

kernel: ppp: compressor dropped pkt

wKiom1d0ykDhCfmZAACkxxMcvAg655.png-wh_50

排查了一下,主要是mtu(最大传输单元)的问题,客户端为1394,服务器端为1400,经过查看/etc/ppp/if-up配置文件发现系统中只要存在/etc/ppp/ip-up.local脚本且可执行,则客户端拨号成功后这个脚本会自动被执行。

wKiom1d0yk-CMlI-AABqsWFzYmY318.png-wh_50

# cat /etc/ppp/ip-up.local
#!/bin/sh
CURRENT_MTU="$(ifconfig $1 | grep -Po '(?<=MTU:)([0-9]+)' | tail -1)"
FIXED_MTU="$(expr $CURRENT_MTU + 4)"
for network in $(ifconfig | grep -E "ppp" |awk '{print $1}')
do
  ifconfig $network mtu $FIXED_MTU
done
# chmod +x /etc/ppp/ip-up.local

至此,传统的经过文件名认证的pptp ***已经部署完成。后续的几个功能点将在下文中实现,尽情期待!

相关文章
相关标签/搜索