From c52a23bc90504fa4b2659538ad00b2939cdec646 Mon Sep 17 00:00:00 2001 From: Claude Auto-Sync Date: Thu, 16 Apr 2026 19:34:39 +0000 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B5:=20?= =?UTF-8?q?=D0=BC=D0=B8=D0=B3=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20UniFi=20Cont?= =?UTF-8?q?roller=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B0=20Proxmox=20=D0=9D=D0=98=D0=98=D0=9A=D0=9D=20(2?= =?UTF-8?q?026-04-16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-04-16-unifi-migration-peredelki.md | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 decisions/2026-04-16-unifi-migration-peredelki.md diff --git a/decisions/2026-04-16-unifi-migration-peredelki.md b/decisions/2026-04-16-unifi-migration-peredelki.md new file mode 100644 index 0000000..22f736e --- /dev/null +++ b/decisions/2026-04-16-unifi-migration-peredelki.md @@ -0,0 +1,92 @@ +# Миграция 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+) когда будут запитаны +- [ ] Настроить WiFi сети окончательно (если нужны дополнительные SSID) +- [ ] Обновить прошивки устройств (контроллер предлагает update) +- [ ] Убрать alias 192.168.1.1/24 на OpenWrt (когда все устройства на 192.168.2.x)