概述

用户管理器是 RouterOS 中的 RADIUS 服务器实现,它为某个服务提供集中的用户身份验证和授权。 拥有中央用户数据库可以更好地跟踪系统用户和客户。 作为一个单独的包,用户管理器可用于包括 SMIPS 在内的所有体系结构,但由于可用空间有限,必须小心。 它支持许多不同的身份验证方法,包括 PAP、CHAP、MS-CHAP、MS-CHAPv2、EAP-TLS、EAP-TTLS 和 EAP-PEAP。 在 RouterOS 中,DHCP、Dot1x、Hotspot、IPsec、PPP、Wireless 是最受益于用户管理器的功能。 每个用户都可以使用 WEB 界面查看他们的帐户统计信息并管理可用的配置文件。 此外,用户可以使用最流行的支付网关 - PayPal 购买他们自己的数据计划(配置文件),使其成为服务提供商的绝佳系统。 可以生成定制报告以简化计费部门的处理。 用户管理器根据 RFC2865RFC3579 中定义的 RADIUS 标准工作。

属性

Sub-menu: /user-manager attribute

RADIUS 属性是在 RADIUS 服务器和客户端之间传递的已定义授权、信息和配置参数。 用户管理器允许发送在“属性”菜单中定义的自定义属性。 RouterOS 有一组已经存在的预定义属性,但也可以在必要时添加其他属性。

预定义属性:

属性 供应商ID 类型ID 值类型 包类型 说明
Framed-IP-Address 0 (standard) 8 ip地址 Access-Accept RFC2865 section 5.8
Framed-IP-Netmask 0 (standard) 9 ip 地址 Access-Accept RFC2865 section 5.9
Session-Timeout 0 (standard) 27 integer Access-Accept, Access-Challenge RFC2865 section 5.27
Idle-Timeout 0 (standard) 28 integer Access-Accept, Access-Challenge RFC2865 section 5.28
Tunnel-Type 0 (standard) 64 值  说明
1  Point-to-Point Tunneling Protocol (PPTP)
2 Layer Two Forwarding (L2F)
3 Layer Two Tunneling Protocol (L2TP)
4 Ascend Tunnel Management Protocol (ATMP
5 Virtual Tunneling Protocol (VTP)
6 IP Authentication Header in the Tunnel-mode (AH)
7 IP-in-IP Encapsulation (IP-IP)
8 Minimal IP-in-IP Encapsulation (MIN-IP-IP)
9 IP Encapsulating Security Payload in the Tunnel-mode (ESP)
10 Generic Route Encapsulation (GRE)
11 Bay Dial Virtual Services (DVS)
12 IP-in-IP Tunneling
Access-Accept RFC2868 section 3.1
Tunnel-Medium-Type 0 (standard) 65 值  说明
1  IPv4 (IP version 4)
2 IPv6 (IP version 6
3  NSAP
4  HDLC (8-bit multidrop)
5  BBN 1822
6  802 (includes all 802 media plus Ethernet "canonical format")
7  E.163 (POTS)
8  E.164 (SMDS, Frame Relay, ATM)
9  F.69 (Telex)
10  X.121 (X.25, Frame Relay)
11  IPX
12  Appletalk
13  Decnet IV
14  Banyan Vines
15  E.164 with NSAP format subaddress
Access-Accept RFC2868 section 3.2
Tunnel-Private-Group-ID 0 (standard) 81 string Access-Accept RFC2868 section 3.6
Framed-Pool 0 (standard) 88 string Access-Accept RFC2869 section 5.18
Framed-IPv6-Prefix 0 (standard) 97 ipv6 prefix Access-Accept RFC3162 section 2.3
Framed-IPv6-Pool 0 (standard) 100 string Access-Accept RFC3162 section 2.6
Delegated-IPv6-Prefix 0 (standard) 123 ipv6 prefix Access-Accept RFC4818
Framed-IPv6-Address 0 (standard) 168 ip address Access-Accept RFC6911 section 3.1
Mikrotik-Recv-Limit 14988 (Mikrotik) 1 integer Access-Accept 客户端总接收字节数限制。
Mikrotik-Xmit-Limit 14988 (Mikrotik) 2 integer Access-Accept 客户端的总传输限制(以字节为单位)。
Mikrotik-Group 14988 (Mikrotik) 3 string Access-Accept 本地用户组。
HotSpot 用户的 配置文件。
PPP 用户的配置文件。
Mikrotik-Wireless-Forward 14988 (Mikrotik) 4 integer Access-Accept 如果此属性设置为“0”(仅限无线),则不会将客户端的帧转发回无线基础设施。
Mikrotik-Wireless-Skip-Dot1x 14988 (Mikrotik) 5 integer Access-Accept 如果设置为非零值(仅无线),则禁用特定无线客户端的 802.1x 身份验证。
Mikrotik-Wireless-Enc-Algo 14988 (Mikrotik) 6 值  说明
0  不加密
1  40-bit-WEP
2  104-bit-WEP
3  AES-CCM
4  TKIP
Access-Accept WEP 加密算法(仅无线).
Mikrotik-Wireless-Enc-Key 14988 (Mikrotik) 7 string Access-Accept 客户端的 WEP 加密密钥(仅无线)。
Mikrotik-Rate-Limit 14988 (Mikrotik) 8 string Access-Accept 客户端的数据速率限制。 格式为:rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx- burst-time] [priority] [rx-rate-min[/tx-rate-min]]]] 从路由器的角度来看(“rx”是客户端上传,“tx”是客户端下载)。 所有比率都带有可选“k”(1,000s)或“M”(1,000,000s)的数字。 如果未指定 tx-rate,则 rx-rate 也与 tx-rate 相同。 tx-burst-rate 和 tx-burst-threshold 以及 tx-burst-time 也是如此。 如未指定 rx-burst-threshold 和 tx-burst-threshold(但指定了 burst-rate),则使用 rx-rate 和 tx-rate 作为突发阈值。 如果 rx-burst-time 和 tx-burst-time 均未指定,则默认使用 1s。 优先级取值 1..8,其中 1 表示最高优先级,8 - 最低。 如果未指定 rx-rate-min 和 tx-rate-min,则使用 rx-rate 和 tx-rate 值。 rx-rate-min 和 tx-rate-min 值不能超过 rx-rate 和 tx-rate 值。
Mikrotik-Realm 14988 (Mikrotik) 9 string Access-Request 如果在 /radius 菜单中设置,它将作为 Mikrotik-Realm 属性包含在每个 RADIUS 请求中。 如果未设置,则发送与 MS-CHAP-Domain 属性中相同的值(如果缺少 MS-CHAP-Domain,则也不包括Realm)。
Mikrotik-Host-IP 14988 (Mikrotik) 10 ip 地址 Access-Request Universal Client转换前HotSpot客户端的IP地址(客户端的原始IP地址)。
Mikrotik-Mark-Id 14988 (Mikrotik) 11 string Access-Accept 防火墙 mangle 链名称(仅限 HotSpot)。 MikroTik RADIUS 客户端在收到此属性后创建一个动态防火墙mangle规则,其中 action=jump chain=hotspot 和 jump-target 等于属性值。 Mangle 链名称可以有后缀 .in 或 .out,仅为传入或传出流量设置规则。 可以提供多个 Mark-id 属性,但只使用传入和传出的最后一个。
Mikrotik-Advertise-URL 14988 (Mikrotik) 12 string Access-Accept 包含向客户显示的通告页面的 URL。 如果指定了此属性,则会自动启用通告,包括透明代理,即使它们在相应的用户配置文件中被明确禁用。 多个属性实例可以由 RADIUS 服务器发送以指定循环方式选择的附加 URL。
Mikrotik-Advertise-Interval 14988 (Mikrotik) 13 integer Access-Accept 两个相邻通告之间的时间间隔。 多个属性实例可以由 RADIUS 服务器发送以指定额外的间隔。 所有间隔值都被视为一个列表,并针对每个成功的通告逐一获取。 如果到达列表末尾,则继续使用最后一个值。
Mikrotik-Recv-Limit-Gigawords 14988 (Mikrotik) 14 integer Access-Accept 4G (2^32) 字节的总接收限制(当 0..31位在 Mikrotik-Recv-Limit 中传送时使用32..63位)。
Mikrotik-Xmit-Limit-Gigawords 14988 (Mikrotik) 15 integer Access-Accept 4G (2^32) 字节的总接收限制(当 0..31位在 Mikrotik-Recv-Limit 中传送时使用32..63位)。
Mikrotik-Wireless-PSK 14988 (Mikrotik) 16 string Access-Accept
Mikrotik-Total-Limit 14988 (Mikrotik) 17 integer Access-Accept
Mikrotik-Total-Limit-Gigawords 14988 (Mikrotik) 18 integer Access-Accept
Mikrotik-Address-List 14988 (Mikrotik) 19 string Access-Accept
Mikrotik-Wireless-MPKey 14988 (Mikrotik) 20 string Access-Accept
Mikrotik-Wireless-Comment 14988 (Mikrotik) 21 string Access-Accept
Mikrotik-Delegated-IPv6-Pool 14988 (Mikrotik) 22 string Access-Accept 用于前缀委派的 IPv6 池。
Mikrotik-DHCP-Option-Set 14988 (Mikrotik) 23 string Access-Accept
Mikrotik-DHCP-Option-Param-STR1 14988 (Mikrotik) 24 string Access-Accept
Mikrotik-DHCP-Option-Param-STR2 14988 (Mikrotik) 25 string Access-Accept
Mikrotik-Wireless-VLANID 14988 (Mikrotik) 26 integer Access-Accept 客户端的 VLAN ID(仅无线)。
Mikrotik-Wireless-VLANIDtype 14988 (Mikrotik) 27 值  说明
0  802.1q
1   802.1ad
Access-Accept 客户端的 VLAN ID 类型(仅无线)。
Mikrotik-Wireless-Minsignal 14988 (Mikrotik) 28 string Access-Accept
Mikrotik-Wireless-Maxsignal 14988 (Mikrotik) 29 string Access-Accept
Mikrotik-Switching-Filter 14988 (Mikrotik) 30 string Access-Accept 允许在使用 dot1x 服务器验证客户端时创建动态交换规则。

属性

属性 说明
name (string; Default: ) 属性名称。
packet-types (string; Default: access-accept) - access-accept - 在 RADIUS Access-Accept 消息中使用此属性
- access-challenge - 在 RADIUS Access-Challenge 消息中使用此属性
type-id (integer:1..255; Default: ) 来自特定供应商属性数据库的属性标识号。
value-type (string; Default: ) - hex
- ip地址
- IPv4 ,IPv6 IP 地址
- ip6-prefix - IPv6 prefix
- macro
- string
- uint32
vendor-id (integer; Default: 0) IANA 分配特定的企业标识号。

数据库

Sub-menu: /user-manager database

所有 RADIUS 相关信息都存储在单独的用户管理器数据库中,可在“数据库”子菜单下配置。 “Enabled”和“db-path”是唯一没有存储在用户管理器数据库中的参数,它们存储在主 RouterOS 配置表中,意味着这些参数受到 RouterOS 配置重置的影响。 其余配置、会话和支付数据存储在设备闪存上的单独 SQLite 数据库中。 在对数据库进行操作时,建议操作前后都进行备份。

属性

属性 说明
db-path (string; Default: ) 数据库文件存储位置的路径。

只读属性

属性 说明
db-size 当前数据库大小
free-disk-space 存储数据库磁盘上剩余的可用空间。

命令

属性 说明
load (name) 以 .umb 格式恢复以前创建的备份文件。
migrate-legacy-db (database-path; overwrite) 将旧用户管理器(从 RouterOS v6 或更早版本)转换为新标准。 可以覆盖当前数据库。
optimize-db ()
save (name; overwrite) 保存用户管理器数据库的当前状态。

限制

Sub-menu: /user-manager limitation

限制由配置文件使用,并由配置文件限制链接在一起。 必须启用 RADIUS 记帐和临时更新,以便在达到 download-limitupload-limituptime-limit 时在多个限制之间无缝切换或断开活动会话。

要从用户管理器断开已激活的会话,必须在 RADIUS 客户端上将 accept 设置为 yes 。 如果并发会话限制不是无限的(共享用户)并且已达到最大允许数量,则路由器将首先尝试断开旧用户会话。

用户管理器在接受新用户之前尝试断开活动会话(当设置了适当的限制时),这就是为什么在此类设置中建议把 /radius client timeout设为1s。

RouterOS 中的 IPsec 服务不支持速率限制。

属性

属性 说明
comment (string; Default: ) 限制的简短描述。
download-limit (integer; Default: 0) 用户可以下载的总流量(以字节为单位)。
name (string; Default: ) 限制的唯一名称。
rate-limit-burst-rx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-burst-threshold-rx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-burst-threshold-tx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-burst-time-rx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-burst-time-tx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-burst-tx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-min-rx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-min-tx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-priority () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-rx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
rate-limit-tx () MT-Rate-Limit RADIUS 属性的一部分。 请参阅 Queues#SimpleQueue
reset-counters-interval (hourly daily
reset-counters-start-time (datetime; Default: ) 计算 reset-counters-interval 的静态日期和时间值。
transfer-limit (integer; Default: 0) 以字节为单位的聚合(下载+正常运行)总流量。
upload-limit (integer; Default: 0) 用户可以上传的总流量(以字节为单位)。
uptime-limit (time; Default: 00:00:00) 用户可以保持活跃的总正常运行时间。

付费

Sub-menu: /user-manager payment

本节提供有关所有已付款的信息。

只读属性

属性 说明
currency (string) 交易中使用的货币。
method (string) 用于交易的服务(目前仅限 PayPal)。
price (decimal) 用户支付的金额。
profile (profile) 用户购买的配置文件名称。
trans-end (datetime) 交易开始的日期和时间。
trans-start (datetime) 交易结束的日期和时间。
trans-status (string) 交易的状态。 可能的状态 - startedpendingapproveddeclinederrortimeoutaborteduser approved。 只有 approved 才被视为完整的交易。
user (string; Default: ) 执行交易的用户姓名。
user-message (string; Default: )

配置文件

Sub-menu: /user-manager profile

属性

属性 说明
comment (string; Default: ) 条目的短描述。
name (string; Default: ) 配置文件的唯一名称。
name-for-users (string; Default: ) 将在网页上为用户显示的配置文件的名称。
override-shared-users (decimal | off | unlimited; Default: off) 是否允许具有相同用户名的多个会话。 会覆盖 shared-users 设置。
price (decimal; Default: 0.00)
starts-when (assigned | first-auth; Default: assigned) 配置文件何时变为活动状态。 Assigned - 创建用户配置文件条目时立即分配。 First-auth - 根据用户的第一次身份验证请求。
validity (time | unlimited; Default: unlimited) 用户可以使用此配置文件的总时间。

配置文件限制

Sub-menu: /user-manager profile-limitation

Profile-Limitations 表将 Limitations 和 Profiles 链接在一起并定义其有效期。 当多个限制分配给同一个配置文件时,用户必须遵守所有限制才能建立会话。 这允许创建更复杂的设置,例如,单独的每月和每天带宽限制。

属性

属性 说明
comment (string; Default: ) 简单说明。
from-time (time; Default: 00:00:00) 限制开始的一天中的时间。
limitation (limitation; Default: ) 已创建的限制名称 。
profile (profile; Default: ) 已创建的配置文件名称
till-time (time; Default: 23:59:59) 限制结束的时间。
weekdays (day of week; Default: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) 激活限制的星期。

路由器

Sub-menu: /user-manager router

这里定义了所有可使用用户管理器作为 RADIUS 服务器的 NAS 设备。

属性

属性 说明
coa-port (integer:1..65535; Default: 3799) CoA(授权变更)通信的端口号。
address (IP/IPv6; Default: ) RADIUS客户端的IP地址。
comment (string; Default: ) NAS 的简短描述。
disabled (yes | no; Default: no) 控制条目当前是否处于活动状态。
name (string; Default: ) RADIUS 客户端的唯一名称。
shared-secret (string; Default: ) 用于保护 RADIUS 服务器和 RADIUS 客户端之间的通信。

命令

属性 说明
reset-counters () 清除特定 RADIUS 客户端的所有统计信息。

会话

Sub-menu: /user-manager session

仅当在 NAS 上启用计费时才会记录会话。

只读属性

属性 说明
acct-session-id (string) 计费会话的唯一标识。
active (yes| no) 当前是否使用会话。
calling-station-id (string) 用户的标识符,通常是 IP 地址或 MAC 地址。
download (Bytes) 下载的流量。
ended (datetime) 会话结束的日期和时间。 活动会话为空。
last-accounting-packet (datetime) 收到最后一次计费更新的日期和时间。
nas-ip-address (IP address) NAS的IP地址。
nas-port-id (string) 对用户进行身份验证的 NAS 端口的标识符。
nas-port-type (string) 对用户进行身份验证的端口类型(physicalvirtual)。
started (datetime) 建立会话的日期和时间。
status (list of statuses) 会话的可用状态:start -_accounting message_Start 已收到, stop -_accounting message_Stop 已收到, interim -Interim update 已收到, close-acked - session已成功关闭,expired.
terminate-cause (string) 会话关闭原因。
upload (Bytes) 上传的流量。
uptime (time) 会话中记录的总正常运行时间。
user (string) 用户名
user-address (IP address) 提供给用户的 IP 地址。

设置

Sub-menu: /user-manager

属性

属性 说明
accounting-port (integer; Default: 1813) 监听 RADIUS 记帐请求的端口。
authentication-port (integer; Default: 1812) 监听 RADIUS 身份验证请求的端口。
certificate (certificate; Default: ) 用于 EAP TLS 类型身份验证方法的证书。
enabled (yes | no; Default: no) 是否启用了用户管理器功能。
use-profiles (yes | no; Default: no) 是否使用 配置文件限制。 当设置为 no 时, 只有 用户 配置需要运行用户管理器。

高级属性

Sub-menu: /user-manager advanced

属性

属性 说明
paypal-allow (yes | no; Default: no) 是否为用户管理器启用 PayPal 功能。
paypal-currency (string; Default: USD) 对用户计费的 价格 设置相关的货币。
paypal-password (string; Default: ) 你的 PayPal API 帐户的密码。
paypal-signature (string; Default: ) 你的 PayPal API 帐户的签名。
paypal-use-sandbox (yes | no; Default: no) 是否使用 PayPal 的沙盒环境进行测试。
paypal-user (string; Default: ) 你的 PayPal API 帐户的用户名。
web-private-password (string; Default: ) 通过 HTTP 访问 /um/PRIVATE/ 部分的密码。
web-private-username (string; Default: ) 通过 HTTP 访问 /um/PRIVATE/ 部分的用户名。

用户

Sub-menu: /user-manager user

属性

属性 说明
attributes (array of attributes; Default: ) 自定义的 属性 集和值将另外添加到 Access-Accept 消息中。
caller-id (string; Default: ) 允许使用特定的 Calling-Station-Id 值进行用户身份验证。
comment (string; Default: ) 用户的简短描述。
disabled (yes | no; Default: no) 控制用户是否可以使用。
group (group; Default: default) 用户关联的名称。
name (string; Default: ) 会话验证的用户名。
otp-secret (string; Default: ) 附加到密码的一次性密码令牌。
password (string; Default: ) 会话认证的用户密码。
shared-users (integer | unlimited; Default: 1) 用户可以同时建立的会话总数。

命令

属性 说明
add-batch-users () 该命令可以根据各种参数生成多个用户帐户。
generate-voucher () 基于可以呈现给最终用户的 voucher-template 生成一个文件。
monitor () 显示用户的总统计信息。 统计数据包括_total-uptime_、total-downloadtotal-uploadactive-sessionsactual-profileattributes-details

用户组

Sub-menu: /user-manager user group

用户组定义了多个用户的共同特征,例如允许的身份验证方法和 RADIUS 属性。 用户管理器中已经存在两个组,称为 defaultdefault-anonymous

属性

属性 说明
attributes (array of attributes; Default: ) 一组自定义的 属性 和值将另外添加到该组中用户的 Access-Accept 消息中。
comment (string; Default: ) 组的简短描述。
inner-auths (list of auths; Default: ) 隧道(外部)允许的身份验证方法列表。 支持的内部验证方法 - ttls-papttls-chapttls-mschap1ttls-mschap2peap-mschap2
name (string; Default: ) 唯一的组名称
outer-auths (list of auths; Default: ) 允许的身份验证方法列表。 支持的外部身份验证方法 - papchapmschap1mschap2eap-tlseap-ttlseap-peapeap-mschap2

用户配置文件

Sub-menu: /user-manager user-profile

此菜单为用户分配配置文件并跟踪配置文件的状态。 单个用户可以分配多个配置文件,但同时只能使用一个。 当前活动配置文件到期时,用户将无缝切换到下一个配置文件,而不会中断用户的会话。

属性

属性 说明
profile (profile; Default: ) 要为用户分配的配置文件的名称。
user (user; Default: ) 使用特定配置文件的用户名。

只读属性

属性 说明
end-time (datetime) 用户配置文件 到期的日期和时间。
state (running active | running | used) 用户配置文件的当前状态。 Running active - 用户当前使用的配置文件。 Running - 配置文件已准备好使用。 Used - 无法再激活的过期配置文件。

命令

属性 说明
activate-user-profile () 立即激活 用户配置文件 条目。

WEB接口

每个用户都可以使用 WEB 界面访问他的个人资料。 WEB界面可以通过在路由器的IP或域中添加“/um/”目录来访问,例如 http://example.com/um/ 。 请注意,WEB 界面受 IP 服务“www”和“www-ssl”的影响。 可以使用 CSS、JavaScript 和 HTML 自定义 WEB 界面。

可定制的文件参考

文件 说明
css/login.css 用于登录页面的级联样式表文件。
css/user.css 用户个人资料页面中使用的级联样式表文件。
img/PayPal_mark_37x23.gif PayPal 标志图
img/ajax-loader.gif 在处理页面切换时加载 gif。
img/mikrotik_logo.png MikroTik 标志显示在所有页面上。
js/generic.js 所有页面上使用的 Javascript 文件。
js/login.js 登录页面中使用的 Javascript 文件。
js/user.js 用户个人资料页面中使用的 Javascript 文件。
user/login_dynamic.html 登录页面的布局。
user/user_dynamic.html 用户个人资料页面的布局。

应用指南

批量创建用户

可以使用随机生成的用户名和密码创建多个新用户。 例如,以下命令将生成 3 个新用户,用户名为 6 个小写符号,密码为 6 个小写、大写和数字。

/user-manager user
add-batch-users number-of-users=3 password-characters=lowercase,numbers,uppercase password-length=6 username-characters=lowercase username-length=6

命令生成的用户可以通过打印用户表看到:

/user-manager user print
Flags: X - disabled
0   name="olsgkl" password="86a6zH" otp-secret="" group=default shared-users=1 attributes=""
1   name="lkbwss" password="jaKY5V" otp-secret="" group=default shared-users=1 attributes=""
2   name="cwxbwu" password="a62yZd" otp-secret="" group=default shared-users=1 attributes=""

为 NAS 提供自定义 RADIUS 属性

可以在身份验证过程中发送额外的 RADIUS 属性,以向 NAS 提供有关会话的自定义信息,例如应将哪个 IP 地址分配给请求者或将哪个地址池用于地址分配。

要为最终用户分配静态 IP 地址,可以使用 Framed-IP-Address 属性。 使用静态 IP 地址分配时,shared-sessions 必须设置为 1,以防止用户有多个同时会话但只有一个 IP 地址的情况。 例如:

/user-manager user
set [find name=username] shared-users=1 attributes=Framed-IP-Address:192.168.1.4

可以将多个相似的用户分组,并同时为所有这些用户分配 RADIUS 属性。 首先创建一个新组:

/user-manager user group
add name=location1 outer-auths=chap,eap-mschap2,eap-peap,eap-tls,eap-ttls,mschap1,mschap2,pap \
inner-auths=peap-mschap2,ttls-chap,ttls-mschap1,ttls-mschap2,ttls-pap attributes=Framed-Pool:pool1

下一步是将用户分配给该组:

/user-manager user
 set [find name=username] group=location1

在这种情况下,来自 pool1 的 IP 地址将在身份验证时分配给用户 - 确保 pool1 是在 NAS 设备上创建的。

使用 TOTP(基于时间的一次性密码)进行用户身份验证

用户管理器支持将基于时间的身份验证令牌添加到每 30 秒重新生成一次的用户密码字段。

OTP 取决于时钟,因此请确保正确配置时间设置。

TOTP 的工作原理是在请求者(客户端)和身份验证服务器(用户管理器)上共享一个秘密。 要在 RouterOS 上配置 TOTP,只需为用户设置 otp-secret 。 例如:

/user-manager user
set [find name=username] password=mypass otp-secret=mysecret

要在请求方计算 TOTP 令牌,可以使用许多广泛可用的应用程序,例如 Google Authenticator 或 https://totp.app/。 将 mysecret 添加到 TOTP 令牌生成器将提供一个新的唯一 6 位代码,必须将其添加到用户密码中。

以下示例将接受用户的身份验证,并将计算出的 TOTP 令牌添加到通用密码中,直到生成新的 TOTP 令牌为止,例如,

User-Name=username
User-Password=mypass620872

导出用户凭据

要生成单个用户的可打印凭证卡,只需使用 generate-voucher 命令即可。 指定用户的 RouterOS ID 号或使用 find 命令指定用户名。 模板已包含在用户管理器的安装中,可在设备的“文件”部分找到。 你可以根据需要自定义模板。

/user-manager user
generate-voucher voucher-template=printable_vouchers.html [find where name=username]

通过使用 WEB 浏览器访问路由器的 /um/PRIVATE/GENERATED/vouchers/gen_printable_vouchers.html 可获得生成的优惠券卡

默认情况下,可打印卡片如下所示:

要通过WEB浏览器访问/um/目录的PRIVATE路径,必须配置 private-usernameprivate-password 。 请参阅 设置 部分。

生成凭证时可以使用不同的变量。 目前支持的变量有:

$(username) - Represents User Manager username
$(password) - Password of the username
$(userprofname) - Profile that is active for the particular user
$(userprofendtime) - Profile validity end time if specified

通过使用 export.xmlexport.csv 作为 voucher-template ,可以一次生成包含多个或所有用户凭据的 CSV 或 XML 文件。

/user-manager user
generate-voucher voucher-template=export.xml [find]

该命令生成一个 XML 文件 um5files/PRIVATE/GENERATED/vouchers/gen_export.xml 可以通过 WEB 浏览器或任何其他文件访问工具访问。

<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <username>olsgkl</username>
        <password>86a6zH</password>
    </user>
    <user>
        <username>lkbwss</username>
        <password>jaKY5V</password>
    </user>
    <user>
        <username>cwxbwu</username>
        <password>a62yZd</password>
    </user>
    <user>
        <username>username</username>
        <password>secretpassword</password>
    </user>

</users>

生成使用报告

如果公司账单或法律团队需要可呈现的网络使用信息,则可以使用 generate-report 命令创建自动会话导出。 该命令需要输入报告模板 - um5files/PRIVATE/TEMPLATES/reports/report_default.html 中提供了模板示例。 报告生成示例:

/user-manager
generate-report report-template=report_default.html columns=username,uptime,download,upload

用 WEB 浏览器访问路由器的 /um/PRIVATE/GENERATED/reports/gen_report_default.html 可获得生成的报告

购买配置文件

用 WEB 浏览器访问路由器的 /um/ 目录登录到用户的私人配置文件后,如 http://example.com/um/, 将能够在各自的菜单中看到所有可用的 配置文件 。 已指定 price 值的配置文件会有可用的 购买此配置文件 按钮。

按下 购买此配置文件 按钮后,用户会被要求从可用的交易服务提供商中进行选择(目前只有 PayPal 可用),随后会被重定向到 PayPal 的付款处理页面。

付款完成后,用户经理会要求 PayPal 批准交易。 批准后,配置文件将分配给用户使用。

从RouterOS v6 迁移

应用实例

具有用户管理器身份验证的基本 L2TP/IPsec 服务器

用户管理器配置

首先启用用户管理器功能。

/user-manager
set enabled=yes

允许从本地主机(路由器本身)接收 RADIUS 请求。

/user-manager router
add address=127.0.0.1 comment=localhost name=local shared-secret=test

接下来,添加用户及其凭据,客户端将使用这些凭据向服务器进行身份验证。

/user-manager user
add name=user1 password=password

配置 RADIUS 客户端

对于使用 RADIUS 服务器进行用户身份验证的路由器,需要添加一个新的 RADIUS 客户端,该客户端具有我们已经在用户管理器上配置的相同共享密钥。

/radius
add address=127.0.0.1 secret=test service=ipsec

L2TP/IPsec 服务器配置

配置要分配给用户的 IP 池,并将其分配给 PPP 配置文件。

/ip pool
add name=vpn-pool range=192.168.99.2-192.168.99.100

/ppp profile
set default-encryption local-address=192.168.99.1 remote-address=vpn-pool

允许使用 RADIUS 进行 PPP 身份验证。

/ppp aaa
set use-radius=yes

使用 IPsec 加密启用 L2TP 服务器。

/interface l2tp-server server
set enabled=yes use-ipsec=required ipsec-secret=mySecret

这样就对了。 路由器现在已准备好接受 L2TP/IPsec 连接并向内部用户管理器验证它们