CMR-Client
CMR 客户端是连接到 CMR 服务器并由其集中管理的设备侧组件。
CMR 客户端
CMR 客户端是一台连接到 CMR 服务器并由其集中管理的 RouterOS 设备。CMR 客户端功能包含在主 RouterOS 软件包中。
警告
smips 与 powerpc 架构的设备不支持 CMR 客户端。
CMR 客户端 CLI 参考详细说明了/cmr/client菜单中的每个参数与命令。
启用 CMR 客户端
客户端必须能够通过 TCP 端口 54321 访问 CMR 服务器。请在服务器的防火墙以及客户端与服务器之间的所有防火墙中允许连接该端口。
启用客户端并指定它应连接的 CMR 服务器:
[admin@MikroTik] > /cmr/client set enabled=yes controller-addresses=192.168.88.1 pairing-requirement=password
controller-addresses 不是必填项,但当你希望客户端连接特定 CMR 服务器,或客户端无法通过邻居发现或 DNS 自动发现服务器时,建议设置它(CMR 指南中的 工作原理 章节对两种方式都有说明)。
客户端会联系服务器并报告其配对状态。当前状态及其连接的服务器显示在只读参数 status、controller-address 与 controller-identity 中:
[admin@MikroTik] > /cmr/client print
enabled: yes
pairing-requirement: password
controller-addresses: 192.168.88.1
status: paired,connected
controller-identity: CMR-1
controller-address: 192.168.88.1
客户端会使用 cmr 主题记录每次 status 变化,例如 client status changed: paired,connected。当与服务器的连接中断时(例如服务器上的 CMR 重启),客户端会使用现有配对重新连接。
将客户端与服务器配对
配对会将客户端与 CMR 服务器关联。无论客户端配置的 pairing-requirement 是什么,在本地运行 pair 命令始终会从客户端侧批准配对:
[admin@MikroTik] > /cmr/client/pair username=admin password=secret
Columns: ADDRESS, STATUS
ADDRESS STATUS
192.168.88.1 paired
客户端会与 controller-addresses 中的服务器配对。仅当服务器配置为 pairing-requirement=password 时,才需要用户名与密码来满足服务器要求。它们是服务器上 RouterOS 用户的凭据;CMR 没有单独的配对密码。提供这些凭据后,客户端可远程满足服务器要求。
客户端在 /cmr/client 菜单中也有自己的 pairing-requirement,用于定义客户端接受配对前服务器必须执行的操作。客户端支持 none 与 password,默认值为 password。CMR 服务器还支持 confirm。配对 章节说明了两端要求如何组合。
断开客户端
要忘记配对并断开客户端与服务器的连接:
[admin@MikroTik] > /cmr/client/forget
禁用客户端(/cmr/client set enabled=no)会移除 CMR 在设备上预置的配置。再次启用后,客户端会使用现有配对重新连接。
故障排查
/cmr/client print 中的 status 与 pairing-status 值可显示连接或配对停在哪一步。pairing-status 会列出服务器地址、服务器的配对状态(cmr:)以及客户端自身的配对状态(device:)。
-
status: searching:客户端未找到 CMR 服务器。请将controller-addresses设置为服务器 IP 地址,或检查客户端能否通过 TCP 端口54321访问服务器,以及防火墙是否允许该连接。 -
status: waiting-for-pairing,connected且pairing-status: 192.168.88.1: cmr:waiting confirmation, device:ok:客户端已接受配对并已连接,服务器因pairing-requirement为confirm而等待本地批准。在服务器上,该设备会列于/cmr/device并带有 P(待处理)标志。请在服务器上对该设备运行/cmr/device/pair。 -
status: paired,disconnected,且设备未列在服务器上:客户端保留了与已无法访问的服务器(例如先前的 CMR 服务器)的配对。解决方法是在客户端上忘记配对并重新启用客户端,使其与controller-addresses中的服务器配对:[admin@MikroTik] > /cmr/client/forget [admin@MikroTik] > /cmr/client set enabled=yes controller-addresses=192.168.88.1
在 CMR 服务器本机上,/cmr/client print 会显示注释 "settings ignored because used by local controller"。服务器通过本地控制器管理自身,服务器上的 /cmr/client 设置不会生效。