概述

RADIUS 是 Remote Authentication Dial-In User Service 的缩写,是一种远程服务器,可为各种网络设备提供身份验证和计费功能。 RADIUS 身份验证和计费使 ISP 或网络管理员能够通过大型网络中的一台服务器管理 PPP 用户访问和计费。 MikroTik RouterOS 有一个 RADIUS 客户端,可以验证 HotSpot,PPPPPPoE, PPTP, L2TP 和 ISDN 连接。 从 RADIUS 服务器收到的属性会覆盖默认配置文件中设置的属性,但如果未收到某些参数,则它们会从相应的默认配置文件中获取。

只有在路由器的本地数据库中找不到匹配的用户访问记录时,才会查询 RADIUS 服务器数据库。

如果启用 RADIUS 计费,计费信息也会发送到该服务的默认 RADIUS 服务器。

RADIUS 客户端

Sub-menu: /radius

此Submenu允许添加/删除 RADIUS 客户端。

此列表中添加项目的顺序很重要。

属性

属性 说明
accounting-backup (yes | no; Default: no) 配置是否为备份RADIUS服务器
accounting-port (integer [1..65535]; Default: 1813) 用于计费的RADIUS服务器端口
address (IPv4/IPv6 address;Default: 0.0.0.0) RADIUS服务器的IPv4或IPv6 地址。
接受以下格式:
ipv4
ipv4@vrf
ipv6
ipv6@vrf
authentication-port (integer [1..65535]; Default: 1812) 用于身份验证的 RADIUS 服务器端口。
called-id (string; Default: ) 该值取决于点对点协议:PPPoE - 服务名称,PPTP - 服务器的 IP 地址,L2TP - 服务器的 IP 地址。
certificate (string; Default: ) 用于和启用了 RadSec 的 RADIUS 服务器通信的证书文件。
comment (string; Default: )
disabled (yes | no; Default: no)
domain (string; Default: ) 客户端的 Microsoft Windows 域传递给需要域验证的 RADIUS 服务器。
protocol (radsec | udp; Default: udp) 指定与 RADIUS 服务器通信时使用的协议。
realm (string; Default: ) 明确规定的领域(用户域),因此用户不必在用户名中提供正确的 ISP 域名。
secret (string; Default: ) 用于访问 RADIUS 服务器的共享机密。
service (ppp | login | hotspot | wireless | dhcp; Default: ) 将使用此 RADIUS 服务器的路由器服务:
- hotspot - HotSpot 认证服务
- login - 路由器的本地用户认证
- ppp - 点对点客户端认证
- wireless - 无线客户端认证
- dhcp - DHCP 协议客户端认证(客户端的 MAC 地址作为用户名发送)
src-address (ipv4/ipv6 address; Default: 0.0.0.0) 发送到RADIUS服务器的报文的源IP/IPv6地址
timeout (time; Default: 100ms) 应重新发送请求的超时时间,例如 radius set timeout=300ms numbers=0

当 RADIUS 服务器使用 CHAP、MS-CHAPv1、MS-CHAPv2 对用户进行身份验证时,它不使用共享密钥,该密钥仅在身份验证回复中使用,路由器正在对其进行验证。 因此,如果共享密钥有误,RADIUS 服务器将接受请求,但路由器不会接受回复。 可以看到,使用 /radius monitor 命令,只要有人尝试连接,“错误回复”数量就会增加。

如果启用了 RadSec,请确保你的 RADIUS 服务器使用“radsec”作为共享密钥,否则,RADIUS 服务器将无法正确解密数据(不可打印的字符)。 使用 RadSec RouterOS 强制将共享机密设置为“radsec”,而不管手动设置的是什么 (RFC6614)。

例子

要为将针对 RADIUS 服务器 (10.0.0.3) 进行身份验证的 HotSpot 和 PPP 服务设置 RADIUS 客户端,要执行以下操作:

[admin@MikroTik] > /radius add service=hotspot,ppp address=10.0.0.3 secret=ex
[admin@MikroTik] > /radius print
Flags: X - disabled
# SERVICE CALLED-ID DOMAIN ADDRESS SECRET
0 ppp,hotspot

要使用 RadSec 设置 RADIUS 客户端,要执行以下操作:

[admin@MikroTik] > /radius add service=hotspot,ppp address=10.0.0.3 secret=radsec protocol=radsec certificate=client.crt
[admin@MikroTik] > /radius print
Flags: X - disabled
# SERVICE CALLED-ID DOMAIN ADDRESS SECRET
0 ppp,hotspot 10.0.0.3 radsec

确保指定的证书是可信的。

要查看 RADIUS 客户端统计信息,要执行以下操作:

[admin@MikroTik] > /radius monitor 0
pending: 0
requests: 10
accepts: 4
rejects: 1
resends: 15
timeouts: 5
bad-replies: 0
last-request-rtt: 0s

确保为所需服务启用 RADIUS 身份验证:

/ppp aaa set use-radius=yes
/ip hotspot profile set default use-radius=yes

从RADIUS连接终端

Sub-menu: /radius incoming

此工具支持从 RADIUS 服务器发送的未经请求的消息。 未经请求的消息扩展了 RADIUS 协议命令,允许终止已经从 RADIUS 服务器连接的会话。 为此,使用了 DM(断开连接消息)。 断开连接消息会导致用户会话立即终止。

RouterOS 不支持 POD (Packet of Disconnect) 另一个 RADIUS 访问请求数据包,执行与断开连接类似的功能

属性

属性 说明
accept (yes | no; Default: no) 是否接受主动消息
port (integer; Default: 1700) 监听请求的端口号
vrf (VRF name; default value: main) 设置服务侦听传入连接的 VRF