Files
knowledge-base/projects/buzharovo/podkop-router.md
dttb ae23321d10 Бужарово роутер: переименован Severny-Les, подключён к NetBird
- hostname Severni_Les → Severny-Les (корректная латиница).
- NetBird: 100.70.113.251 (severny-les-113-251.netbird.cloud), Claude-Diag,
  --disable-dns; firewall-зона nbird (wt0: input ACCEPT, forward REJECT) —
  без неё SSH на NetBird-IP = refused. Прямой доступ ssh root@100.70.113.251.
- Также зафиксирован фикс DoH: dns_server=1.1.1.1/dns-query (без https://,
  иначе баг парсера диагностики podkop) — из прошлой правки.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 20:06:37 +03:00

7.4 KiB
Raw Blame History

date, type, tags, aliases
date type tags aliases
2026-06-23 project
buzharovo
openwrt
podkop
amneziawg
fakeip
doh
Severni Les router
Бужарово podkop роутер

Бужарово — 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 роутера: eth0 DHCP из домашней сети — IP 10.0.0.215, шлюз 10.0.0.1 (домашний роутер). Весь интернет идёт через дом.
  • Доступ (основной): по NetBird — ssh root@100.70.113.251.
  • Доступ (фолбэк, по LAN): jump через Proxmox — ssh root@10.0.0.250ssh -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 (device wt0, 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://). Два подвоха:

  1. Не bare IP. Если задать dns_server=8.8.8.8, podkop подставляет каноничный DoH-URL https://dns.google/dns-query (хостнейм) — его надо резолвить через bootstrap по :53 (за домашним хайджеком) → хрупко.
  2. Не полный 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)

  1. 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.
  2. Главное: обход не работал (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_server 77.88.8.8→8.8.8.8 — на обход не влияли, причина была в DNS-хайджеке.

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, откатно.

Связанное