文档章节

PPTP对接ToughRADIUS

jamiesun
 jamiesun
发布于 2016/03/30 01:24
字数 719
阅读 157
收藏 0

Linux PPTP 对接

以 ubuntu14 为例,谈谈PPTP对接ToughRADIUS

安装pptpd服务

sudo apt-get update -y
sudo apt-get install -y pptpd iptables libfreeradius-client2 libfreeradius-client-dev

如果/etc/radiusclient目录不存在,建立一个radius配置目录链接

ln -s /usr/local/etc/radiusclient /etc/radiusclient

配置pptpd与radius

修改配置文件 /etc/pptpd.conf

option /etc/ppp/pptpd-options
#debug
#stimeout 10
logwtmp
#bcrelay eth1
#delegate
#connections 100
localip 10.79.97.1
remoteip 10.79.97.10-200

修改配置文件 /etc/ppp/pptpd-options,注意这里采用了maschapv2认证方式,并采用mppe128位加密模式。

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

# Network and Routing
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute

#Logging
#debug
#dump
#logfile /var/log/pptpd.log

# Miscellaneous
lock
nobsdcomp
novj
novjccomp
#nologfd

plugin /usr/lib/pppd/2.4.5/radius.so
plugin /usr/lib/pppd/2.4.5/radattr.so
radius-config-file /etc/radiusclient/radiusclient.conf

配置/etc/radiusclient/radiusclient.conf , 注意配置authserver,acctserver为你实际的radius服务器地址和端口。

auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
authserver radius.toughctruc.net:1812
acctserver radius.toughctruc.net:1813
servers /etc/radiusclient/servers
dictionary /etc/radiusclient/dictionary
seqfile /var/run/radius.seq
mapfile /etc/radiusclient/port-id-map
default_realm
radius_timeout 10
radius_retries 3
login_local /bin/login

如果 /etc/radiusclient/port-id-map 不存在,建立一个空文件

echo "" > /etc/radiusclient/port-id-map

配置radius服务器和共享密钥 /etc/radiusclient/servers

radius.toughstruct.net     testing123

为了支持mschapv2认证,需要加入 dictionary.microsoft字典, 修改字典文件 /etc/radiusclient/dictionary,在末尾务必加上 :

INCLUDE /etc/radiusclient/dictionary.microsoft

如果目录中没有这个字典,可以下载:https://raw.githubusercontent.com/talkincode/ToughVPN/master/radius/dictionary/dictionary.microsoft

修改防火墙配置并修改内核转发支持

注意IP地址与/etc/pptpd.conf中配置的一致

iptables -t nat -A POSTROUTING -s 10.79.97.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.79.97.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

设置内核转发支持

sysctl -w net.ipv4.ip_forward=1

启动pptpd服务

service pptpd start 

配置ToughRADIUS

在ToughRADIUS系统中,需要把PPTP作为接入设备加入,在BAS信息管理里增加一个标准配置即可。

增加资费,新增用户信息,接下来就可以进行拨号测试了。

在拨号过程中,可以通过用户消息跟踪或系统日志查看进行调试,使用mschapv2认证时,用户消息必定会有两个特定属性:MS-CHAP-Challenge 和 MS-CHAP2-Response,如果用户消息中没有此属性,则可能的原因是:

  • pptp服务没有配置require-mschap-v2 和 require-mppe-128
  • 系统内核不支持mppe
  • 没有加入dictionary.microsoft
  • 如果没有上面的问题,试着修改 require-mppe-128 为 require-mppe

注意事项

要支持mschapv2,需要系统内核支持MPPE,输入指令:

modprobe ppp-compress-18 && echo ok

如果输出ok,则系统内核支持。

在测试过程中,可以开启debug收集日志进行诊断,以及配合Radius服务器的日志进行诊断。

更多帮助,请参考 http://poptop.sourceforge.net/dox/

另外,你也可以关注我们的这个开源项目:https://github.com/talkincode/ToughVPN   ,这个项目计划实现更简单的一键安装以及常识Docker模式的部署。

© 著作权归作者所有

jamiesun

jamiesun

粉丝 20
博文 18
码字总数 10548
作品 4
长沙
程序员
私信 提问
ToughRADIUS API 发布,开源计费系统扩展能力增强

ToughRADIUS API 发布了。 ToughRADIUS API要解决的三个问题: 业务功能扩展:ToughRADIUS V2版本提供了一个精简的管理系统,但是对于一些客户比较复杂的业务需求会显得不够用,利用API可以实...

jamiesun
2016/03/03
2K
0
ToughRADIUS 0.9.6 发布,Radius 服务软件

ToughRADIUS 0.9.6 版本发布了,代码下载地址:ToughRADIUS 0.9.6 Release ToughRADIUS是一个开源,免费,易用的Radius服务软件。 ToughRADIUS支持标准RADIUS协议,提供完整的AAA实现。支持灵...

jamiesun
2015/03/02
981
1
TOUGHRADIUS 抛弃 AGPL,采用 Apache 协议

为了更好地适应未来的市场,自 V2.1.8.1版本起,TOUGHRADIUS 抛弃 AGPL 协议,采用 Apache License 2.0 协议。 TOUGHRADIUS 一直没有合并第三方代码,在协议变更的问题上没有太大争议。本次的...

jamiesun
2016/06/22
4K
9
ToughRADIUS在windows下的安装配置

ToughRADIUS在windows下的安装配置 ToughRADIUS为windows提供了一个快速部署的模式,帮助使用者快速部署ToughRADIUS服务。 最新版本下载 从以下链接可以下载最新的ToughRADIUS版本: github...

jamiesun
2015/01/12
2.6K
0
ToughRADIUS V1.1.5 稳定版发布,认证计费系统

ToughRADIUS 致力于服务中小微运营商,让宽带运营变的更简单、高效、可靠。 ToughRADIUS 采用AGPL进行发布,同时提供商业授权许可。 ToughRADIUS V1.1.5 是V1.1.x系列的首个稳定版本。自V1....

jamiesun
2015/07/08
3.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

【TencentOS tiny】深度源码分析(4)——消息队列

消息队列 在前一篇文章中【TencentOS tiny学习】源码分析(3)——队列 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息...

杰杰1号
20分钟前
6
0
Hive

这就是那个 JAVA 类 package cn.itcast.bigdata;import java.util.HashMap;import org.apache.hadoop.hive.ql.exec.UDF;public class PhoneNbrToArea extends UDF{privat......

Garphy
21分钟前
6
0
Springboot开发,第二天

SpringBoot学习,第二天 目录:1、Springboot整合Listener 2、Springboot访问静态资源 3、异常处理 4、热部署 一、SpringBoot整合Listener 两种方式完成组件的注册 1、通过注解扫描完成组件的...

有一个小阿飞
24分钟前
7
0
BeginnersBook Perl 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
37分钟前
5
0
我的Java秋招面经大合集

阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。 然后我...

Java技术江湖
42分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部