CAPsMAN
本页记录 RouterOS 中的 CAPsMAN(集中式接入点管理),涵盖无线控制器设置的配置,包括 AAA 认证、RADIUS 服务器集成、用于客户端管理的访问列表以及安全配置文件。它提供了 MAC 地址格式、缓存间隔和 RADIUS 记账更新等详细参数,以及跨多个 SSID 进行 radius 认证的示例配置。
CAPsMAN
信息
这是旧版 CAPsMAN(
/caps-man),供运行wireless软件包(/interface/wireless)的设备使用。对于运行wifi-qcom或wifi-qcom-ac软件包(/interface/wifi菜单)的设备,请改为参阅 WiFi CAPsMAN。两者是独立的:WiFi CAP 只能加入 WiFi CAPsMAN,旧版 CAP 只能加入旧版 CAPsMAN。 本节涵盖 CAPsMAN 无线控制器文档。使用它来为受支持的 RouterOS 无线设备配置集中式接入点管理。
CAPsMAN AAA
用于配置 CAPsMAN AAA 功能的设置位于 /caps-man/aaa 菜单中:
| 属性 | 描述 |
|---|---|
| mac-format (string;默认值:XX:XX:XX:XX:XX:XX) | 控制接入点在 MAC 认证和 MAC 记账 RADIUS 请求的 User-Name 属性中如何编码客户端的 MAC 地址。 |
| mac-mode (as-username | as-username-and-password;默认值:as-username) | 默认情况下,接入点在 MAC 认证期间发送 Access-Request 时使用空密码。当此属性设置为 as-username-and-password 时,接入点将对 User-Password 属性使用与 User-Name 属性相同的值。 |
| mac-caching (disabled | time-interval;默认值:disabled) | 如果此值设置为一个时间间隔,接入点将把 RADIUS MAC 认证响应缓存指定的时间,如果已存在匹配的缓存条目,则不会联系 RADIUS 服务器。值 disabled 将禁用缓存。接入点将始终联系 RADIUS 服务器。 |
| interim-update (disabled | time-interval;默认值:disabled) | 当使用 RADIUS 记账时,接入点会定期向 RADIUS 服务器发送记账信息更新。此属性指定默认更新间隔,RADIUS 服务器可以使用 Acct-Interim-Interval 属性覆盖该间隔。 |
| called-format (mac | mac:ssid | ssid;默认值:mac:ssid) | "called-id" 标识符传递给 RADIUS 的格式。配置 radius 服务器客户端时,你可以指定 "called-id" 以区分多个条目。 |
示例
假设其余设置都已配置好,只剩下 "Security" 部分。
使用单个服务器的 Radius 认证
-
创建 CAPsMAN 安全配置。
-
配置 Radius 服务器客户端。
-
将配置分配给你的 master profile(或直接分配给 CAP 本身)。
/caps-man/security/add authentication-types=wpa2-eap eap-methods=passthrough encryption=aes-ccm group-encryption=aes-ccm name=radius
/radius/add address=x.x.x.x secret=SecretUserPass service=wireless
/caps-man/configuration/set security=radius
为每个 SSID 使用不同 radius 服务器的 Radius 认证
-
创建 CAPsMAN 安全配置。
-
配置 AAA 设置。
-
配置 Radius 服务器客户端。
-
将配置分配给你的 master profile(或直接分配给 CAP 本身)。
/caps-man/security/add authentication-types=wpa2-eap eap-methods=passthrough encryption=aes-ccm group-encryption=aes-ccm name=radius
/caps-man/aaa/set called-format=ssid
/radius/add address=x.x.x.x secret=SecretUserPass service=wireless called-id=SSID1
/radius/add address=y.y.y.y secret=SecretUserPass service=wireless called-id=SSID2
/caps-man/configuration/set security=radius
现在,所有连接到 ssid=SSID1 的 CAP 的人,其 radius 认证请求都会被发送到 x.x.x.x,所有连接到 ssid=SSID2 的 CAP 的人,其 radius 认证请求都会被发送到 y.y.y.y
CAPsMAN Access-list
CAPsMAN 上的访问列表是一个有序的规则列表,用于允许/拒绝客户端连接到 CAPsMAN 控制下的任何 CAP。当客户端尝试连接到由 CAPsMAN 控制的 CAP 时,CAP 会将该请求转发给 CAPsMAN。作为注册过程的一部分,CAPsMAN 会查询访问列表,以确定是否应允许客户端连接。访问列表的默认行为是允许连接。
访问列表规则会逐条处理,直到找到匹配的规则。然后执行匹配规则中的操作。如果操作指定应接受该客户端,则接受该客户端,并可能用在访问列表规则中指定的参数覆盖其默认连接参数。
访问列表在 /caps-man/access-list 菜单中配置。访问列表规则有以下参数:
- 客户端匹配参数:
- address - 客户端的 MAC 地址。
- mask - 比较客户端地址时要应用的 MAC 地址掩码。
- interface - 可选接口,用于与客户端实际连接的接口进行比较。
- time - 规则匹配的日期时间及星期。
- signal-range - 规则匹配所需的客户端信号范围。
- allow-signal-out-of-range - 允许客户端信号始终或在某个时间间隔内超出范围的选项。
- 操作参数 - 指定客户端匹配时要采取的操作:
- accept - 接受该客户端。
- reject - 拒绝该客户端。
- query-radius - 向 RADIUS 服务器查询特定客户端是否允许连接。
- 连接参数:
- ap-tx-limit - 朝向客户端方向的发送速率限制。
- client-tx-limit - 朝向 AP 方向的发送速率限制(仅适用于 RouterOS 客户端)。
- client-to-client-forwarding - 指定是否允许将从该客户端接收的数据转发到连接到同一接口的其他客户端。
- private-passphrase - 敏感 如果使用某种 PSK 认证算法,则为该客户端使用的 PSK 密码短语。
- radius-accounting - 指定如果为该客户端完成 RADIUS 认证,是否应使用 RADIUS 流量记账。
- vlan-mode - VLAN 标记模式,指定来自客户端的流量是否应被标记(并在发往客户端时取消标记)。
- vlan-id - 如果进行 VLAN 标记,则使用的 VLAN ID。
CAPsMAN channel
信道组设置允许配置与无线电信道相关的设置列表,例如无线电频段、频率、Tx Power、扩展信道和宽度。
信道组设置在 Channels profile 菜单 /caps-man/channels 中配置。
| 属性 | 描述 |
|---|---|
| band (2ghz-b | 2ghz-b/g | 2ghz-b/g/n | 2ghz-onlyg | 2ghz-onlyn | 5ghz-a | 5ghz-a/n | 5ghz-onlyn;默认值: ) | 定义取自无线网卡硬件能力的工作无线电频段和模式 |
| comment (string;默认值: ) | Channel Group profile 的简短描述 |
| extension-channel (Ce | Ceee | eC | eCee | eeCe | eeeC | disabled;默认值: ) | 扩展信道配置。(例如 Ce = 扩展信道在 Control 信道之上,eC = 扩展信道在 Control 信道之下) |
| frequency (integer [0..4294967295];默认值: ) | AP 运行的频道频率值,单位为 MHz。 |
| name (string;默认值: ) | Channel Group Profile 的描述性名称 |
| tx-power (integer [-30..40];默认值: ) | CAP 接口的 TX Power(针对整个接口而非单个链路),单位为 dBm。不能设置得高于国家法规或接口所允许的值。默认情况下,使用国家或接口允许的最大值。 |
| width (;默认值: ) | 设置信道宽度,单位为 MHz。(例如 20、40) |
| save-selected (;默认值:yes) | 为 CAP Radio 保存所选信道 - 在 CAP 重新连接到 CAPsMAN 后将选择此信道并使用它,直到对该 CAP 执行信道 Re-optimize。 |
CAPsMAN configuration
配置配置文件允许将预定义的"顶层"master 设置应用于正在进行 provisioning 的 CAP radio。
配置配置文件在 /caps-man/configuration 菜单中配置:
| 属性 | 描述 |
|---|---|
| channel (list;默认值: ) | 取自 Channel 名称(/caps-man/channels)的用户定义列表 |
| channel.band (2ghz-b | 2ghz-b/g | 2ghz-b/g/n | 2ghz-onlyg | 2ghz-onlyn | 5ghz-a | 5ghz-a/n | 5ghz-onlyn | 5ghz-a/n/ac | 5ghz-only-ac;默认值: ) | 定义所用信道的集合。 |
| channel.control-channel-width (40mhz-turbo | 20mhz | 10mhz | 5mhz;默认值: ) | 定义所用信道宽度的集合。 |
| channel.extension-channel (Ce | Ceee | eC | eCee | eeCe | eeeC | xx | xxxx | disabled;默认值: ) | 扩展信道配置。(例如 Ce = 扩展信道在 Control 信道之上,eC = 扩展信道在 Control 信道之下) |
| channel.frequency (integer [0..4294967295];默认值: ) | AP 运行的频道频率值,单位为 MHz。如果留空,CAPsMAN 将自动确定占用最少的最佳频率。 |
| channel.reselect-interval (time [00:00:00]; [00:00:00..00:00:00];默认值: ) | 选择占用最少频率之后的间隔,可以定义为随机间隔,例如 "30m..60m"。仅在 channel.frequency 留空时有效。 |
| channel.save-selected (yes | no;默认值:no) | 如果信道频率是自动选择的并且使用了 channel.reselect-interval,则保存最后选取的频率。 |
| channel.secondary-frequency (integer [0..4294967295];默认值:auto) | 指定将用于 80+80MHz 配置的第二个频率。将其设置为 Disabled 以禁用 80+80MHz 能力。 |
| channel.skip-dfs-channels (yes | no;默认值:no) | 如果 channel.frequency 留空,选择时会跳过 DFS 信道 |
| channel.tx-power (integer [-30..40];默认值: ) | CAP 接口的 TX Power(针对整个接口而非单个链路),单位为 dBm。不能设置得高于国家法规或接口所允许的值。默认情况下使用国家或接口允许的最大值。 |
| channel.width (;默认值: ) | 设置信道宽度,单位为 MHz。 |
| comment (string;默认值: ) | Configuration profile 的简短描述 |
| country (name of the country | no_country_set;默认值:no_country_set) | 限制可用频段、频率以及每个频率的最大发射功率。还指定 scan-list 的默认值。值 no_country_set 是一组符合 FCC 的信道。 |
| datapath (list;默认值: ) | 取自 Datapath 名称(/caps-man/datapath)的用户定义列表 |
| datapath.bridge (list;默认值: ) | 应将特定接口自动添加为其端口的桥接。仅在未使用 local-forwarding 时需要。 |
| datapath.bridge-cost (integer [1..200000000];默认值: ) | 作为桥接端口添加时使用的桥接端口开销 |
| datapath.bridge-horizon (integer [0..4294967295];默认值: ) | 作为桥接端口添加时使用的桥接 horizon |
| datapath.client-to-client-forwarding (yes | no;默认值:no) | 控制是否允许连接到接口的无线客户端之间的客户端到客户端转发,在本地转发模式下此功能由 CAP 执行,否则由 CAPsMAN 执行 |
| datapath.interface-list (;默认值: ) | |
| datapath.l2mtu (;默认值: ) | 设置 Layer2 MTU 大小 |
| datapath.local-forwarding (yes | no;默认值:no) | 控制转发模式。如果禁用,所有 L2 和 L3 数据将被转发到 CAPsMAN,并且只有到那时才会做出进一步的转发决策。注意,如果禁用,请确保参与同一广播域的每个 CAP 接口 MAC 地址都是唯一的(包括本地 MAC,如 Bridge-MAC)。 |
| datapath.mtu (;默认值: ) | 设置 MTU 大小 |
| datapath.openflow-switch (;默认值: ) | 要将接口添加到的 OpenFlow 交换机端口(启用时) |
| datapath.vlan-id (integer [1..4095];默认值: ) | 如果 vlan-mode 启用了 VLAN 标记,则分配给接口的 VLAN ID |
| datapath.vlan-mode (use-service-tag | use-tag;默认值: ) | 启用并指定分配给接口的 VLAN 标记类型(导致所有接收到的数据都被标记 VLAN tag,并允许该接口只发送带有给定 tag 的数据) |
| disconnect-timeout (;默认值: ) | |
| distance (;默认值: ) | |
| frame-lifetime (;默认值: ) | |
| guard-interval (any | long;默认值:any) | 是否允许使用短保护间隔(有关这可能如何影响吞吐量,请参阅 802.11n MCS 规范)。"any" 将根据数据速率使用短或长,"long" 将只使用长。 |
| hide-ssid (yes | no;默认值: ) | yes - AP 不在信标帧中包含 SSID,并且不应答具有广播 SSID 的探测请求。no - AP 在信标帧中包含 SSID,并应答具有广播 SSID 的探测请求。此属性仅在 AP 模式下有效。将其设置为 yes 可以将此网络从某些客户端软件显示的无线网络列表中移除。更改此设置不会改善无线网络的安全性,因为 SSID 包含在 AP 发送的其他帧中。 |
| hw-protection-mode (;默认值: ) | |
| hw-retries (;默认值: ) | |
| installation (any | indoor | outdoor;默认值:any) | |
| keepalive-frames (enabled | disabled;默认值:enabled) | |
| load-balancing-group (string;默认值: ) | 将接口标记到负载均衡组。为了使客户端能够连接到该组中的接口,该接口已连接客户端的数量应与组中所有其他接口相同或更少。在 CAP 范围大多重叠的配置中很有用。 |
| max-sta-count (integer [1..2007];默认值: ) | 最大关联客户端数。 |
| mode (;默认值:ap) | 设置工作模式。目前仅支持 ap。 |
| multicast-helper (default | disabled | full;默认值:default) | 当设置为 full 时,组播数据包将以单播目标 MAC 地址发送,解决无线链路上的组播问题。此选项只应在接入点上启用,客户端应配置为 station-bridge 模式。disabled - 禁用该助手并以组播目标 MAC 地址发送组播数据包 full - 在发送出去之前,所有组播数据包 MAC 地址都被更改为单播 mac 地址 default - 默认选择,目前设置为 disabled。该值可能会在未来版本中更改。 |
| name (string;默认值: ) | Configuration Profile 的描述性名称 |
| rates (;默认值: ) | 取自 Rates 名称(/caps-man/rates)的用户定义列表 |
| rates.basic (1Mbps | 2Mbps | 5.5Mbps | 6Mbps | 9Mbps | 11Mbps | 12Mbps | 18Mbps | 24Mbps | 36Mbps | 48Mbps | 54Mbps;默认值: ) | |
| rates.supported (1Mbps | 2Mbps | 5.5Mbps | 6Mbps | 9Mbps | 11Mbps | 12Mbps | 18Mbps | 24Mbps | 36Mbps | 48Mbps | 54Mbps;默认值: ) | |
| rates.ht-basic-mcs (list of (mcs-0 | mcs-1 | mcs-2 | mcs-3 | mcs-4 | mcs-5 | mcs-6 | mcs-7 | mcs-8 | mcs-9 | mcs-10 | mcs-11 | mcs-12 | mcs-13 | mcs-14 | mcs-15 | mcs-16 | mcs-17 | mcs-18 | mcs-19 | mcs-20 | mcs-21 | mcs-22 | mcs-23);默认值:mcs-0; mcs-1; mcs-2; mcs-3; mcs-4; mcs-5; mcs-6; mcs-7) | 每个连接的客户端都必须支持的调制与编码方案。有关 MCS 规范,请参阅 802.11n。 |
| rates.ht-supported-mcs (list of (mcs-0 | mcs-1 | mcs-2 | mcs-3 | mcs-4 | mcs-5 | mcs-6 | mcs-7 | mcs-8 | mcs-9 | mcs-10 | mcs-11 | mcs-12 | mcs-13 | mcs-14 | mcs-15 | mcs-16 | mcs-17 | mcs-18 | mcs-19 | mcs-20 | mcs-21 | mcs-22 | mcs-23);默认值:mcs-0; mcs-1; mcs-2; mcs-3; mcs-4; mcs-5; mcs-6; mcs-7; mcs-8; mcs-9; mcs-10; mcs-11; mcs-12; mcs-13; mcs-14; mcs-15; mcs-16; mcs-17; mcs-18; mcs-19; mcs-20; mcs-21; mcs-22; mcs-23) | 此设备声明支持的调制与编码方案。有关 MCS 规范,请参阅 802.11n。 |
| rates.vht-basic-mcs (none | MCS 0-7 | MCS 0-8 | MCS 0-9;默认值:none) | 每个连接的客户端都必须支持的调制与编码方案。有关 MCS 规范,请参阅 802.11ac。你可以为每个 Spatial Stream 设置 MCS 间隔 none - 不使用选定的 Spatial Stream MCS 0-7 - 客户端必须支持 MCS-0 到 MCS-7 MCS 0-8 - 客户端必须支持 MCS-0 到 MCS-8 MCS 0-9 - 客户端必须支持 MCS-0 到 MCS-9 |
| rates.vht-supported-mcs (none | MCS 0-7 | MCS 0-8 | MCS 0-9;默认值:none) | 此设备声明支持的调制与编码方案。有关 MCS 规范,请参阅 802.11ac。你可以为每个 Spatial Stream 设置 MCS 间隔 none - 不使用选定的 Spatial Stream MCS 0-7 - 设备将声明支持 MCS-0 到 MCS-7 MCS 0-8 - 设备将声明支持 MCS-0 到 MCS-8 MCS 0-9 - 设备将声明支持 MCS-0 到 MCS-9 |
| rx-chains (list of integer [0..3];默认值:0) | 用于接收的天线。 |
| security (string;默认值:none) | 来自 /caps-man/security 的安全配置名称 |
| security.authentication-types (list of string;默认值:none) | 指定认证类型,从 wpa-psk、wpa2-psk、wpa-eap 或 wpa2-eap 中选择 |
| security.disable-pmkid (;默认值: ) | |
| security.eap-methods (eap-tls | passthrough;默认值:none) | eap-tls - 使用内置 EAP TLS 认证。passthrough - 接入点将认证过程中继到 RADIUS 服务器。 |
| security.eap-radius-accounting (;默认值: ) | 指定如果为该客户端完成 RADIUS 认证,是否应使用 RADIUS 流量记账 |
| security.encryption (aes-ccm | tkip;默认值: ) | 设置所使用的单播加密算法类型 |
| security.group-encryption (aes-ccm | tkip;默认值:aes-ccm) | 接入点声明使用其中一种密码,可以选择多个值。接入点使用它来加密所有广播和组播帧。客户端只尝试连接到使用指定组密码之一的接入点。tkip - Temporal Key Integrity Protocol - 加密协议,与旧版 WEP 设备兼容,但经过增强以修正部分 WEP 缺陷。aes-ccm - 更安全的 WPA 加密协议,基于可靠的 AES(高级加密标准)。不含 WEP 遗留的网络应只使用此密码。 |
| security.group-key-update (time: 30s..1h;默认值:5m) | 控制接入点更新组密钥的频率。此密钥用于加密所有广播和组播帧。该属性仅对接入点有效。 |
| security.passphrase (string;默认值: ) 敏感 | WPA 或 WPA2 预共享密钥 |
| security.tls-certificate (none | name;默认值: ) | 当 security.tls-mode 设置为 no-certificates 以外的值时,接入点始终需要证书。 |
| security.tls-mode (verify-certificate | dont-verify-certificate | no-certificates | verify-certificate-with-crl;默认值: ) | 此属性仅在 security.eap-methods 包含 eap-tls 时有效。verify-certificate - 要求远端设备拥有有效证书。检查它是否由已知的证书颁发机构签名。不进行额外的身份验证。证书可能包含其有效期信息。如果路由器的时间日期不正确,它可能会拒绝有效证书,因为路由器的时钟在该有效期之外。另请参阅 Certificates 配置。dont-verify-certificate - 不检查远端设备的证书。接入点将不要求客户端提供证书。no-certificates - 不使用证书。TLS 会话使用 2048 位匿名 Diffie-Hellman 密钥交换建立。verify-certificate-with-crl - 与 verify-certificate 相同,但还会通过检查证书吊销列表来验证证书是否有效。 |
| ssid (string (0..32 chars);默认值: ) | SSID(服务集标识符)是在信标中广播的名称,用于标识无线网络。 |
| tx-chains (list of integer [0..3];默认值:0) | 用于发送的天线。 |
CAPsMAN datapath
Datapath 设置控制数据转发相关的方面。在 CAPsMAN 中,datapath 设置在 datapath profile 菜单 /caps-man/datapath 中配置,或者直接在配置 profile 或接口菜单中作为带有 datapath. 前缀的设置进行配置。
有两种主要的转发模式:
- 本地转发模式,其中 CAP 在本地与无线接口之间转发数据。
- 管理器转发模式,其中 CAP 将无线接收到的所有数据发送给 CAPsMAN,并且只发送从 CAPsMAN 接收到的无线数据。在此模式下,即使客户端到客户端转发也由 CAPsMAN 控制和执行。
转发模式按接口逐一配置 - 因此,如果一个 CAP 提供 2 个无线电接口,可以将其一个配置为本地转发模式,另一个配置为管理器转发模式。这同样适用于 Virtual-AP 接口 - 每个接口都可以具有与 master 接口或其他 Virtual-AP 接口不同的转发模式。
大多数 datapath 设置仅在管理器转发模式下使用,因为在本地转发模式下 CAPsMAN 无法控制数据转发。
有以下 datapath 设置:
- bridge -- 启用时要将接口作为桥接端口添加到的桥接接口。
- bridge-cost -- 作为桥接端口添加时使用的桥接端口开销。
- bridge-horizon -- 作为桥接端口添加时使用的桥接 horizon。
- client-to-client-forwarding -- 控制是否应允许连接到接口的无线客户端之间的客户端到客户端转发,在本地转发模式下此功能由 CAP 执行,否则由 CAPsMAN 执行。
- local-forwarding -- 控制转发模式。
- openflow-switch -- 启用时要将接口作为端口添加到的 OpenFlow 交换机。
- vlan-id -- 如果 vlan-mode 启用了 VLAN 标记,则分配给接口的 VLAN ID。
- vlan-mode -- VLAN 标记模式,指定是否应给接口分配 VLAN tag(导致所有接收到的数据都被标记 VLAN tag,并允许该接口只发送带有给定 tag 的数据)。
CAPsMAN interface
CAPsMAN 接口在 /caps-man/interface 菜单中管理:
[admin@CM] > /caps-man/interface/print
Flags: M - master, D - dynamic, B - bound, X - disabled, I - inactive, R - running
# NAME RADIO-MAC MASTER-INTERFACE
0 M BR cap2 00:0C:42:1B:4E:F5 none
1 B cap3 00:00:00:00:00:00 cap2
CAPsMAN manager
| 属性 | 描述 |
|---|---|
| enabled (yes | no;默认值:no) | 禁用或启用 CAPsMAN 功能 |
| certificate (auto | certificate name | none;默认值:none) | 设备证书 |
| ca-certificate (auto | certificate name | none;默认值:none) | 设备 CA 证书 |
| require-peer-certificate (yes | no;默认值:no) | 要求所有连接的 CAP 拥有有效证书 |
| package-path (string |;默认值: ) | RouterOS 软件包的文件夹位置。例如,使用 "/upgrade" 指定 files 区段中的 upgrade 文件夹。如果设置为空字符串,CAPsMAN 可以使用内置的 RouterOS 软件包,注意在这种情况下,只有与 CAPsMAN 架构相同的 CAP 才会被升级。 |
| upgrade-policy (none | require-same-version | suggest-same-version;默认值:none) | CAPsMAN 可以向 CAP 设备发送 NPK 软件包以升级它们。这会绕过 CAP 设备可能具有的任何升级渠道偏好,并通过简单的数字比较来工作。如果 CAPsMAN 上安装了更新的版本,它将发送软件包并升级设备,无论渠道如何。none - 不执行升级 require-same-version - CAPsMAN 建议升级 CAP 的 RouterOS 版本,如果失败,它将不会对该 CAP 进行 provisioning。(仍可手动 provision)suggest-same-version - CAPsMAN 建议升级 CAP 的 RouterOS 版本,如果失败,它仍会对其进行 provisioning |
CAPsMAN provisioning
CAPsMAN 根据 common-name 标识符来区分 CAP。该标识符根据以下规则生成:
- 如果 CAP 提供证书,则标识符设置为证书中的 Common Name 字段。
- 否则,标识符基于 CAP 提供的 Base-MAC,格式为:'[XX:XX:XX:XX:XX:XX]'。
当与 CAP 的 DTLS 连接成功建立时(这意味着 CAP 标识符已知且有效),CAPsMAN 会确保没有使用相同标识符的过时 CAP 连接。当前连接的 CAP 列在 /caps-man/remote-cap 菜单中:
[admin@CM] /caps-man> remote-cap print
# ADDRESS IDENT STATE RADIOS
0 00:0C:42:00:C0:32/27044 MT-000C4200C032 Run 1
CAPsMAN 根据无线接口(radio)的内置 MAC 地址(radio-mac)来区分它们。这意味着不可能在一个 CAPsMAN 上管理两个具有相同 MAC 地址的 radio。当前由 CAPsMAN 管理的 radio(由已连接的 CAP 提供)列在 /caps-man/radio 菜单中:
[admin@CM] /caps-man> radio print
Flags: L - local, P - provisioned
# RADIO-MAC INTERFACE REMOTE-AP-IDENT
0 P 00:03:7F:48:CC:07 cap1 MT-000C4200C032
当 CAP 连接时,CAPsMAN 首先尝试根据 radio-mac 将每个 CAP radio 绑定到 CAPsMAN master 接口。如果找到合适的接口,则使用 master 接口配置以及引用该特定 master 接口的 slave 接口的配置来设置该 radio。此时,接口(master 和 slaves)被视为已绑定到 radio,并且该 radio 被视为已 provisioned。
如果没有找到匹配的 master 接口,CAPsMAN 将执行 'provisioning rules'。Provisioning 规则是一个有序的规则列表,包含指定要匹配哪个 radio 的设置,以及指定如果 radio 匹配则采取什么操作的设置。
用于匹配 radio 的 provisioning 规则在 /caps-man/provisioning 菜单中配置:
| 属性 | 描述 |
|---|---|
| action (create-disabled | create-enabled | create-dynamic-enabled | none;默认值:none) | 如果规则匹配则要采取的操作,由以下设置指定:create-disabled - 为 radio 创建禁用的静态接口。即接口将绑定到 radio,但在手动启用接口之前,radio 不会工作;create-enabled - 创建启用的静态接口。即接口将绑定到 radio,radio 将工作;create-dynamic-enabled - 创建启用的动态接口。即接口将绑定到 radio,radio 将工作;none - 不执行任何操作,使 radio 处于未 provisioning 状态; |
| comment (string;默认值: ) | Provisioning 规则的简短描述 |
| common-name-regexp (string;默认值: ) | 用于按 common name 匹配 radio 的正则表达式。每个 CAP 的 common name 标识符可以在 /caps-man/radio 下作为 "REMOTE-CAP-NAME" 值找到 |
| hw-supported-modes (a|a-turbo|ac|an|b|g|g-turbo|gn;默认值: ) | 按支持的无线模式匹配 radio |
| identity-regexp (string;默认值: ) | 用于按路由器身份匹配 radio 的正则表达式 |
| ip-address-ranges (IpAddressRange[,IpAddressRanges] max 100x;默认值:"") | 匹配 IP 位于所配置地址范围内的 CAP。 |
| master-configuration (string;默认值: ) | 如果 action 设置为创建接口,则将创建一个新的 master 接口,其配置设置为此配置 profile |
| name-format (cap | identity | prefix | prefix-identity;默认值:cap) | 指定 CAP 接口名称创建的语法 cap - 默认名称 identity - CAP 主板的系统身份名称 prefix - 来自 name-prefix 值的名称 prefix-identity - 来自 name-prefix 值的名称加上 CAP 主板的系统身份名称 |
| name-prefix (string;默认值: ) | 名称前缀,可用于 name-format 中以创建 CAP 接口名称 |
| radio-mac (MAC address;默认值:00:00:00:00:00:00) | 要匹配的 radio 的 MAC 地址,空 MAC(00:00:00:00:00:00)表示匹配所有 MAC 地址 |
| slave-configurations (string;默认值: ) | 如果 action 设置为创建接口,则为此列表中的每个配置 profile 创建一个新的 slave 接口。 |
警告
如果没有规则匹配该 radio,则执行 action 为 create-enabled 且未设置任何配置的隐式默认规则。 要获取活动的 provisioning 匹配器:
[admin@CM] /caps-man/provisioning> print
Flags: X - disabled
0 radio-mac=00:00:00:00:00:00 action=create-enabled master-configuration=main-cfg
slave-configurations=virtual-ap-cfg name-prefix=""
为了方便用户,有一些命令允许对某个 radio 或某个 AP 提供的所有 radio 重新执行 provisioning 过程:
[admin@CM] > /caps-man/radio/provision 0
以及
[admin@CM] > /caps-man/remote-cap/provision 0
CAPsMAN radio
CAPsMAN rates
CAPsMAN registration-table
Registration 表包含连接到由 CAPsMAN 控制的 radio 的客户端列表,可在 /caps-man/registration-table 菜单中使用:
[admin@CM] /caps-man> registration-table print
# INTERFACE MAC-ADDRESS UPTIME RX-SIGNAL
0 cap1 00:03:7F:48:CC:0B 1h38m9s210ms -36
CAPsMAN remote-cap
CAPsMAN security
假设其余设置都已配置好,只剩下 "Security" 部分。
使用单个服务器的 Radius 认证
-
创建 CAPsMAN 安全配置。
-
配置 Radius 服务器客户端。
-
将配置分配给你的 master profile(或直接分配给 CAP 本身)。
/caps-man/security/add authentication-types=wpa2-eap eap-methods=passthrough encryption=aes-ccm group-encryption=aes-ccm name=radius
/radius/add address=x.x.x.x secret=SecretUserPass service=wireless
/caps-man/configuration/set security=radius
为每个 SSID 使用不同 radius 服务器的 Radius 认证
-
创建 CAPsMAN 安全配置。
-
配置 AAA 设置。
-
配置 Radius 服务器客户端。
-
将配置分配给你的 master profile(或直接分配给 CAP 本身)。
/caps-man/security/add authentication-types=wpa2-eap eap-methods=passthrough encryption=aes-ccm group-encryption=aes-ccm name=radius
/caps-man/aaa/set called-format=ssid
/radius/add address=x.x.x.x secret=SecretUserPass service=wireless called-id=SSID1
/radius/add address=y.y.y.y secret=SecretUserPass service=wireless called-id=SSID2
/caps-man/configuration/set security=radius
现在,所有连接到 ssid=SSID1 的 CAP 的人,其 radius 认证请求都会被发送到 x.x.x.x,所有连接到 ssid=SSID2 的 CAP 的人,其 radius 认证请求都会被发送到 y.y.y.y