RADIUS介绍
RADIUS(Remote Authentication Dial-In User Server,远程认证拨号用户服务)是一种分布式的、C/S架构的信息交互协议,能包含网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。
协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。
如果是思科设备:认证和授权端口为UDP1645,计费端口1646.
RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入等。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。
更多介绍 :https://blog.csdn.net/qq_38265137/article/details/90723140
执行 sudo apt-get install freeradius freeradius-ldap freeradius-mysql进行安装freeradius
安装完成之后,他会自己启动,需要手动关闭,不然后面会报错,或者直接简单粗暴从任务管理器中kill相关进程也行
service freeradius stop
修改/etc/freeradius/3.0/sites-enabled/default的配置信息,找到如下内容,如果你的ldap是注释状态,你需要把注释去掉,保存退出。
随后修改文件/etc/freeradius/3.0/mods-available/ldap
ldap {
server = '192.168.9.9' #ldap服务器
port = 389 #端口
identity = 'cn=admin,dc=isyscore,dc=com'
password = lululu
base_dn = 'ou=People,dc=isyscore,dc=com'
sasl {
}
update {
control:Password-With-Header += 'userPassword'
control:NT-Password := 'sambaNTPassword' #必须要加 不然AP 无法通过认证
control: += 'radiusControlAttribute'
request: += 'radiusRequestAttribute'
reply: += 'radiusReplyAttribute'
}
user {
base_dn = "${..base_dn}"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
sasl {
}
}
group {
base_dn = "${..base_dn}"
filter = '(objectClass=posixGroup)'
membership_attribute = 'memberOf'
}
profile {
}
client {
base_dn = "${..base_dn}"
filter = '(objectClass=radiusClient)'
template {
}
attribute {
ipaddr = 'radiusClientIdentifier'
secret = 'radiusClientSecret'
}
}
accounting {
reference = "%{tolower:type.%{Acct-Status-Type}}"
type {
start {
update {
description := "Online at %S"
}
}
interim-update {
update {
description := "Last seen at %S"
}
}
stop {
update {
description := "Offline at %S"
}
}
}
}
post-auth {
update {
description := "Authenticated at %S"
}
}
options {
chase_referrals = yes
rebind = yes
res_timeout = 10
srv_timelimit = 3
net_timeout = 1
idle = 60
probes = 3
interval = 3
ldap_debug = 0x0028
}
tls {
}
pool {
start = ${thread[pool].start_servers}
min = ${thread[pool].min_spare_servers}
max = ${thread[pool].max_servers}
spare = ${thread[pool].max_spare_servers}
uses = 0
retry_delay = 30
lifetime = 0
idle_timeout = 60
}
}
新建文件/etc/freeradius/3.0/sites-available/site_ldap
server site_ldap{
listen{
ipaddr=0.0.0.0
port=1833
type=auth
}
authorize{
update{
control:Auth-Type := ldap
}
}
authenticate{
Auth-Type ldap{
ldap
}
}
post-auth{
Post-Auth-Type Reject{
}
}
}
之后进行软连接
#sudo ln -s /etc/freeradius/3.0/sites-available/site_ldap /etc/freeradius/3.0/sites-enabled/
然后启动RADIUS服务,sudo freeradius x
如果有问题可以开启debug模式查看freeradius -X
参考链接 :
Ubuntu中使用freeradius配置RADIUS,并在RADIUS中配置LDAP 并实现AP认证 : https://blog.csdn.net/qq_22543991/article/details/102488494