Бужарово: podkop-роутер Severni Les (Cudy TR3000) — заработал на DoH
- Новый роутер обхода для стройрынка: Финляндия awg0, podkop 0.7.19, lists meta/youtube/telegram. - Корень «обход не работал» (telegram/youtube 000 при живом туннеле): роутер стоит WAN'ом за домашним catch-all :53-хайджеком → восходящий резолв sing-box перехватывался, возвращался домашний FakeIP → sing-box звонил на FakeIP → timeout. Фикс: dns_type=doh (резолвер по 443 минует :53-хайджек). Версия sing-box / dns_server были ни при чём. - Также: download_lists_via_proxy=1/main (rule-set'ы через туннель. - podkop-reference §5: добавлена грабля «podkop за чужим DNS-хайджеком → DoH»; §9 inventory: добавлен Severni Les, HomeLab обновлён на awg2. - Новый файл projects/buzharovo/podkop-router.md + линк из README. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> MSG )
This commit is contained in:
@@ -22,6 +22,9 @@ aliases: [Бужарово, buzharovo, Server1C]
|
||||
- Справочник и runbook: [[projects/buzharovo/severny-les-bot]]
|
||||
- Решение о создании: [[decisions/2026-05-08-severny-les-bot-buzharovo]]
|
||||
|
||||
- **podkop-роутер «Severni Les»** — Cudy TR3000 под обход РКН для стройрынка (Финляндия awg0, podkop 0.7.19, DoH).
|
||||
- Препрод в домашней лабе: jump `10.0.0.250`→`192.168.1.1`. Справочник: [[projects/buzharovo/podkop-router]]
|
||||
|
||||
## Известные рецепты
|
||||
|
||||
- **rmngr-loop после crash** (07.05.2026): тормоза локальных пользователей → `Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)' -Force`. Полный ребут сервера НЕ помогает. Полный разбор: [[decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash]].
|
||||
|
||||
49
projects/buzharovo/podkop-router.md
Normal file
49
projects/buzharovo/podkop-router.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
date: 2026-06-23
|
||||
type: project
|
||||
tags: [buzharovo, openwrt, podkop, amneziawg, fakeip, doh]
|
||||
aliases: [Severni Les router, Бужарово podkop роутер]
|
||||
---
|
||||
|
||||
# Бужарово — podkop-роутер «Severni Les» (Cudy TR3000)
|
||||
|
||||
Отдельный роутер обхода РКН для стройрынка Бужарово (Северный лес). **Не путать** со шлюзом 1С-сервера [[buzharovo-router|Cudy WR6500H 185.13.47.2]] — это новый Cudy TR3000 под podkop.
|
||||
|
||||
## Железо / ОС
|
||||
- **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** (домашний роутер). Весь интернет идёт через дом.
|
||||
- **Доступ:** 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`.
|
||||
- На стройрынке будет свой провайдер — сохранить 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` | `8.8.8.8` |
|
||||
| `download_lists_via_proxy` | **`1`** / section `main` |
|
||||
|
||||
## Грабли, которые лечили (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, откатно.
|
||||
|
||||
## Связанное
|
||||
- [[README]] — проект Бужарово
|
||||
- [[../dttb/openwrt-router]] — домашний роутер (тот же финский хаб awg2; там грабля rp_filter)
|
||||
- [[../../decisions/2026-06-23-amnezia-web-panel-lxc143]] — Amnezia-панель и финский хаб
|
||||
@@ -132,6 +132,7 @@ uci commit podkop && /etc/init.d/podkop restart
|
||||
| **`download_lists_via_proxy='1'` с ПУСТОЙ секцией ломает sing-box** | `sing-box FATAL: start service: initialize rule-set: download detour not found: -out` → detour-тег вышел `-out` (пустая секция + суффикс) | На **0.7.19** включать МОЖНО и НУЖНО, если GitHub блокирован РКН: `uci set podkop.settings.download_lists_via_proxy=1; uci set podkop.settings.download_lists_via_proxy_section=main` → detour `main-out` (туннель). Тогда remote rule-set'ы (`*.srs` с `release-assets.githubusercontent.com`) качаются ЧЕРЕЗ туннель. Без этого при пустом `/tmp/sing-box/rulesets` (после `rm cache.db`/обновления) sing-box падает `initialize rule-set: Get ...` т.к. `route.final=direct-out`=WAN. **Грабля 0.7.14 = НЕ задана секция.** HomeLab dttb 2026-06-23. |
|
||||
| **`podkop list_update` падает: raw.githubusercontent.com блокирован РКН** | в логах `Attempt N/3 to download .../*.lst failed`, напрямую с WAN `curl raw.git` = HTTP 000. Списки тихо устаревают (обход «потихоньку перестаёт ловить» новые домены/подсети) | Добавить **сам GitHub в обход**: `uci set podkop.main.user_domain_list_type='dynamic'; uci add_list podkop.main.user_domains='githubusercontent.com'; uci commit podkop; /etc/init.d/podkop restart`. Тогда роутерный `list_update` резолвит raw.git в FakeIP → туннель → HTTP 200. via_proxy оставить `0`. |
|
||||
| 🔴 **`rp_filter` строгий на awg-интерфейсе → handshake есть, транзита НЕТ** | `awg show` = свежий handshake + растёт `received`; но `ping -I awgN 1.1.1.1` = **100% потерь**, end-to-end 000, sing-box не качает списки. Transport-ответ из туннеля приходит на awgN, при `rp_filter=1` (strict) ядро не видит обратного маршрута к internet-src через awgN → **дроп до доставки**. Особенно на мульти-туннельных роутерах, где один awg работает (стоит `=2`), другой нет (унаследовал `default=1`) | `sysctl -w net.ipv4.conf.<iface>.rp_filter=2` (loose) → проверь `ping -I <iface>`. Персистентно: строка `net.ipv4.conf.<iface>.rp_filter=2` в `/etc/sysctl.conf` + hotplug `/etc/hotplug.d/iface/99-awg-rpfilter` (loose на все `awg*` при ifup). **Диагностика:** сравни `sysctl net.ipv4.conf.{рабочий,сломанный}.rp_filter` — разница `2` vs `1` = это он. HomeLab dttb 2026-06-23 (awg2 vs awg0). |
|
||||
| 🔴 **podkop-роутер ЗА чужим DNS-хайджеком → sing-box звонит на FakeIP** | Туннель жив (`ping -I awg` ОК), FakeIP присваивается, но end-to-end 000. В логах: `open connection to <домен> using outbound/direct[main-out]: dial tcp 198.18.0.x: i/o timeout` — sing-box знает домен, но дозванивается до **самого FakeIP** вместо реального IP. podkop self-check: ❌ «Прокси-трафик не маршрутизируется через FakeIP». Причина: при `dns_type=udp` восходящий резолв sing-box'а (реальный IP по `udp:53`) перехватывается **вышестоящим роутером с DNS-хайджеком** (`udp dport 53 dnat → его DNS`) → возвращается ЕГО FakeIP → петля. Бывает, когда podkop-роутер стоит WAN'ом за другим роутером, который сам хайджачит :53 (типично в препрод-лабе за домашним шлюзом). | **`uci set podkop.settings.dns_type=doh`** (резолвер по `https/443` минует `:53`-хайджек) + `dns_server` оставить IP (`8.8.8.8` → DoH-by-IP, bootstrap не нужен) → restart. На боевом объекте со своим провайдером работал бы и `udp`, но DoH = устойчивость к любому вышестоящему DNS-перехвату. **НЕ путать с «missing fakeip record»** (транзиент после `rm cache.db`, сам проходит). Бужарово/Severni Les 2026-06-23 за домашним catch-all хайджеком. |
|
||||
|
||||
---
|
||||
|
||||
@@ -186,7 +187,8 @@ nslookup ozon.ru 127.0.0.42
|
||||
| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn / awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` | ✅ корректно (inside); VLESS-резерв `vlees` |
|
||||
| **Переделки** | см. [[../projects/peredelki/README]] / [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч -150→-140 (NetBird coexistence) |
|
||||
| **Benelux** | Cudy TR3000 `100.70.207.97`, ssh mac-ed25519 (compromise 2026-05-20) | vpn / awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` (+`githubusercontent.com` user_domain) | ✅ 2026-06-17: обход ОК (TG 302 / WA 200), `russia_outside` нет; list_update чинён (raw.git заведён в обход — RKN блокировал WAN-загрузку); `download_lists_via_proxy=1` сломал sing-box, откатан |
|
||||
| **HomeLab dttb** | [[../projects/dttb/openwrt-router]] | — | — | — | цепочка с AGH: `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит |
|
||||
| **HomeLab dttb** | [[../projects/dttb/openwrt-router]] (Cudy TR3000 `10.0.0.1`) | vpn / **awg2** | **Финляндия** `151.241.234.241:41624` | `meta`,`russia_inside`,`telegram`,`google_ai` | ✅ 2026-06-23 на awg2; резерв awg0 `202.71.12.186`. Цепочка `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит. Грабля: per-iface `rp_filter=2` обязателен (см. §5) |
|
||||
| **Severni Les / Бужарово** | [[../projects/buzharovo/podkop-router]] (Cudy TR3000, jump `10.0.0.250`→`192.168.1.1`) | vpn / awg0 | **Финляндия** `151.241.234.241:41624` | `meta`,`youtube`,`telegram` | ✅ 2026-06-23; **`dns_type=doh`** (стоит за домашним :53-хайджеком — иначе sing-box звонит на FakeIP, см. §5); `download_lists_via_proxy=1/main`; sing-box 1.12.4 |
|
||||
| Krasnogorsk / Znamenskoye | см. project README | — | — | проверить | проверить |
|
||||
|
||||
> Быстрый аудит любого роутера на «грабли inside/outside»:
|
||||
|
||||
Reference in New Issue
Block a user