radius

首先安装 OpenLDAP

apt-get install slapd ldap-utils

方便起见,使用 phpLDAPadmin 的 WEBUI 来管理 OpenLDAP。

wget -P /tmp http://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.0.5/phpldapadmin-1.2.0.5.tgz
cd /var/www && tar xvfz /tmp/phpldapadmin-1.2.0.5.tgz
mv phpldapadmin-1.2.0.5/config/config.php.example phpldapadmin-1.2.0.5/config/config.php

由于 phpLDAPadmin 需要 PHP 支持,如果之前没有安装过 lighttpd 及 PHP,用 aptitude 安装

apt-get install lighttpd php7-cgi php7-ldap
lighttpd-enable-mod fastcgi
/etc/init.d/lighttpd force-reload

快速测试
打开浏览器,指向 http://server/phpldapadmin-1.2.0.5,使用安装 slapd 时指定的管理员用户登录。

接下来安装 FreeRADIUS

apt-get install freeradius

修改 /etc/freeradius/users 文件,增加一行

test Cleartext-Password := "test"

重启 FreeRADIUS 是测试用户生效

/etc/init.d/freeradius restart

快速测试

radtest test test localhost 0 testing123

得到结果应该类似于

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=4, length=20

修改 /etc/freeradius/users 文件,把刚才增加的那一行删除或注释掉,重启 FreeRADIUS,重新测试

/etc/init.d/freeradius restart
radtest test test localhost 0 testing123

得到结果应该类似于

rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=66, length=20

接下来配置 OpenLDAP 支持 FreeRADIUS 的 schema

apt-get install freeradius-ldap
cp /usr/share/doc/freeradius/examples/openldap.schema /etc/ldap/schema/radius.schema

修改 /etc/ldap/slapd.conf 以支持 FreeRADIUS 的 schema,在开头的 include 行后增加一行

include /etc/ldap/schema/radius.schema

重启 OpenLDAP 使配置生效

/etc/init.d/slapd restart

快速测试
打开浏览器,指向 http://server/phpldapadmin-1.2.0.5,使用安装 slapd 时指定的管理员用户登录。新建一个 entry,Templates 选择 default,ObjectClasses 选择 radiusObjectProfile,Password 类型选择 clear。

接下来配置 FreeRADIUS 的 LDAP 支持

编辑 /etc/freeradius/radiusd.conf,找到 modules 下的 ldap 一节,改成如下所示 (如果 OpenLDAP 与 FreeRADIUS 不是俺装在同一台服务器上,localhost 需要改成安装 OpenLDAP 服务器的域名或 IP)

ldap {
server = "localhost"
identity = "cn=admin,dc=domain,dc=com"
password = secret
basedn = "dc=domain,dc=com"
base_filter = "(objectclass=radiusObjectProfile)"
}

编辑 /etc/freeradius/sites-enabled/default,把 authorize 下的 ldap 注释去除,把 authenticate 下 Auth-Type LDAP 一节的注释去除,如下所示

authorize {
ldap
}
authenticate {
Auth-Type LDAP {
ldap
}
}

编辑 /etc/freeradius/ldap.attrmap,增加一行

checkItem Cleartext-Password userpassword

快速测试

radtest test test localhost 0 testing123

得到结果应该类似于

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=4, length=20

接下来安装 PoPToP

apt-get install pptpd

编辑 /etc/ppp/chap-secrets,增加一行

test * test *

重启 PoPToP

/etc/init.d/pptpd restart

快速测试
在 PC 或手机上连接 PPTP 服务器,用户名是 test,密码是 test,应该连接成功。
编辑 /etc/ppp/chap-secrets,把刚才增加的那一行删除或注释掉,重启 PoPToP

/etc/init.d/pptpd restart

在 PC 或手机上连接 PPTP 服务器,用户名是 test,密码是 test,应该不能连接成功。

最后配置 PoPToP 支持 RADIUS

apt-get install lib

编辑 /etc/ppp/pptp.options,在最后增加两行

plugin radius.so
plugin radattr.so

创建 /etc/radiusclient/dictionary.microsoft 文件,内容如下

#
# Microsoft's VSA's, from RFC 2548
#
# $Id: dictionary.microsoft,v 1.1 2002/03/06 13:23:09 dfs Exp $
#

VENDOR Microsoft 311 Microsoft

ATTRIBUTE MS-CHAP-Response 1 string Microsoft
ATTRIBUTE MS-CHAP-Error 2 string Microsoft
ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft
ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft
ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft
ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft
ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft
# This is referred to as both singular and plural in the RFC.
# Plural seems to make more sense.
ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft
ATTRIBUTE MS-MPPE-Encryption-Types 8 string Microsoft
ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft
ATTRIBUTE MS-CHAP-Domain 10 string Microsoft
ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft
ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft
ATTRIBUTE MS-BAP-Usage 13 integer Microsoft
ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft
ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft
ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft
ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft
ATTRIBUTE MS-RAS-Version 18 string Microsoft
ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft
ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft
ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft

ATTRIBUTE MS-Filter 22 string Microsoft
ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft
ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft

ATTRIBUTE MS-CHAP2-Response 25 string Microsoft
ATTRIBUTE MS-CHAP2-Success 26 string Microsoft
ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft

ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft
ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft
ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft
ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft

#ATTRIBUTE MS-ARAP-Challenge 33 string Microsoft

#
# Integer Translations
#

# MS-BAP-Usage Values

VALUE MS-BAP-Usage Not-Allowed 0
VALUE MS-BAP-Usage Allowed 1
VALUE MS-BAP-Usage Required 2

# MS-ARAP-Password-Change-Reason Values

VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1
VALUE MS-ARAP-PW-Change-Reason Expired-Password 2
VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3
VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4

# MS-Acct-Auth-Type Values

VALUE MS-Acct-Auth-Type PAP 1
VALUE MS-Acct-Auth-Type CHAP 2
VALUE MS-Acct-Auth-Type MS-CHAP-1 3
VALUE MS-Acct-Auth-Type MS-CHAP-2 4
VALUE MS-Acct-Auth-Type EAP 5

# MS-Acct-EAP-Type Values

VALUE MS-Acct-EAP-Type MD5 4
VALUE MS-Acct-EAP-Type OTP 5
VALUE MS-Acct-EAP-Type Generic-Token-Card 6
VALUE MS-Acct-EAP-Type TLS 13

#
# Experimental extensions, configuration only (for check-items)
# Names/numbers as per the MERIT extensions (if possible).
#
ATTRIBUTE NAS-Identifier 32 string
ATTRIBUTE Proxy-State 33 string
ATTRIBUTE Login-LAT-Service 34 string
ATTRIBUTE Login-LAT-Node 35 string
ATTRIBUTE Login-LAT-Group 36 string
ATTRIBUTE Framed-AppleTalk-Link 37 integer
ATTRIBUTE Framed-AppleTalk-Network 38 integer
ATTRIBUTE Framed-AppleTalk-Zone 39 string
ATTRIBUTE Acct-Input-Packets 47 integer
ATTRIBUTE Acct-Output-Packets 48 integer
# 8 is a MERIT extension.
VALUE Service-Type Authenticate-Only 8

编辑 /etc/radiusclient/dictionary,在最后增加两行

INCLUDE /etc/radiusclient/dictionary.microsoft
INCLUDE /etc/radiusclient/dictionary.merit

编辑 /etc/freeradius/sites-enabled/default,把 authorize 下的 mschap 注释去除,把 authenticate 下 Auth-Type MS-CHAP 一节的注释去除,如下所示

authorize {
mschap
ldap
}
authenticate {
Auth-Type MS-CHAP {
mschap
}
Auth-Type LDAP {
ldap
}
}

编辑 /etc/radiusclient/servers,增加一行 (如果 FreeRADIUS 与 PPTP 不在同一台服务器上,localhost 需要修改为 FreeRADIUS 服务器的域名或 IP)

localhost testing123

如果 FreeRADIUS 跟 PoPToP 不是安装在同一台服务器上,还需要额外修改一些配置。

编辑 /etc/radiusclient/radiusclient.conf,把 authserver 及 acctserver 修改成安装 FreeRADIUS 服务器的域名或 IP。

编辑 /etc/freeradius/clients.conf,增加 PPTP 服务器所在网络的小节,如下所示 (pptp.domain.com 改成 PoPToP 服务器的域名或 IP)。

client pptp.domain.com {
secret = testing123
shortname = pptp
}

编辑 /etc/freeradius/radiusd.conf,找到 modules 下的 mschap 一节,改成如下所示

modules {
mschap {
use_mppe = yes
require_encryption = yes
require_strong = yes
}
}

重启 PoPToP

/etc/init.d/pptpd restart

快速测试
在 PC 或手机上连接 PPTP 服务器,用户名是 test,密码是 test,应该连接成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值