Всем привет! У меня возникли проблемы с переводом AP на внешний Linux-сервер. Я установил UniFi Controller через APT-репозиторий, версия сейчас 4.8.14. AP, который пытаюсь подключить, работает под версией 3.3.19. Мы пробовали два разных Linux-сервера — без успеха, а потом попробовали Windows-сервер с контроллером, и там всё работает. Думаю, проблема на стороне контроллера — ошибка в коммуникации.
Я подключался к AP по SSH, сбрасывал к заводским настройкам, потом в mca-cli делал обновление командой set-inform:
UniFi# set-inform
Запрос на подтверждение отправлен на 'http://unifi.<domain>.nl:8080/inform'.
AP делает запрос к серверу, и я вижу на сервере, что он пытается подключиться и запросить /inform у контроллера. Но контроллер возвращает ошибку 404:
226 2358.880062 213.125.255.X -> 149.210.142.X HTTP 455 POST /inform HTTP/1.1 (application/x-binary)
228 2358.882386 149.210.142.X -> 213.125.255.X HTTP 223 HTTP/1.1 404 Not Found
Что я сделал дальше — перехватил этот запрос локально с помощью netcat и попытался воспроизвести его на сервере. Результат тот же:
# nc unifi.<domain>.nl 8080 < stream
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
X-FRAME-OPTIONS: SAMEORIGIN
Content-Length: 0
Date: Thu, 17 Mar 2016 10:33:10 GMT
Connection: close
Самое странное — если воспроизвести эти данные на Windows-сервере с контроллером, приходит реальный ответ:
# nc 192.168.5.110 8080 < stream
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-FRAME-OPTIONS: SAMEORIGIN
Content-Type: application/x-binary
Content-Length: 456
Date: Thu, 17 Mar 2016 10:33:48 GMT
Connection: close
TNBU$�< (�nQc� ... и дальше данные ...
Фаерволлов, которые могут блокировать трафик, нет. После выполнения set-inform и команды info видно, что AP подключён:
UniFi# info
Model: UAP-LR
Version: 3.3.19.4015
MAC Address: 24:a4:3c:0c:28:c7
IP Address: 192.168.5.10
Hostname: UBNT
Uptime: 1816 секунд
Status: Connected ()
Но... Если через некоторое время сделать команду info снова, AP уже подключён к Windows-серверу контроллера:
UniFi# info
Model: UAP-LR
Version: 3.3.19.4015
MAC Address: 24:a4:3c:0c:28:c7
IP Address: 192.168.5.10
Hostname: UBNT
Uptime: 2368 секунд
Status: Connected ()
Я не понимаю, почему так происходит. Уже связался с поддержкой, они разбираются, но может кто-то уже сталкивался с этим и хочет следить за ситуацией.
Поскольку запрос работает на Windows, а на Linux (удалённом) сервере идёт ошибка 404, думаю, проблема именно в Linux-версии контроллера. Я проверил — на порту 8080 нет никаких других служб, только UniFi Controller.
Если у кого-то есть идеи или это уже решалось, буду очень признателен за информацию.
С уважением,
P.
Я подключался к AP по SSH, сбрасывал к заводским настройкам, потом в mca-cli делал обновление командой set-inform:
UniFi# set-inform
Запрос на подтверждение отправлен на 'http://unifi.<domain>.nl:8080/inform'.
AP делает запрос к серверу, и я вижу на сервере, что он пытается подключиться и запросить /inform у контроллера. Но контроллер возвращает ошибку 404:
226 2358.880062 213.125.255.X -> 149.210.142.X HTTP 455 POST /inform HTTP/1.1 (application/x-binary)
228 2358.882386 149.210.142.X -> 213.125.255.X HTTP 223 HTTP/1.1 404 Not Found
Что я сделал дальше — перехватил этот запрос локально с помощью netcat и попытался воспроизвести его на сервере. Результат тот же:
# nc unifi.<domain>.nl 8080 < stream
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
X-FRAME-OPTIONS: SAMEORIGIN
Content-Length: 0
Date: Thu, 17 Mar 2016 10:33:10 GMT
Connection: close
Самое странное — если воспроизвести эти данные на Windows-сервере с контроллером, приходит реальный ответ:
# nc 192.168.5.110 8080 < stream
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-FRAME-OPTIONS: SAMEORIGIN
Content-Type: application/x-binary
Content-Length: 456
Date: Thu, 17 Mar 2016 10:33:48 GMT
Connection: close
TNBU$�< (�nQc� ... и дальше данные ...
Фаерволлов, которые могут блокировать трафик, нет. После выполнения set-inform и команды info видно, что AP подключён:
UniFi# info
Model: UAP-LR
Version: 3.3.19.4015
MAC Address: 24:a4:3c:0c:28:c7
IP Address: 192.168.5.10
Hostname: UBNT
Uptime: 1816 секунд
Status: Connected ()
Но... Если через некоторое время сделать команду info снова, AP уже подключён к Windows-серверу контроллера:
UniFi# info
Model: UAP-LR
Version: 3.3.19.4015
MAC Address: 24:a4:3c:0c:28:c7
IP Address: 192.168.5.10
Hostname: UBNT
Uptime: 2368 секунд
Status: Connected ()
Я не понимаю, почему так происходит. Уже связался с поддержкой, они разбираются, но может кто-то уже сталкивался с этим и хочет следить за ситуацией.
Поскольку запрос работает на Windows, а на Linux (удалённом) сервере идёт ошибка 404, думаю, проблема именно в Linux-версии контроллера. Я проверил — на порту 8080 нет никаких других служб, только UniFi Controller.
Если у кого-то есть идеи или это уже решалось, буду очень признателен за информацию.
С уважением,
P.
