Бужарово podkop: DoH по IP (1.1.1.1/dns-query) вместо хостнейма dns.google

Диагностика podkop краснела на «Основной DNS»: при dns_server=8.8.8.8 podkop
подставляет каноничный DoH-URL https://dns.google/dns-query (хостнейм), а его
надо резолвить через bootstrap по :53 — за домашним хайджеком хрупко. Фикс:
dns_server='https://1.1.1.1/dns-query' (url_get_host=IP → bootstrap не нужен,
sing-box стучит прямо на 1.1.1.1:443). Диагностика зелёная, обход стабилен.
Поправлены podkop-router.md, podkop-reference §5 и §9.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
dttb
2026-06-23 19:46:03 +03:00
parent 8e411df486
commit 0c957bfa34
2 changed files with 5 additions and 3 deletions

View File

@@ -32,9 +32,11 @@ aliases: [Severni Les router, Бужарово podkop роутер]
| `community_lists` | `meta youtube telegram` |
| `disable_quic` | `1` |
| `dns_type` | **`doh`** ← ключевой фикс |
| `dns_server` | `8.8.8.8` |
| `dns_server` | **`https://1.1.1.1/dns-query`** (DoH по IP) |
| `download_lists_via_proxy` | **`1`** / section `main` |
> ⚠️ **DoH по IP, не по хостнейму.** Если задать `dns_server=8.8.8.8`, podkop подставляет каноничный DoH-URL `https://dns.google/dns-query` (**хостнейм**) — а его надо резолвить через bootstrap по `:53`, который за домашним хайджеком → диагностика podkop «Основной DNS» краснеет и резолв хрупкий. Решение: полный URL с IP — `https://1.1.1.1/dns-query` → `url_get_host`=1.1.1.1 (IPv4) → bootstrap не нужен, sing-box стучит прямо на `1.1.1.1:443`. Диагностика зелёная, robust.
## Грабли, которые лечили (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.