Interworking Profiles
本页介绍 MikroTik RouterOS 用于无线网络的 interworking profiles,使设备能够通过 IEEE 802.11u 和 Hotspot 2.0 标准交换信息。内容详细说明网络类型、ANQP 元素和场所信息等配置属性,以增强客户端设备的选择和安全性。
Interworking Profiles
Interworking
Interworking(互通)指的是两个或多个事物协同工作。为了获得更好的无线网络体验,接入点与无线客户端设备之间必须交换网络信息。基本无线信标和探测请求中包含的信息是有限的。为此,制定了 IEEE 802.11u™-2011(与外部网络互通)标准,规定设备之间应如何交换信息。借助 interworking 服务,可以增强网络发现和接入点选择过程。无线客户端设备可以拥有更多标准,据此选择要关联的网络。
Hotspot 2.0
Hotspot 2.0 是由 Wi-Fi Alliance 制定并拥有的规范。它的设计目的是在连接 Wi-Fi 网络时提供更接近蜂窝网络的体验。为了提升无线网络安全性,Hotspot 2.0 接入点使用强制性的 WPA2 认证。Hotspot 2.0 依赖 Interworking,并添加了自身的一些属性和流程。
Interworking profiles 根据 IEEE 802.11u 和 Hotspot 2.0 Release 1 规范实现。
信息
本手册页面介绍旧版
wireless软件包(/interface/wireless)的 interworking 配置。有关wifi软件包(/interface/wifi),请参阅 Interworking for WiFi6。
配置属性
子菜单: /interface/wireless/interworking-profiles
信标和探测响应中的信息元素
可以使用 Interworking 元素将一些信息添加到信标和探测响应数据包中。Interworking 元素的以下参数可以配置:
| 属性 | 描述 |
|---|---|
| asra (yes | no;默认值:no) | Additional Steps Required for Access(访问需额外步骤)。如果用户需要采取额外步骤才能访问互联网(例如围墙花园),则设置为 yes。 |
| esr (yes | no;默认值:no) | Emergency services reachable(可访问紧急服务,ESR)。设置为 yes 表示可通过该接入点访问紧急服务。 |
| hessid (MAC address;默认值: ) | Homogenous extended service set identifier(同构扩展服务集标识符,HESSID)。提供对相同外部网络访问的设备属于同一个同构扩展服务集。该服务集可以通过 HESSID 来标识,该服务集中所有接入点的 HESSID 都相同。HESSID 的 6 字节值表示为 MAC 地址。它应该是全局唯一的,因此建议使用服务集中某个接入点的 MAC 地址。 |
| internet (yes | no;默认值:yes) | 是否可以通过此连接访问互联网。此信息包含在 Interworking 元素中。 |
| network-type (emergency-only | personal-device | private | private-with-guest | public-chargeable | public-free | test | wildcard;默认值:wildcard) | 关于网络访问类型的信息。<code>emergency-only</code> - 专用于且仅限于访问紧急服务的网络;<code>personal-device</code> - 个人设备网络。此类网络的一个例子是连接到打印机的相机,从而形成一个用于打印照片的网络;<code>private</code> - 供拥有用户账户的用户使用的网络。通常用于企业中的员工,而非访客;<code>private-with-guest</code> - 与 private 相同,但提供访客账户;<code>public-chargeable</code> - 可供任何愿意付费的人使用的网络。例如,Hotspot 2.0 服务订阅或酒店客房内的互联网接入;<code>public-free</code> - 任何人都可以免费使用的网络。例如,城市中的市政网络或机场 Hotspot;<code>test</code> - 用于测试和实验用途的网络。不用于生产;<code>wildcard</code> - 用于无线客户端。发送 network type 值为 wildcard 的探测请求,将使其所有 Interworking 接入点无视其实际的 network-type 设置而作出响应。客户端发送一个 network-type 设置为其感兴趣的值的探测请求帧。它将只收到具有相同值的接入点的回复(wildcard 情况除外)。 |
| uesa (yes | no;默认值:no) | Unauthenticated emergency service accessible(可访问未认证紧急服务,UESA)。<code>no</code> - 表示无法通过此接入点访问未认证紧急服务;<code>yes</code> - 表示可通过此接入点访问更高层的未认证紧急服务。 |
| venue (venue;默认值:unspecified) | 指定接入点所在的场所。从可用值中选择。一些示例:venue=business-bank``venue=mercantile-shopping-mall``venue=educational-university-or-college |
ANQP 元素
Access network query protocol(接入网查询协议,ANQP)。并非所有必要信息都包含在探测响应和信标帧中。为了让客户端设备在选择要关联的接入点之前获取更多信息,需要使用 ANQP。接入点可以在多个 ANQP 元素中存储信息。客户端设备将使用 ANQP 仅查询其感兴趣的信息。这减少了关联之前所需的时间。
| 属性 | 描述 |
|---|---|
| 3gpp-raw (octet string in hex;默认值: ) | 蜂窝网络通告信息 - 国家代码和网络代码。这有助于 Hotspot 2.0 客户端选择要接入 3GPP 网络的接入点。有关此字段的格式,请参阅 3GPP TS 24.302(附录 H)。如果被查询,该值会在 ANQP 响应中发送。 |
| 3gpp-info(number/number;默认值: ) | 蜂窝网络通告信息 - 国家代码和网络代码。这有助于 Hotspot 2.0 客户端选择要接入 3GPP 网络的接入点。写作 "mcc/mnc"。用法与 "3gpp-raw" 相同,但不使用十六进制。可以通过用逗号分隔来定义多个 mcc/mnc 对。 |
authentication-types (dns-redirection:url | https-redirection:url | online-enrollment:url | terms-and-conditions:url;默认值: ) | 此属性仅在 asra 设置为 yes 时有效。url 的值是可选的,如果选择了 dns-redirection 或 online-enrollment 则不需要。要将 url 的值设置为空字符串,请使用双引号。例如:authentication-types=online-enrollment:"" |
| connection-capabilities (number:number:closed|open|unknown;默认值: ) | 此选项允许提供关于允许的 IP 协议和端口的信息。此信息可以在 ANQP 响应中提供。第一个数字代表 IP 协议号,第二个数字代表端口号。<code>closed</code> - 如果协议和端口组合不被允许则设置;<code>open</code> - 如果协议和端口组合被允许则设置;<code>unknown</code> - 如果协议和端口组合可能是开启或关闭则设置。示例:connection-capabilities=6:80:open,17:5060:closed 在接入点上设置这样的值会通知正在连接到该接入点的无线客户端:允许 HTTP(6 - TCP,80 - HTTP),不允许 VoIP(17 - UDP;5060 - VoIP)。此属性不会限制或允许使用这些协议和端口,它只是向正在连接到接入点的 station 设备提供信息。 |
| domain-names (list of strings;默认值: ) | 零个或多个完全限定域名(FQDN),指示运营该 Hotspot 的实体。正在连接到接入点的 station 可以请求此 ANQP 属性,并检查其拥有凭据的任何域名是否存在后缀匹配。 |
| ipv4-availability (double-nated | not-available | port-restricted | port-restricted-double-nated | port-restricted-single-nated | public | single-nated | unknown;默认值:not-available) | 关于可用的 IPv4 地址和访问类型的信息。<code>not-available</code> - 地址类型不可用;<code>public</code> - 可用的公共 IPv4 地址;<code>port-restricted</code> - 可用的端口受限 IPv4 地址;<code>single-nated</code> - 可用的单层 NAT 私有 IPv4 地址;<code>double-nated</code> - 可用的双层 NAT 私有 IPv4 地址;<code>port-restricted-single-nated</code> - 可用的端口受限 IPv4 地址和单层 NAT IPv4 地址;<code>port-restricted-double-nated</code> - 可用的端口受限 IPv4 地址和双层 NAT IPv4 地址;<code>unknown</code> - 地址类型的可用性未知。 |
| ipv6-availability (available | not-available | unknown;默认值:not-available) | 关于可用的 IPv6 地址和访问类型的信息。<code>not-available</code> - 地址类型不可用;<code>available</code> - 地址类型可用;<code>unknown</code> - 地址类型的可用性未知。 |
| realms (string:eap-sim|eap-aka|eap-tls|not-specified;默认值: ) | 关于支持的 realm 及相应 EAP 方法的信息。realms=example.com:eap-tls,foo.ba:not-specified |
| realms-raw (octet string in hex;默认值: ) | 手动设置 NAI Realm ANQP 元素。 |
| roaming-ois (octet string in hex;默认值: ) | 组织标识符(OI)通常是 24 位的唯一标识符,如组织唯一标识符(OUI)或公司标识符(CID)。在某些情况下,OI 更长,例如 OUI-36。订阅服务提供商(SSP)可以通过其 OI 来指定。roaming-ois 属性可以包含零个或多个 SSP 的 OI,这些 SSP 的网络可通过此 AP 访问。OI 的长度应在 OI 本身之前指定。例如,要设置 E4-8D-8C 和 6C-3B-6B:roaming-ois=03E48D8C036C3B6B |
| venue-names (string:lang;默认值: ) | 场所名称可用于提供关于场所的附加信息。它可以帮助客户端选择合适的接入点。Venue-names 参数由零个或多个包含场所名称和语言代码的二元组组成:venue-names=CoffeeShop:eng,TiendaDeCafe:es Language Code 字段的值是从 ISO-639 中选择的两到三个字符的语言代码。 |
Realms raw
realms-raw - 一个包含十六进制值的字符串列表。每个字符串指定 "NAI Realm Tuple" 的内容,但不包括 "NAI Realm Data Field Length" 字段。
每个十六进制编码的字符串必须包含以下字段:
- NAI Realm Encoding (1 byte)
- NAI Realm Length (1 byte)
- NAI Realm (variable)
- EAP Method Count (1 byte)
- EAP Method Tuples (variable)
例如,值 "00045465737401020d00" 解码为:
- NAI Realm Encoding: 0 (rfc4282)
- NAI Realm Length: 4
- NAI Realm: Test
- EAP Method Count: 1
- EAP Method Length: 2
- EAP Method Tuple: TLS, no EAP method parameters
注意,设置 "realms-raw=00045465737401020d00" 所产生的通告内容与设置 "realms=Test:eap-tls" 相同。
有关完整的 NAI Realm 编码,请参阅 802.11-2016 第 9.4.5.10 节。
Hotspot 2.0 ANQP 元素
Hotspot 2.0 规范引入了一些额外的 ANQP 元素。这些元素使用 ANQP 供应商特定元素 ID。以下是可用于更改这些元素的属性。
| 属性 | 描述 |
|---|---|
| hotspot20 (yes | no;默认值:yes) | 指示接入点的 Hotspot 2.0 能力。 |
| hotspot20-dgaf (yes | no;默认值:yes) | Downstream Group-Addressed Forwarding(下行组寻址转发,DGAF)。设置 DGAF 位的值,以指示发送给客户端的组播和广播帧是禁用还是启用。<code>yes</code> - 发送给客户端的组播和广播帧已启用;<code>no</code> - 发送给客户端的组播和广播帧已禁用。要禁用组播和广播帧,请设置 multicast-helper=full。 |
| operational-classes (list of numbers;默认值: ) | 关于同一 ESS 其他可用频段的信息。 |
| operator-names (string:lang;默认值: ) | 设置运营商名称。必须为每个运营商名称条目指定语言。Operator-names 参数由零个或多个包含运营商名称和语言代码的二元组组成:operator-names=BestOperator:eng,MejorOperador:es Language Code 字段的值是从 ISO-639 中选择的两到三个字符的语言代码。 |
| wan-at-capacity (yes | no;默认值:no) | 接入点或网络是否处于其最大容量。如果设置为 yes,将不允许额外的移动设备关联到该 AP。 |
| wan-downlink (number;默认值:0) | WAN 连接的下行速度,以 kbps 为单位设置。如果下行速度未知,则设置为 0。 |
| wan-downlink-load (number;默认值:0) | 在 wan-measurement-duration 期间测得的 WAN 连接下行负载。值从 0 到 255。<code>0</code> - 未知;<code>255</code> - 100%。 |
| wan-measurement-duration (number;默认值:0) | 测量 wan-downlink-load 和 wan-uplink-load 的持续时间。该值是一个从 0 到 65535 的数字,表示十分之一秒。<code>0</code> - 未测量;<code>10</code> - 1 秒;<code>65535</code> - 1 小时 49 分钟或更长。 |
| wan-status (down | reserved | test | up;默认值:reserved) | 关于接入点 WAN 连接状态的信息。值 reserved 表示状态未被通告。 |
| wan-symmetric (yes | no;默认值:no) | WAN 链路是否对称(上传和下载速度相同)。 |
| wan-uplink (number;默认值:0) | WAN 连接的上行速度,以 kbps 为单位设置。如果上行速度未知,则设置为 0。 |
| wan-uplink-load (number;默认值:0) | 在 wan-measurement-duration 期间测得的 WAN 连接上行负载。值从 0 到 255。<code>0</code> - 未知;<code>255</code> - 100%。 |
其他属性
| 属性 | 描述 |
|---|---|
| comment (string;默认值: ) | 配置文件的简短描述 |
| name (string;默认值: ) | Interworking profile 的名称。 |
使用原生 RadSec 和 Orion Wifi 的配置指南
本指南介绍如何设置你的 MikroTik 设备,以便将其与 RadSec 代理和 Orion Wifi 一起使用,不过主要配置步骤保持不变,也可以与不同的提供商一起使用: 请确保使用最新的长期支持或稳定版 RouterOS 发行版。
在无线 LAN 控制器和 Orion Wifi 之间建立安全的 RADIUS 连接非常重要。
Orion Wifi 使用 RADIUS over TLS(RadSec)来确保 AAA 流量的端到端加密。
- 导入你从 Orion 下载的 RadSec 证书:
在 WinBox 中拖放证书,然后对其使用 import 功能,该功能可在 WinBox 的 /system/certificates 下找到。等效的命令行是:
/certificate/import file-name=bw.radsec.cacert.pem passphrase=""
/certificate/import file-name=cert.pem passphrase=""
/certificate/import file-name=key.pem passphrase=""



证书导入后,它们应该看起来像这样:

- 配置 Radius 客户端:

等效的命令行:
/radius/add address=216.239.32.91 certificate=cert.pem_0 protocol=radsec service=wireless timeout=1s500ms
- 创建一个执行 802.1x 认证的无线安全配置文件:



等效的命令行是:
/interface/wireless/security-profiles/add authentication-types=wpa2-eap management-protection=allowed mode=dynamic-keys name=dot1x_profile supplicant-identity="" radius-eap-accounting=yes eap-methods=passthrough
- 下一步是配置无线接口并分配创建好的安全配置文件。按 "Advanced mode" 查看所有选项:

等效的命令行是:
/interface/wireless/set [ find default-name=wlan1 ] mode=ap-bridge security-profile=dot1x_profile wps-mode=disabled
确保配置了正确的国家配置文件。在本示例中,我们使用的是 "wlan1",但相同的命令也适用于其他接口,或者写作 /interface/wireless/set wlan1。
- 配置 interworking 设置(hotspot 2.0):



等效的命令行:
/interface/wireless/interworking-profile/add domain-names=orion.area120.com ipv4-availability=public name=Orion_MikroTik network-type=public-chargeable operator-names=Orion:eng realms=orion.area120.com:eap-tls roaming-ois=f4f5e8f5f4,baa2D00100,baa2d00000 venue=business-unspecified venue-names=Orion:eng wan-downlink=50 wan-uplink=50 wan-status=up
警告
请特别注意 "wan-downlink" 和 "wan-uplink",在此场景中 "50" 这个值只是占位符,请务必根据你的实际设置调整这些值。一些客户端设备用它来评估是否应该加入网络。根据实际情况设置 "venue" - 场所类型、"venue-names" 和其他属性。"domain-names" 应该是 hotspot 2.0 运营商的域名。
- 将 interworking profile 分配给接口:

等效的命令行是:
/interface/wireless/set wlan1 interworking-profile=Orion_MikroTik
如果你看不到 interworking-profile 字段,请按 "Advanced mode"。
注意:Orion 用于区分网络的 NAS-id 等于系统身份标识,要调整 nas-id,你可以执行 /system/identity/set name=exampleName。
使用 RadSec 代理和 Orion Wifi 的配置指南
本指南介绍如何设置你的 MikroTik 设备,以便将其与 RadSec 代理和 Orion Wifi 一起使用,不过主要配置步骤保持不变,也可以与不同的提供商一起使用: 本指南假定你已经使用 Orion Wifi 凭据配置了 radsecproxy。请确保使用最新的长期支持或稳定版 RouterOS 发行版。
在无线 LAN 控制器和 Orion Wifi 之间建立安全的 RADIUS 连接非常重要。
Orion Wifi 使用 RADIUS over TLS(RadSec)来确保 AAA 流量的端到端加密。本指南适用于 RouterOS 接入点在流量通过互联网发送之前,将 AAA 流量重定向到 RadSec 代理(radsecproxy)的场景。
- 配置指向 radsecproxy 的 Radius 客户端:

等效的命令行是:
/radius/add address=192.168.88.233 secret=yourSecret service=wireless timeout=1s500ms
该 secret 应与 radsecproxy 上配置的 secret 相匹配。在本示例中,"192.168.88.233" 是运行该代理的虚拟机。
- 创建一个将执行 802.1x 认证的无线安全配置文件:



等效的命令行是:
/interface/wireless/security-profiles/add authentication-types=wpa2-eap management-protection=allowed mode=dynamic-keys name=dot1x_profile supplicant-identity="" radius-eap-accounting=yes eap-methods=passthrough
- 下一步是配置无线接口并分配创建好的安全配置文件。按 "Advanced mode" 查看所有选项:

等效的命令行是:
/interface/wireless/set [ find default-name=wlan1 ] mode=ap-bridge security-profile=dot1x_profile wps-mode=disabled
确保配置了正确的国家配置文件。在本示例中,我们使用的是 "wlan1",但相同的命令也适用于其他接口,或者写作 /interface/wireless/set wlan1。
- 配置 interworking 设置(hotspot 2.0):



等效的命令行:
/interface/wireless/interworking-profile/add domain-names=orion.area120.com ipv4-availability=public name=Orion_MikroTik network-type=public-chargeable operator-names=Orion:eng realms=orion.area120.com:eap-tls roaming-ois=f4f5e8f5f4,baa2D00100,baa2d00000 venue=business-unspecified venue-names=Orion:eng wan-downlink=50 wan-uplink=50 wan-status=up
警告
务必在 "wan-downlink" 和 "wan-uplink" 中指定一些值,在此场景中 "50" 这个值只是占位符,一些客户端设备用它来评估是否应该加入网络。根据实际情况设置 "venue" - 场所类型、"venue-names" 和其他属性。"domain-names" 应该是 hotspot 2.0 运营商的域名。
- 将 interworking profile 分配给接口:

此步骤也可以通过以下命令完成:
/interface/wireless/set wlan1 interworking-profile=Orion_MikroTik
如果 radsecproxy 正常工作,那么安装了相应 Hotspot profile 的客户端应该能够连接。
注意:Orion 用于区分网络的 NAS-id 等于系统身份标识。要调整 nas-id,你可以执行 /system/identity/set name=exampleName。
故障排除
要检查 RADIUS 消息的状态,你可以使用 radius 菜单。

或者,通过命令行运行 /radius/monitor X,X 为数字 ID。你可以使用 /radius/print 查看这些 ID。
有关更多信息,可以在 /system/logging/add topics=radius,debug,packet 下配置额外的日志记录。你可以在 /log 下查看结果。
要查看活动无线连接,请检查无线注册表 /interface/wireless/registration-table/print:
