--- date: 2026-04-16 type: decision tags: [decision] --- # Миграция UniFi Controller — Переделки (2026-04-16) ## Что было - UniFi Controller работал на **Orange Pi Мичуринец** (192.168.1.10) в Docker - 5 устройств: USG 3P, Switch 16 PoE, U6 LR, U6+, U7-IW (U6 LR и U6+ офлайн) - Сеть Переделки: 192.168.1.0/24 — конфликтовала с сетью НИИКН (тоже 192.168.1.0/24) - OpenWrt Переделки (100.70.197.125) — маршрутизатор на объекте - Задача: перенести контроллер на Proxmox НИИКН (LXC 116) и отключить Orange Pi ## Что сделано ### 1. Смена подсети Переделок - OpenWrt Переделки: **192.168.1.0/24 → 192.168.2.0/24** - Устройства получили новые IP по DHCP: - Switch: 192.168.2.109 - AP U7-IW: 192.168.2.146 - Временный alias 192.168.1.1/24 добавлялся для переходного периода ### 2. Новый контроллер на LXC 116 (Proxmox НИИКН) - **LXC 116** (`unifi-controller`), IP: 192.168.1.84, NetBird: 100.70.138.234 - Docker с **persistent volumes**: - MongoDB: `/opt/unifi/mongo:/data/db` - Config: `/opt/unifi/config:/config` (bind mount — данные переживают рестарт) - MongoDB user: `unifi/unifi` (db: unifi, unifi_stat) - Image: `ghcr.io/linuxserver/unifi-network-application:latest` (v10.1.89) - Admin: SSO через UI.com (batlaew@yandex.ru) ### 3. Проброс трафика через NetBird Контроллер на НИИКН, устройства на Переделках — связь через NetBird VPN. **Socat proxy на OpenWrt Переделки** (persistent, `/etc/init.d/unifi-proxy`): - TCP 8080 → 100.70.138.234:8080 (inform) - TCP 8443 → 100.70.138.234:8443 (web UI) - UDP 3478 → 100.70.138.234:3478 (STUN) **NetBird Network Route** (через API): - `192.168.2.0/24` → peer `openwrt-peredelki` (d7fug7rl0ubs73b5r36g) - masquerade=true - Позволяет контроллеру SSH к устройствам для provisioning **Masquerade** на OpenWrt: - `nft: iifname "wt0" oifname "br-lan" masquerade` — в init script - Зона netbird: masq=1 через uci ### 4. Adoption устройств - **USW-Lite-16-PoE** (d8:b3:70:84:0f:05) — adopted, connected (state=1) - **U7 In-Wall** (1c:0b:8b:70:de:1e) — adopted, connected (state=1) - Оба устройства прошли factory reset (set-default) для сброса auth keys от старого контроллера - SSH credentials: `batlaew / 20iPUHpzpMXnp9Rx` (для managed devices) - Factory default credentials: `ubnt / ubnt` (после reset) ### 5. WiFi - SSID: `Ubnt`, пароль: `1234567a` (WPA2) ### 6. Podkop VPN - Установлен и работает на OpenWrt Переделки - sing-box через WireGuard (wg0) - Списки: russia_inside, meta, telegram - VPN IP: 193.39.160.237 - Автозапуск: включён (S99podkop) ### 7. Orange Pi - Старый контроллер (Docker) остановлен - Orange Pi **отключён** физически - Бэкап MongoDB: `/tmp/unifi-full-backup.archive` (1.8MB) — был на Orange Pi ## Проблемы и решения ### "Factory Default — Database exists. Clean it" Контроллер LinuxServer/UniFi сбрасывал базу при рестарте. **Причина**: anonymous Docker volume для `/config`. **Решение**: bind mount `/opt/unifi/config:/config`. ### Конфликт подсетей 192.168.1.0/24 НИИКН и Переделки оба использовали 192.168.1.0/24. **Решение**: смена подсети Переделок на 192.168.2.0/24. ### "Content too short" / "Bad packet magic" DNAT через NetBird ломал inform-пакеты (MTU 1280 vs 1500). **Решение**: заменили DNAT на socat proxy (application-level forwarding). ### SSH adoption failed Контроллер не мог SSH к устройствам для provisioning. **Решение**: NetBird Network Route с masquerade. ## Ключевые доступы - **Контроллер**: https://100.70.138.234:8443 (SSO: batlaew@yandex.ru) - **OpenWrt Переделки**: ssh root@100.70.197.125 (1qaz!QAZ) - **Proxmox НИИКН**: ssh root@100.70.120.229 (1qaz!QAZ), pve-niikn.netbird.cloud - **NetBird API**: Token `nbp_YTEmAVpS0hLhnTeJ09q3wYaC0AAXjN21NPvM` - **SSH к устройствам**: batlaew / 20iPUHpzpMXnp9Rx ## Что осталось - [ ] Подключить остальные точки доступа (U6 LR, U6+) когда будут запитаны (2026-04-16) - [ ] Настроить WiFi сети окончательно (если нужны дополнительные SSID) (2026-04-16) - [ ] Обновить прошивки устройств (контроллер предлагает update) (2026-04-16) - [ ] Убрать alias 192.168.1.1/24 на OpenWrt (когда все устройства на 192.168.2.x) (2026-04-16) ## 2026-04-17: Auto-discovery для новых AP Добавлена DNS-запись `unifi → 192.168.2.1` в dnsmasq Переделок (uci dhcp.@domain). UniFi AP после factory reset ищут контроллер по URL `http://unifi:8080/inform` — теперь эта запись резолвится в IP OpenWrt, а socat-proxy форвардит 8080/8443/3478 на контроллер через NetBird. **Любая новая AP подключится автоматически без ручного `set-inform`**. ```bash # проверка настройки ssh root@100.70.197.125 uci show dhcp | grep unifi # dhcp.cfg05f37d.name='unifi' # dhcp.cfg05f37d.ip='192.168.2.1' ``` Новая точка U7-IW `1c:0b:8b:70:e2:41` (IP 192.168.2.227) — Pending Adoption, ждёт клика Adopt в UI.