Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Ubiquiti Network Management System. Часть 14 - Обнаружение устройств

 19 Июнь 2018    Новости ASP24, Ubiquiti Networks

В этой статье описывается, как обнаружить устройства с помощью UNMS и что делать, если Вы столкнулись с проблемами.

Функция обнаружения является одной из приоритетных в UNMS версии 0.13.0 и будет включать в себя множество улучшений и изменений.

Важно понимать, как работает обнаружение, чтобы знать, с какими проблемами можно столкнутся. В этой статье объясняется, как происходит процесс обнаружения и что делать, если Вы не можете обнаружить устройство, либо можете его обнаружить, но не получается его подключить. В случае, если Вы не хотите, чтобы Ваше устройство было обнаружено по какой-либо причине, эта статья также содержит сведения о том, как предотвратить обнаружение.

Как работает обнаружение

UNMS отправляет пакеты обнаружения на каждый IP-адрес в указанном диапазоне и ждет ответа устройства. Устройство отправляет обратно базовую информацию, указанную в Discovery Manager: имя, SSID, модель, версию прошивки, MAC-адрес и список всех интерфейсов. Пакет обнаружения отправляется с использованием UDP на порт 10001, он состоит из четырех байтов 0x1 0x0 0x0 0x0.

ВНИМАНИЕ: устройство реагирует только на пакеты, отправленные из диапазонов частной сети.

Блокировка обнаружения

Если вы хотите, чтобы Ваше устройство не было обнаружено, выполните следующие действия:

airMAX: перейдите по пути "SETTINGS >  Services > Device Discovery"установите флажок в положение OFF и нажмите "Save Settings"

EdgeRouter: В настоящее время это можно сделать только через правило брандмауэра. Чтобы настроить правило, выполните следующие команды:

configure
edit firewall name disable-discover
set default-action accept
set rule 100 action 'drop'
set rule 100 description 'Drop discovery packets'
set rule 100 protocol 'udp'
set rule 100 destination port 10001
exit
# apply rule to the interface that is connected to the Internet
set interfaces ethernet eth0 firewall local name 'disable-discover'
commit
save

show interfaces
ПРИМЕЧАНИЕ. Правило блокирует всю входящую связь UDP на порт 10001, потенциально Вы отключаете больше, чем просто обнаружение.

Чтобы отключить правило, выполните следующие действия:

configure
delete interfaces ethernet eth0 firewall local name 'disable-discover'
commit
save

Исправление проблем

Ниже указаны три возможных типа неполадок и способы их решения.

Проблема. Я не вижу никаких устройств или некоторых устройств.

Известные проблемы:

  • Обнаружение не работает на Debian 8. Рекомендуется обновить до Debian 9, которая официально поддерживается.
  • Обнаружение не работает с UNMS, работающем в контейнере LXC. Есть проблемы с контейнерами LXC - поэтому они официально не поддерживаются.
  • Текущая версия (0.12.0) обнаружения UNMS не может найти устройства с IP-адресами в общедоступных диапазонах(она может работать со старым FW, но не с новым). Будет измененно в версии 0.13.0.
  • Убедитесь, что на Вашем устройстве включено обнаружение: 
    airMAX: в разделе "SETTINGS > Services > Device Discovery". Если флажок установлен в положение "OFF", измените его на "ON" и нажмите "Save Settings".
    EdgeRouter: в разделе "SETTINGS > System > UBNT Discovery". Если флажок установлен в положение "OFF", измените его на "ON" и нажмите "Save". Кроме того, Вам нужно проверить, нет ли активной записи брандмауэра для блокировки UDP-пакетов на порту 10001, как показано в разделе "Блокировка обнаружения".
  • Проверьте traceroute/ping/curl с Вашего сервера UNMS на IP-адрес устройства.
    ping 192.168.x.x
    traceroute -n 192.168.x.x
  • Проверьте traceroute/ping/curl с Вашего сервера UNMS на IP-адрес устройства.
    ping 192.168.x.x
    traceroute -n 192.168.x.x
  • Проверьте коллизии виртуальной подсети Docker.
    IP-адрес контейнера может "столкнуться" с реальным IP-адресом в Вашей сети. Запустите ifconfig на своем сервере UNMS, чтобы увидеть IP-адрес Docker:
    $ ifconfig
      br-6805a10e2e92 Link encap:Ethernet  HWaddr 02:42:d3:f8:f1:64
                inet addr:172.18.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
                inet6 addr: fe80::42:d3ff:fef8:f164/64 Scope:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:196618 errors:0 dropped:0 overruns:0 frame:0
                TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0
                RX bytes:5506244 (5.5 MB)  TX bytes:764 (764.0 B)
      
      docker0   Link encap:Ethernet  HWaddr 02:42:dd:1c:c3:57
                inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
                inet6 addr: fe80::42:ddff:fe1c:c357/64 Scope:Link
                UP BROADCAST MULTICAST  MTU:1500  Metric:1
                RX packets:8 errors:0 dropped:0 overruns:0 frame:0
                TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0
                RX bytes:536 (536.0 B)  TX bytes:648 (648.0 B)
    

    Если такой IP существует в Вашей сети, Вам придется изменить подсеть Docker следующим образом:
    cd /home/unms/app
    docker-compose -p unms down
    docker network create unms_default --subnet 172.30.0.1/24
    docker-compose -p unms up -d
    
  • Проверьте с помощью tcpdump, что Ваше устройство получает пакет UDP из Вашего UNMS и отправляет ответ.
  • Убедитесь, что Вы используете только 24 диапазона для общедоступных IP-адресов.
  • Подумайте, поддерживается ли ваше устройство UNMS, вот список поддерживаемых устройств: EdgeRouter (since UNMS 0.11.0) EdgeSwitch (since UNMS 0.11.0) UFiber OLT (since UNMS 0.11.0) airMAX (AC/M) (since UNMS 0.11.0) airCube (since UNMS 0.11.0) airFiber OLT (since UNMS 0.12.0) EdgeSwitch XP (since UNMS 0.12.0) EdgePower (since UNMS 0.12.0)

ПРИМЕЧАНИЕ. Если Ваш FW не является по меньшей мере этой версией, то процесс обнаружения принудительно обновит Ваше устройство до последней версии FW:

- EdgeRouter старше 1.9.7-hotfix4
- EdgeSwitch старше 1.7.3. (если они старше 1.4.0, Вам необходимо обновить их вручную)
- UFiber OLT без ограничний
- airMAX M старше 8.4.3
- airMAX AC старше 6.1.3
- airCube без ограничний
- AirFiber LTU старше 1.1.1
- EdgeSwitch XP старше 1.4.0
- EdgePower старше 1.2.0

Проблема. Я могу обнаружить устройство, но соединение с UNMS не работает.

ПРИМЕЧАНИЕ. Не все инструменты доступны на всех устройствах. Только у EdgeRouter гарантированы все инструменты, описанные ниже.
  • Проверьте traceroute/ping/curl с устройства на Ваш сервер UNMS. IP/доменное имя:
    ping unms-server.com
    traceroute -n 192.168.x.x
    curl --insecure https://192.168.x.x:443/v2.1/nms/version
    
  • Проверьте обновление HTTPS на WebSocket:
    curl --insecure --include --no-buffer --header "Connection: Upgrade" --header "Upgrade: websocket" --header "Host: example.com:80" --header "Origin: http://example.com:80" --header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" --header "Sec-WebSocket-Version: 13" https://192.168.x.x:443/
    Значения параметров -header не имеют значения, Вы можете использовать example.com, как показано. Только последний параметр должен быть реальным адресом Вашего сервера UNMS. Это должно возвращать результат, аналогичный приведенному ниже, что указывает на успешное обновление WebSocket:
    HTTP/1.1 101 Switching Protocols
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Accept: qGHgK3En71di5rrssAZTmtRTyFk=
    
    db332780afad264425162cb11d19ffd1ac9ad3658f63cb56968a8a2592054a39aac950bcdae301e39eea75f28c7d3e7dd32a568f0fcf67f25b692434c825ffc7d13b7f8bcec1fb649919d784723f039ef50deb939eeb2b1bd602f56339ac20b65b3
    
  • Убедитесь, что устройство имеет правильное время и дату. Для подключения SSL требуется действительное время и дата. Это может быть проблемой для устройств, не подключенных к Интернету или с отключенной службой NTP.
  • Если устройство было подключено ранее, попробуйте обновить его ключ UNMS, нажав "Refresh" в соответствующей строке в таблице "Devices". Если этого не произойдет - можно вручную вставить универсальный ключ UNMS через пользовательский интерфейс устройства.

Проблема: проблемы с разрешением имен доменов

Авторский перевод UNMS - Device Discovery