Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Управление UCI через Unifi контроллер в Docker — возможное решение., wifiman
 
Не знаю, пробовал ли кто-то это в долгосрочной перспективе, но кажется, это может быть началом обходного пути для управления UCI через самохостинг контроллеров. Не уверен, поддерживают ли cloud-keys несколько IP-адресов, но вот с Docker-контейнером с Unifi контроллером всё работает (уже несколько часов).

Однако такой подход ломает удалённый доступ к контроллеру — он стал очень нестабильным, хотя, думаю, это скорее проблема с Docker. Контроллер пытается выходить в интернет с обоих IP-адресов, так что, если кто знает, как с этим справиться, делитесь.

Как я сделал так, чтобы UCI приняли: подключил WAN-порт к коммутатору и изолировал его трафик в отдельный VLAN(99). Потом WAN-порт моего роутера подключил к тому же VLAN(99) и добавил это в виртуальную машину, где крутится Docker контейнер. Виртуалка использует статический IP из диапазона 192.168.100.0/24, а второй интерфейс — в моей домашней сети.

Так Unifi-контроллер как бы стоит ногами в двух мирах — 192.168.100.0/24 и домашней сети. Но обязательно отключите DHCP на WAN-интерфейсе этой VM, чтобы он не получил публичный IP от провайдера.

Выходит примерно так:

После этого увидел сообщение с запросом принять UCI по адресу 192.168.100.1.  

А теперь про проблемы с публичным доступом — похоже, софт Unifi пытается использовать оба адреса, из-за чего при заходе через публичный IP приходится несколько раз обновлять страницу или ждать повторных попыток загрузки. Придётся потом больше копаться с этим.

Логи Docker показывают примерно следующее:
:0 TCP candidates not supported yet
:0 TCP candidates not supported yet
:0 Permanent error code on channel bind request: 403 - Forbidden IP
:0 Permanent error code on channel bind request: 403 - Forbidden IP
:0 STUN id:  2; fd: 202 192.168.100.2:43558 -> 54.244.51.7:3478 (ens19) DTLS id: 0 ()(NATDISCOVERY) timed out
:0 STUN id:  6; fd: 205 10.1.2.103:55003 -> 10.1.0.67:56129 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id:  7; fd: 205 10.1.2.103:55003 -> 192.0.0.2:64438 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id:  8; fd: 205 10.1.2.103:55003 -> 72.207.150.111:64807 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id:  9; fd: 205 10.1.2.103:55003 -> 72.207.150.111:43506 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 10; fd: 205 10.1.2.103:55003 -> 172.56.208.12:41966 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 11; fd: 205 10.1.2.103:55003 -> 54.244.51.11:27240 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 12; fd: 205 10.1.2.103:55003 -> 54.244.51.11:54402 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 13; fd: 205 10.1.2.103:55003 -> 54.244.51.11:56166 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 14; fd: 205 10.1.2.103:55003 -> 54.244.51.63:39449 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 15; fd: 205 10.1.2.103:55003 -> 54.244.51.63:42493 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 16; fd: 205 10.1.2.103:55003 -> 54.244.51.11:59758 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 17; fd: 205 10.1.2.103:55003 -> 54.244.51.11:37561 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 18; fd: 205 10.1.2.103:55003 -> 54.244.51.11:43283 (ens18) DTLS id: 0 () (PEER) timed out
:0 STUN id: 19; fd: 202 192.168.100.2:43558 -> 10.1.0.67:56129 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 20; fd: 202 192.168.100.2:43558 -> 192.0.0.2:64438 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 21; fd: 202 192.168.100.2:43558 -> 72.207.150.111:64807 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 22; fd: 202 192.168.100.2:43558 -> 72.207.150.111:43506 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 23; fd: 202 192.168.100.2:43558 -> 172.56.208.12:41966 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 24; fd: 202 192.168.100.2:43558 -> 54.244.51.11:27240 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 25; fd: 202 192.168.100.2:43558 -> 54.244.51.11:54402 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 26; fd: 202 192.168.100.2:43558 -> 54.244.51.11:56166 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 27; fd: 202 192.168.100.2:43558 -> 54.244.51.63:39449 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 28; fd: 202 192.168.100.2:43558 -> 54.244.51.63:42493 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 29; fd: 202 192.168.100.2:43558 -> 54.244.51.11:59758 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 30; fd: 202 192.168.100.2:43558 -> 54.244.51.11:37561 (ens19) DTLS id: 0 () (PEER) timed out
:0 STUN id: 31; fd: 202 192.168.100.2:43558 -> 54.244.51.11:43283 (ens19) DTLS id: 0 () (PEER) timed out
 
@tomlavelle Извини за поздний ответ! У меня сеть работает на Ubuntu-сервере через docker-контейнер. В первые месяц-два UCI работал нормально, но теперь он случайно показывает офлайн в контроллере и не возвращается в онлайн, пока не перезагрузишь питание. Не знаю, что изменилось в последних обновлениях, но стабильность точно ухудшилась. Хотелось бы в итоге прикупить CKG2+ или что-то похожее, чтобы не менять UDM/Gateway и сохранить свой домашний файрвол (OPNsense на Mini PC). Но с тех пор, как впервые говорили, что "Планируется добавить поддержку других типов UniFi Network сайтов (например, управляемых через CloudKey или официальный UniFi Hosting)", я не видел свежих упоминаний о поддержке UCI на CloudKeys, поэтому пока жду лучших решений в будущем. А пока могу мириться с тем, что иногда нужно перезагружать UCI в Network app после обновлений, чтобы снова запустить его онлайн.
 
@briefrelief, где ты запускаешь приложение Network? Я запускаю контроллер Network на своём CKG2+, а в качестве шлюза/фаервола использую UXG-Pro. Мой лицензионный UCI, которому всего день, пришёл с прошивкой 1.3.0, и я пытаюсь найти способ его обновить и, в идеале, подключить и управлять им без UDM. Готов купить новый Gateway Ultra, если он позволит просто использовать его как контроллер сети и при этом оставить UXG-Pro в роли шлюза/роутера, но не знаю, позволит ли такой вариант подключить/управлять/обновлять мой новый UCI.
 
Похоже, что моё первоначальное предположение о том, что версия 8.2.93 может блокировать подключение UCI без устройства UDM, оказалось ошибочным. В итоге я снова развернул Unifi Network Application 8.2.93 и сделал ещё один сброс настроек UCI (используя кнопку сброса на передней панели устройства), и UCI наконец-то снова появился для подключения. Мне удалось успешно принять устройство, и, судя по всему, всё снова отлично работает.

Не совсем понятно, что поменялось с тех пор, как я делал те же самые шаги (повторное развертывание сетевого приложения и сброс конфигурации устройства), но я в итоге перезагрузил сетевой коммутатор, который связывает UCI с моим роутером и VM-хостом (по другой причине), так что это, возможно, сыграло свою роль. Но это странно, ведь перед перезагрузкой коммутатора я видел, что трафик идёт туда и обратно по адресу 192.168.100.1.

@Aethernex, на какую версию ты обновился? Я сейчас работаю на 1.3.6 на своём UCI, и после описанных выше действий всё снова работает нормально. Надеюсь, у тебя тоже скоро всё получится.
 
Тихо удаляют заднюю дверь, о которой говорили, что её никогда не было. 😏
 
Похоже, что последнее обновление не просто ломает это устройство, но и IP-адрес больше не 192.168.100.1, или, по крайней мере, теперь оно не отвечает на ICMP-запросы. Мне удалось подключиться и принять устройство без проблем. Я отправил свои настройки, включая включение SSH и пароль. Однако оно всё равно отказывалось принимать подключения, и я решил всё равно обновить его. После обновления оно перестало отвечать на пинги по этому IP, и я не видел его в таблицах ARP, так что сейчас не уверен, какой у него вообще IP, если он есть. Знаю, что один из модов говорил, что оно общается с UDM через IPv6 Link-Local, так что, возможно, если мы проведём IPv6-тесты, сможем это воспроизвести и заставить работать. Я ещё поиграю с этим позже, посмотрю, что придумаю.
 
@briefrelief Спасибо за отзыв. Я всё равно заказал устройство и попробую разные варианты решения, но грустно слышать, что SSH не работает на этом девайсе, а на остальных у них вроде сразу всё отлично. Отпишусь, если что-то выйдет.
 
Я пытался это сделать, но, похоже, UI либо не включили SSH, либо блокируют подключения к порту 22 на UCI. Я могу пропинговать 192.168.100.1 и вижу весь трафик через Wireshark, но при попытке подключения по SSH появляется эта ошибка. К тому же, для всех: кажется, что в последнем релизе Unifi Network Application 8.2.93 что-то изменилось, и теперь UCI больше не доступен через этот обходной путь. Раньше всё работало идеально в течение двух месяцев, пока я не обновился с версии 8.1.127 до 8.2.93. После обновления устройство показывает статус «отключено», я даже пытался заново принять UCI, но Unifi Network Application теперь вообще не видит его. Раньше UCI без проблем появлялся для принятия.

Возможно, это какой-то мой глюк, но я трижды проверил все настройки и даже перепроверил конфигурацию коммутатора, чтобы убедиться, что UCI и Unifi Network Application могут обмениваться данными (я могу пропинговать 192.168.100.1 с Unifi Network App, которая находится на 192.168.100.2).

Если у кого-то есть идеи или был другой опыт — дайте знать. Я понимаю, что эта конфигурация не поддерживается и, скорее всего, изначально не должна была работать, но жаль, если UI намеренно убили этот обход в последнем обновлении. Надеюсь, это просто баг или я какой-то тупица и что-то пропустил при обновлении до последней версии.
 
Мне было бы интересно, можешь ли ты просто подключить это как обычно, а затем через SSH зайти на устройство по адресу 192.168.100.1 и с помощью команды set-inform host указать на свой файервол с адресом <WAN IP>:8080/inform, а также настроить на файерволе и NAT политику для обработки этого запроса, как при обычном layer 3 adoption.
 
Не смог запустить без IPV4-адреса на контроллере, но это огромный шаг вперёд. Я успешно подключил UCI и обновил его прошивку. Спасибо за этот пост.
 
@smcline06 Отличная работа! Похоже, это работает через локальный линк IPV6. Я попробую без IPV4-адресации и посмотрю, что выйдет. Если получится — отпишусь.
 
Небольшое обновление: UCI самостоятельно обновился до версии 1.3.2 (раньше была 1.2.4) согласно расписанию обновлений Unifi и по-прежнему без проблем отображается в приложении и интерфейсе.
Страницы: 1
Читают тему (гостей: 1)