Identity на MikroTik — имя устройства и hostname
Имя и идентификация MikroTik — /system/identity и hostname
Каждый MikroTik-роутер «из коробки» носит имя MikroTik. Когда в сети один роутер — это не проблема. Но стоит появиться второму, третьему, десятому — и начинается путаница: в WinBox Neighbors все устройства выглядят одинаково, в терминале непонятно, к какому роутеру подключён, а системы мониторинга показывают одинаковые sysName. Правильное именование — первый шаг к порядку в сети.
Руководство актуально для RouterOS 7.20+.
Описание
Identity в RouterOS — это строка, которая идентифицирует устройство. Она отображается в нескольких ключевых местах:
| Где отображается | Как используется |
|---|---|
| Заголовок окна WinBox | Видно сразу, к какому устройству подключён |
| Терминал (CLI prompt) | [admin@GW-OFFICE-01] > вместо [admin@MikroTik] > |
| WinBox Neighbors / IP Neighbors | При поиске устройств в локальной сети |
| SNMP sysName (OID 1.3.6.1.2.1.1.5) | Мониторинг (Zabbix, Grafana, PRTG, LibreNMS) |
| DHCP Client hostname | Некоторые DHCP-серверы логируют hostname клиентов |
| Syslog / Remote logging | Идентификация источника в централизованных логах |
| Dude / Network maps | Автоматическое обнаружение устройств |
По сути, identity — это «визитная карточка» роутера. SNMP-системы мониторинга используют OID sysName (1.3.6.1.2.1.1.5.0), значение которого RouterOS автоматически берёт из /system/identity. Это значит, что правильно настроенное имя сразу появится в Zabbix, Grafana и любой другой системе без дополнительных действий.
Зачем менять identity
- Навигация в WinBox. Открыли Neighbors — видите
GW-OFFICE-01,SW-FLOOR2-03,AP-CONF-ROOM. Сразу понятно, куда подключаться. - Безопасность терминала. Prompt
[admin@GW-OFFICE-01] >не позволит случайно выполнить команду на другом роутере. - Мониторинг. Zabbix и Grafana используют sysName для отображения на картах и в дашбордах.
- Логирование. При отправке логов на syslog-сервер identity помогает отличить сообщения от разных устройств.
- Скрипты. Можно использовать identity в условиях скриптов для выполнения действий только на определённых роутерах.
Конвенции именования
Для сетей с несколькими MikroTik-устройствами рекомендуется придерживаться единой схемы именования. Хорошая конвенция должна отвечать на три вопроса: что это (роль), где это (расположение) и какой по счёту (порядковый номер).
Популярные схемы:
| Формат | Пример | Описание |
|---|---|---|
РОЛЬ-ЛОКАЦИЯ-НОМЕР | GW-OFFICE-01 | Шлюз, офис, первый |
РОЛЬ-ЛОКАЦИЯ-НОМЕР | AP-FLOOR2-03 | Точка доступа, 2 этаж, третья |
РОЛЬ-ЛОКАЦИЯ-НОМЕР | SW-DC-RACK5-01 | Коммутатор, ДЦ, стойка 5, первый |
ЛОКАЦИЯ-РОЛЬ-НОМЕР | MSK-GW-01 | Москва, шлюз, первый |
site.role.number | spb.ap.04 | Санкт-Петербург, точка доступа, четвёртая |
Часто используемые сокращения ролей:
| Сокращение | Роль |
|---|---|
GW | Gateway — шлюз / маршрутизатор |
AP | Access Point — точка доступа |
SW | Switch — коммутатор |
FW | Firewall — межсетевой экран |
VPN | VPN-концентратор |
CPE | Customer Premises Equipment — клиентское устройство |
MGMT | Management — устройство управления |
Рекомендации:
- Используйте только латиницу, цифры и дефисы. Избегайте пробелов, кириллицы и спецсимволов.
- Длина — не более 63 символов (ограничение DNS hostname).
- Не включайте IP-адреса в имя — адреса могут измениться.
- Документируйте схему именования в wiki или CMDB.
Настройка
Базовая установка identity
[admin@MikroTik] >/system/identity/set name=GW-OFFICE-01
Изменение вступает в силу мгновенно — prompt в терминале, заголовок WinBox и SNMP sysName обновятся без перезагрузки.
Просмотр текущего identity
[admin@MikroTik] >/system/identity/print
Результат:
codename: GW-OFFICE-01
Массовая установка identity через скрипт
Если вы настраиваете устройства партиями, удобно задавать identity на основе модели и серийного номера:
routeros:local board [/system/routerboard/get model] :local serial [/system/routerboard/get serial-number] /system/identity/set name="$board-$serial"
Это создаст имя вида hAP ax2-HEF309XXXXXX, что удобно при первоначальной инвентаризации.
Identity в скриптах
Значение identity можно получить в скриптах и использовать для условий или отправки уведомлений:
[admin@MikroTik] ># Получить текущее имя :local hostname [/system/identity/get name] # Отправить уведомление с именем устройства /tool/e-mail/send to="admin@company.ru" \ subject="Alert from $hostname" \ body="CPU usage is high on $hostname"
Пример условного выполнения — скрипт, который работает по-разному на шлюзе и точке доступа:
routeros:local hostname [/system/identity/get name] :if ([:find $hostname "GW"] = 0) do={ :log info "This is a gateway, running gateway-specific tasks" # задачи для шлюза } else={ :if ([:find $hostname "AP"] = 0) do={ :log info "This is an access point, running AP-specific tasks" # задачи для точки доступа } }
Identity и SNMP sysName
RouterOS автоматически транслирует identity в SNMP sysName. Если SNMP включён, убедитесь, что identity содержит осмысленное имя:
[admin@MikroTik] ># Проверка SNMP-настроек /snmp/print # Проверка sysName через snmpwalk (с удалённой машины) # snmpwalk -v2c -c public 192.168.88.1 1.3.6.1.2.1.1.5.0
В Zabbix шаблон MikroTik SNMP использует sysName для поля Host name. Если identity задано корректно — Zabbix автоматически подставит правильное имя при auto-discovery.
Identity и DHCP Client
Если MikroTik получает WAN-адрес по DHCP, identity можно передать как hostname провайдеру:
[admin@MikroTik] >/ip/dhcp-client/set [find interface=ether1] host-name=[/system/identity/get name]
Некоторые ISP используют hostname для идентификации клиентского оборудования.
Проверка
После настройки identity убедитесь, что имя корректно отображается во всех местах.
CLI
[admin@MikroTik] >/system/identity/print
Ожидаемый результат: поле name содержит заданное значение. Prompt в терминале показывает [admin@GW-OFFICE-01] >.
WinBox
- Откройте WinBox, перейдите на вкладку Neighbors.
- В столбце Identity должно отображаться новое имя.
- Заголовок окна подключённой сессии содержит identity.
SNMP
С удалённой машины проверьте sysName:
[admin@MikroTik] ># На MikroTik — убедитесь, что SNMP включён /snmp/print # С Linux-машины (пакет snmp): # snmpget -v2c -c <community> <router-ip> 1.3.6.1.2.1.1.5.0 # Ожидаемый ответ: STRING: "GW-OFFICE-01"
Neighbors
Проверьте, как устройство видят соседи:
[admin@MikroTik] >/ip/neighbor/print detail
В выводе поле identity у текущего устройства (видимое с соседних MikroTik) должно содержать новое имя.
Типичные ошибки
1. Имя осталось MikroTik по умолчанию
Проблема: все устройства в сети называются одинаково. В WinBox Neighbors невозможно отличить один роутер от другого, мониторинг показывает дубликаты.
Решение: задайте уникальное identity на каждом устройстве сразу при первоначальной настройке. Включите этот шаг в чек-лист ввода оборудования в эксплуатацию.
2. Использование кириллицы или спецсимволов
Проблема: имя вида Роутер офис или GW@OFFICE#1 может вызвать проблемы с SNMP, syslog и некоторыми системами мониторинга.
Решение: используйте только латинские буквы, цифры и дефисы. Не используйте пробелы, подчёркивания (допустимы, но дефис предпочтительнее), точки (могут конфликтовать с DNS) и спецсимволы.
[admin@MikroTik] ># Неправильно /system/identity/set name="Роутер в офисе" /system/identity/set name="GW@OFFICE#1" # Правильно /system/identity/set name=GW-OFFICE-01
3. Слишком длинное имя
Проблема: имя длиной более 63 символов может обрезаться в некоторых протоколах (DNS, SNMP). В WinBox длинное имя не помещается в заголовок.
Решение: придерживайтесь коротких, информативных имён длиной 10-25 символов. Формат РОЛЬ-ЛОКАЦИЯ-НОМЕР укладывается в этот лимит.
4. IP-адрес в имени
Проблема: имя GW-192-168-1-1 становится неактуальным после смены адресации.
Решение: не включайте IP-адреса в identity. Для привязки IP к имени используйте DNS-записи или CMDB.
5. Забыли обновить identity после смены роли устройства
Проблема: устройство было точкой доступа (AP-FLOOR1-02), а теперь работает как коммутатор. Старое имя вводит в заблуждение.
Решение: при изменении роли или расположения устройства обновляйте identity. Добавьте этот пункт в процедуру переконфигурации.
6. Identity не появляется в мониторинге
Проблема: в Zabbix или Grafana отображается IP-адрес вместо имени.
Решение: убедитесь, что SNMP включён и community/пользователь настроены корректно. Проверьте, что шаблон мониторинга использует OID sysName (1.3.6.1.2.1.1.5.0). В Zabbix можно настроить автоматическое обновление host name из sysName через discovery rule.
[admin@MikroTik] ># Проверьте, что SNMP включён /snmp/print # enabled: yes # Проверьте доступность SNMP с сервера мониторинга # snmpwalk -v2c -c MyCommunity 10.0.0.1 system
/system/identity/set name=GW-OFFICE-01
/system/identity/print
name: GW-OFFICE-01
:local board [/system/routerboard/get model]
:local serial [/system/routerboard/get serial-number]
/system/identity/set name="$board-$serial"
# Получить текущее имя
:local hostname [/system/identity/get name]
# Отправить уведомление с именем устройства
/tool/e-mail/send to="admin@company.ru" \
subject="Alert from $hostname" \
body="CPU usage is high on $hostname"
:local hostname [/system/identity/get name]
:if ([:find $hostname "GW"] = 0) do={
:log info "This is a gateway, running gateway-specific tasks"
# задачи для шлюза
} else={
:if ([:find $hostname "AP"] = 0) do={
:log info "This is an access point, running AP-specific tasks"
# задачи для точки доступа
}
}
# Проверка SNMP-настроек
/snmp/print
# Проверка sysName через snmpwalk (с удалённой машины)
# snmpwalk -v2c -c public 192.168.88.1 1.3.6.1.2.1.1.5.0
/ip/dhcp-client/set [find interface=ether1] host-name=[/system/identity/get name]
/system/identity/print
# На MikroTik — убедитесь, что SNMP включён
/snmp/print
# С Linux-машины (пакет snmp):
# snmpget -v2c -c <community> <router-ip> 1.3.6.1.2.1.1.5.0
# Ожидаемый ответ: STRING: "GW-OFFICE-01"
/ip/neighbor/print detail
# Неправильно
/system/identity/set name="Роутер в офисе"
/system/identity/set name="GW@OFFICE#1"
# Правильно
/system/identity/set name=GW-OFFICE-01
# Проверьте, что SNMP включён
/snmp/print
# enabled: yes
# Проверьте доступность SNMP с сервера мониторинга
# snmpwalk -v2c -c MyCommunity 10.0.0.1 system