ttyd writable и работает, но окно терминала было «не активно»: LuCI открывали на 192.168.1.1, а этот адрес коллизит с НИИКН/Переделки в NetBird → iframe терминала на 192.168.1.1:7681 уходил не туда. Фикс: url_override= http://100.70.113.251:7681 (стабильный NetBird-IP). Рекомендация — открывать роутер по NetBird-IP, а не 192.168.1.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8.8 KiB
date, type, tags, aliases
| date | type | tags | aliases | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-06-23 | project |
|
|
Бужарово — podkop-роутер «Severny-Les» (Cudy TR3000)
Отдельный роутер обхода РКН для стройрынка Бужарово (Северный лес). Не путать со шлюзом 1С-сервера buzharovo-router — это новый Cudy TR3000 под podkop.
- hostname:
Severny-Les(былоSeverni_Les— поправлено на корректную латиницу 2026-06-23). - NetBird:
100.70.113.251/severny-les-113-251.netbird.cloud(группа Claude-Diag, ключ64DF527E-…,--disable-dns). Прямой доступ:ssh root@100.70.113.251(root/1qaz!QAZ).
Железо / ОС
- Cudy TR3000 v1, OpenWrt 24.10.3 r28872, aarch64; extroot на USB.
- podkop v0.7.19, sing-box 1.12.4 (бинарь скопирован с домашнего 10.0.0.1; opkg-метадата числит 1.12.22 — бэкап
/usr/bin/sing-box.bak-1.12.22; версия на обход НЕ влияла, см. ниже).
Сеть и доступ (стадия препрод, 2026-06-23)
Сейчас стоит в домашней лабе: воткнут во второй LAN-порт Proxmox.
- LAN роутера: 192.168.1.1/24 (br-lan).
- WAN роутера:
eth0DHCP из домашней сети — IP 10.0.0.215, шлюз 10.0.0.1 (домашний роутер). Весь интернет идёт через дом. - Доступ (основной): по NetBird —
ssh root@100.70.113.251. - Доступ (фолбэк, по LAN): jump через Proxmox —
ssh root@10.0.0.250→ssh -o UserKnownHostsFile=/dev/null root@192.168.1.1(root /1qaz!QAZ). Host-key 192.168.1.1 на Proxmox конфликтует → нуженUserKnownHostsFile=/dev/null. - Firewall для NetBird: добавлена зона
nbird(devicewt0,input=ACCEPTдля управления,forward=REJECT— NetBird-пиры НЕ ходят в LAN стройрынка, masq off). Без неё SSH на NetBird-IP = «Connection refused» (wt0 был вне зон). ⚠️ Доступ к роутеру по NetBird гейтит ACL группы Claude-Diag — на проде сузить, если в группе лишние пиры. - На стройрынке будет свой провайдер — сохранить LAN
192.168.1.0/24.
Туннель
- AmneziaWG awg0 → Finland HOSTKEY
151.241.234.241:41624(тот же хаб, что у дома и НИИКН; AWG 1.5: S3/S4 + H-диапазоны), клиент10.8.1.3/32. - На Amnezia-панели (LXC 143) пир называется «Severni Les». Список клиентов хаба:
Admin [macOS]=10.8.1.1,podkop homelab=10.8.1.2 (домашний),Severni Les=10.8.1.3. rp_filterглобально0→ транзит через туннель работает без правок (в отличие от домашнего, где нужен per-iface=2— см. ../dttb/openwrt-router).
podkop-конфиг (рабочий)
| Параметр | Значение |
|---|---|
interface |
awg0 (Финляндия) |
community_lists |
meta youtube telegram |
disable_quic |
1 |
dns_type |
doh ← ключевой фикс |
dns_server |
1.1.1.1/dns-query (DoH по IP, БЕЗ префикса https://) |
download_lists_via_proxy |
1 / section main |
⚠️ DoH по IP, и значение —
1.1.1.1/dns-query(безhttps://). Два подвоха:
- Не bare IP. Если задать
dns_server=8.8.8.8, podkop подставляет каноничный DoH-URLhttps://dns.google/dns-query(хостнейм) — его надо резолвить через bootstrap по:53(за домашним хайджеком) → хрупко.- Не полный URL
https://1.1.1.1/dns-query. Конфиг sing-box он соберёт верно (IP-DoH), НО проверка «Основной DNS» в диагностике podkop баговая: делитdns_serverпо/и дляhttps://…выполняетdig @https:→ ложный красный крест. Правильное значение1.1.1.1/dns-query:url_get_host=1.1.1.1(IPv4) → bootstrap не нужен (sing-box стучит прямо на1.1.1.1:443), И диагностика парсит верно (dig @1.1.1.1 +https=/dns-query) → зелёная. Косметика: «Счётчики правил mangle» краснеют в препроде (нет LAN-клиентов → forward-метки на нуле); в проде с клиентами зеленеют.
Грабли, которые лечили (2026-06-23)
download_lists_via_proxy=0→ sing-box не качал rule-set'ы (GitHub блокирован РКН по WAN,/tmp/sing-box/rulesetsпуст). Фикс:download_lists_via_proxy=1+download_lists_via_proxy_section=main(detour→main-out=туннель). Бэкап/etc/config/podkop.bak-srs-fix-20260623. Подробно: ../../snippets/podkop-reference §5.- Главное: обход не работал (telegram/youtube 000), хотя туннель жив. sing-box дозванивался до самого FakeIP (
dial tcp 198.18.0.x: i/o timeout) вместо реального IP. Корень — препрод-среда: роутер стоит за домашним роутером, а у того catch-all DNS-хайджек (udp dport 53 dnat → 10.0.0.1:53). Восходящий резолв sing-box'а (за реальным IP поudp:53) перехватывался домашним хайджеком → возвращался домашний FakeIP → петля. Фикс:dns_type=doh— резолвер поhttps/443минует:53-хайджек. На боевом объекте (свой провайдер) работал бы и наudp, но DoH делает роутер устойчивым к любому вышестоящему DNS-перехвату. Грабля в справочнике: ../../snippets/podkop-reference §5.- Тупиковые версии (отброшены проверкой): sing-box 1.12.22→1.12.4 и
dns_server77.88.8.8→8.8.8.8 — на обход не влияли, причина была в DNS-хайджеке.
- Тупиковые версии (отброшены проверкой): sing-box 1.12.22→1.12.4 и
sing-box 1.13.x — НЕ ставить (пока podkop 0.7.19)
podkop 0.7.19 генерит sing-box-конфиг под ветку 1.12 (старый формат DNS-секции). В 1.13 формат DNS менялся → риск, что sing-box не распарсит конфиг и не стартует. Держим 1.12.x (как дома). Латест — только после проверки совместимости с podkop, откатно.
Веб-терминал в LuCI (ttyd)
luci-app-ttyd + ttyd 1.7.3 уже стоят, служба enabled, слушает 0.0.0.0:7681, writable (этот билд RW по умолчанию; -R сделал бы RO — его нет). LuCI-вьюшка (System → Terminal) вставляет <iframe src="http://<хост-как-открыта-LuCI>:7681">.
- Грабля «окно терминала не активно/пустое»: LuCI открывали на
192.168.1.1, а этот адрес коллизит с НИИКН/Переделки в NetBird (тот же192.168.1.0/24) → iframe на192.168.1.1:7681уходил не туда. Фикс:uci set ttyd.@ttyd[0].url_override='http://100.70.113.251:7681'(стабильный NetBird-IP). Теперь терминал грузится с него независимо от того, как открыта LuCI (браузер должен быть в NetBird). - Рекомендация: открывать сам роутер по NetBird —
http://100.70.113.251(а не192.168.1.1), тогда и LuCI, и терминал однозначны. После правки — hard-refresh страницы LuCI (term.js кешируется). - Терминал спрашивает логин (
/bin/login→ root/1qaz!QAZ); :7681 гейтит firewall-зонаnbird+ ACL группы Claude-Diag.
Связанное
- README — проект Бужарово
- ../dttb/openwrt-router — домашний роутер (тот же финский хаб awg2; там грабля rp_filter)
- ../../decisions/2026-06-23-amnezia-web-panel-lxc143 — Amnezia-панель и финский хаб