From 4385db3b8ac1300dc5752a43c1214fab012a776e Mon Sep 17 00:00:00 2001 From: code-server Date: Wed, 24 Jun 2026 11:47:40 +0000 Subject: [PATCH] auto-sync from MEMORY.md (2026-06-24 11:47) --- projects/buzharovo/podkop-router.md | 24 ++++++++++++++++++++++++ snippets/podkop-reference.md | 2 ++ 2 files changed, 26 insertions(+) diff --git a/projects/buzharovo/podkop-router.md b/projects/buzharovo/podkop-router.md index 867f582..4967b25 100644 --- a/projects/buzharovo/podkop-router.md +++ b/projects/buzharovo/podkop-router.md @@ -85,6 +85,30 @@ MAC'и сняты из ARP-кэша Server1C (WinRM через openclaw LXC137 **WR6500H** (`185.13.47.2`): SSH off + браузерный sha256-хэш-логин → headless-дамп конфига невозможен; 1С-настройки восстановлены из [[../../decisions/2026-05-07-buzharovo-recon]]. +## Установлен на объекте + проверка (2026-06-24) +Своп со WR6500H выполнен, роутер в проде. Проверено по NetBird `100.70.113.251`: +- **WAN** поднялся на родном `185.13.47.2/25` (gw `185.13.47.1`) — WAN-MAC/тип подключения перенесены верно. +- **Туннель** awg0→Финляндия: handshake свежий, трафик идёт. telegram/youtube `200` через FakeIP (`198.18.x`); gosuslugi `200` напрямую (реальный IP). На роутере обход 100% рабочий (tproxy-счётчики PodkopTable растут). +- **1С**: Server1C `192.168.1.249` в сети; проброс RDP `3389→.249` активен (DNAT-счётчик >0, порт OPEN по WAN и по NetBird `100.70.75.103`). +- **NetBird**: Management/Signal Connected, служба enabled (autostart). +- Точки доступа TP-Link (`c4:2f:90`: .200/.105) и Keenetic (`44:47:cc`: .210) — чистые AP/bridge (свой DHCP/DNS не раздают, на :53 молчат). Двойного NAT нет. + +### Грабля «обход не работает у клиентов» — ДВЕ разные причины (2026-06-24) +При миграции роутера **не перенесли DNS-hijack/анти-утечку** (дома он есть, см. [[../../snippets/podkop-reference]] §190). Клиенты резолвили мимо роутера → нет FakeIP → мимо туннеля. В conntrack видны были утечки `src=LAN dst=77.88.8.8/1.1.1.1/8.8.8.8 :53`. + +**Добавлено на TR3000** (бэкапы: `/etc/config/firewall.bak-forcedns-20260624`, `firewall.bak-blockdoh-20260624`, `dhcp.bak-privaterelay-20260624`): +1. `Force-DNS-53` — DNAT всех LAN :53 (tcp/udp) → `192.168.1.1`. Заворачивает любой чужой DNS на dnsmasq роутера. ✅ счётчик растёт, утечки переписываются на `.1`. +2. `Block-DoT-853` — REJECT :853 (Android/iOS Private DNS). +3. `Block-DoH-443` — REJECT :443 к публичным DoH-резолверам (8.8.8.8/8.8.4.4/1.1.1.1/1.0.0.1/9.9.9.9/149.112.112.112/94.140.14.14-15/77.88.8.8/77.88.8.1). +4. `Block-QUIC-443` — REJECT udp/443 LAN→WAN (убивает HTTP/3-DoH и транспорт iCloud Private Relay; TCP/443 цел). +5. dnsmasq `address=/mask.icloud.com/`, `/mask-h2.icloud.com/`, `/mask-api.icloud.com/` → NXDOMAIN (отключает iCloud Private Relay при переподключении к Wi-Fi). +> ⚠️ Эти 5 правил полезны для ВСЕХ клиентов и должны остаться. После добавления сбрасывать conntrack :53 (или ждать ~30с UDP-таймаут), иначе старые сессии висят мимо DNAT. + +**НО iPhone `192.168.1.115` «не сработал» по ДРУГОЙ причине (не DNS/не Relay):** на самом телефоне установлено **приложение AmneziaVPN/AmneziaWG**, заворачивающее весь трафик в свой туннель `202.71.12.186:37209` (старый резервный домашний AWG-эндпоинт). conntrack: `src=192.168.1.115 dst=202.71.12.186 dport=37209` [ASSURED], мегабайты трафика, 0 запросов :53 к роутеру изначально. Роутерный обход к такому телефону неприменим — он ходит мимо Wi-Fi-маршрутизации целиком. +> **Фикс (на стороне айфона, НЕ роутера):** выключить/удалить приложение Amnezia на телефоне (`Настройки → VPN → откл` или в самом приложении). После — переподключить Wi-Fi → пойдёт через FakeIP роутера. **Урок:** прежде чем чинить DNS на роутере — проверь conntrack клиента на свой VPN-туннель (большой UDP-поток на внешний IP мимо :53). + +**Не доделано (вернуться):** подтвердить, что после выключения Amnezia на iPhone .115 трафик идёт через FakeIP (`dst=198.18.x`). Опц.: решить, оставлять ли Block-QUIC-443 (к этому айфону отношения не имел, но полезен против HTTP/3-DoH). + ## Установка на объекте — чеклист (выезд 2026-06-24, утро) TR3000 полностью преднастроен на столе. На объекте — физический своп со WR6500H + WAN провайдера. diff --git a/snippets/podkop-reference.md b/snippets/podkop-reference.md index 5a83a5f..6f86ef0 100644 --- a/snippets/podkop-reference.md +++ b/snippets/podkop-reference.md @@ -127,6 +127,8 @@ uci commit podkop && /etc/init.d/podkop restart | **AmneziaWG H-значения диапазоном** | handshake не встаёт | H1–H4 на сервере и клиенте — фиксированные числа, не диапазоны | | **MTU/фрагментация** | сайты открываются наполовину | MTU awg0 1420→1380; `ping -M do -s 1380 8.8.8.8 -I awg0` | | **Клиент сам обходит DNS роутера** | curl с роутера ок, у клиента нет; на iPhone «видео играет и стопорится» (Instagram/YouTube) при здоровом туннеле | iPhone: **первым делом Wi-Fi → (i) → «Ограничение отслеживания IP‑адреса» ВЫКЛ** — это default-on в iOS, включает шифрованный DNS мимо роутера и бьёт **приложения** (не только Safari). Далее iCloud Private Relay / Safari Hide IP / Chrome DoH. Выключать у клиента; сетевой вариант — блок `mask.icloud.com`/`mask-h2.icloud.com` + DoH в AGH. На роутере DNAT :53 + reject DoH. Дом 2026-06-23: iPhone Надежды, Instagram-видео — лечилось «Ограничением отслеживания IP». [[../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_iphone_breaks_fakeip\|памятка]] | +| 🔴 **Анти-утечка DNS не перенесена при миграции роутера** | новый роутер: обход на самом роутере ОК (`curl` 200, tproxy-счётчики растут), но у клиентов нет. В conntrack: `src=LAN dst=8.8.8.8/1.1.1.1/77.88.8.8 dport=53` — клиенты резолвят мимо dnsmasq → нет FakeIP → мимо туннеля | Перенести с эталонного роутера комплект анти-утечки: **(1)** `Force-DNS-53` DNAT всех LAN :53 (tcp/udp)→``; **(2)** `Block-DoT-853` REJECT; **(3)** `Block-DoH-443` REJECT :443 к публичным DoH-IP (8.8.8.8/8.8.4.4/1.1.1.1/1.0.0.1/9.9.9.9/149.112.112.112/94.140.14.14-15/77.88.8.8); **(4)** `Block-QUIC-443` REJECT udp/443 LAN→WAN (HTTP/3-DoH + транспорт iCloud Relay; TCP/443 цел); **(5)** dnsmasq `address=/mask.icloud.com/`+`/mask-h2.icloud.com/`+`/mask-api.icloud.com/`→NXDOMAIN. После — сбросить conntrack :53 (или ждать ~30с), иначе старые сессии висят мимо DNAT. Проверка: `grep dport=53 /proc/net/nf_conntrack \| grep -v dst=` пусто. Бужарово TR3000 2026-06-24. | +| 🔴 **Клиент с СОБСТВЕННЫМ VPN на телефоне (ложный «DNS не работает»)** | Один клиент упорно не обходит, хотя DNS-фиксы применены. conntrack клиента: **0 запросов :53 к роутеру** + крупный UDP-поток `src=CLIENT dst=<внешний-IP> dport=<высокий>` [ASSURED], мегабайты | На телефоне установлено приложение **AmneziaVPN/AmneziaWG/любой WireGuard** — весь трафик идёт в свой туннель мимо Wi-Fi-маршрутизации роутера. Роутерный обход неприменим в принципе. **Фикс — на телефоне:** выключить/удалить VPN-приложение (`Настройки → VPN → откл`). **Диагностика-правило:** прежде чем чинить DNS на роутере, проверь conntrack клиента на свой VPN-туннель (большой UDP на внешний IP мимо :53) — иначе чинишь не то. Бужарово iPhone .115 2026-06-24 (туннель на `202.71.12.186`). | | **`podkop restart` сбрасывает `shutdown_correctly`** | редкие странности после рестарта | проверять флаг после рестарта | | **Роутер ходит, LAN-клиенты — нет** (залип FakeIP/tproxy для форвардного) | сам Cudy `curl https://api.anthropic.com` → 405, а с LXC/клиента ВСЕ туннельные сайты (telegram/anthropic) виснут на **TCP-connect** (`Trying 198.18.x... timed out`, до Connected не доходит); nft-метки/tproxy счётчики растут, но SYN-ACK не возвращается. Прямые сайты (не в списках) у клиента работают | `killall sing-box; sleep 2; rm -f /tmp/sing-box/cache.db; /etc/init.d/podkop restart` на роутере. Бенелюкс 2026-06-21: из-за этого «висли» агенты swarmclaw на коробке (claude не достучивался до Anthropic). **Диагностика-ловушка:** `curl --interface awg0 https://api.anthropic.com` НЕ показатель — резолвит в FakeIP и шлёт фейк прямо в awg0 → ложный таймаут. Правильно = обычный FakeIP-путь роутера. | | **`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. |