Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
UniFi контроллер использует веб-прокси для загрузки прошивки?, UniFi Network
 
Как настроить контроллер UniFi для использования веб-прокси при загрузке обновлений и прошивок, когда выходит новая версия? Казалось бы, достаточно указать для Java системные свойства httpProxy, но у нас это не сработало. Мы делали так:

# cat /etc/default/unifi  
UNIFI_JVM_EXTRA_OPTS="-Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxyserver -Dhttps.proxyPort=3128"

И видим, что в командной строке запуска Java эти параметры действительно есть, но при попытке «проверить обновление прошивки» всё равно происходит прямое подключение к интернету (что в нашей среде запрещено). Вот что мы нашли по поддержке прокси в Java, может, кто знает, почему это у нас не работает?  
http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
 
Думаю, версия 5.9 сломала твой скрипт 🙁 Unifi больше не видит прошивки, чтобы их кешировать.
 
Плюс один за поддержку прокси. Это действительно помогло бы укрепить мою настройку в DMZ, которая не имеет прямого доступа в Интернет.
 
@brendankearney

Спасибо, спасибо, спасибо! Просто идеально сработало.
 
@UBNT-MikeD, ты не в курсе, планируете ли сделать возможность использовать прокси для исходящего http/https трафика?
 
Ещё один способ с использованием nginx.  
1) Добавьте строку «127.0.0.1 dl.ubnt.com» в /etc/hosts  
2) Установите nginx и внесите изменения в секцию location / {} следующим образом:  
location / {  
    proxy_pass "http://YOUR_PROXY_IP:8080";  
    proxy_set_header Host $host;  
    ## заголовок авторизации  
    proxy_set_header Proxy-Authorization "Basic BASE64_ENCODED_STRING";  
}  
где BASE64_ENCODED_STRING — результат команды  
echo –n "YOUR_PROXY_LOGIN:YOUR_PROXY_PASS" | base64 –  
3) Исправьте файл bundles (самоподписанный сертификат у меня не работает):  
mv /usr/lib/unifi/dl/firmware/bundles.json /usr/lib/unifi/dl/firmware/bundles.json.orig  
sed 's/https:/http:/g' /usr/lib/unifi/dl/firmware/bundles.json.orig > /usr/lib/unifi/dl/firmware/bundles.json  
4) Перезапустите nginx и перезапустите unifi
 
Я использую iptables и выполняю DNAT для всего HTTP-трафика, перенаправляя его на перехватывающие прокси squid, чтобы приложения, не умеющие работать через прокси, могли проксироваться, и при этом мои правила файрвола оставались в силе.
 
Привет, sunkan! У меня была такая же проблема, я её решил с помощью небольшого скрипта и локального веб-сервера для загрузки файлов прошивки. Вот ссылка на скрипт: https://www.grufo.com/get_unifi_firmware.sh.txt

На своём контроллере я установил сервер nginx с настройками по умолчанию, а файлы прошивки копируются в /var/www/html/firmware/...

После того как скрипт скачал все файлы прошивки, он меняет файл bundles.json так, что контроллер начинает загружать файлы с локального веб-сервера. Единственное, что мне остаётся сделать — нажать кнопку Cache в разделе обслуживания.
Страницы: 1
Читают тему (гостей: 1)