Домашний роутер: awg2 (Финляндия) рабочий — корень был rp_filter, не протокол
- Корень «awg2 не ходил»: строгий rp_filter=1 на интерфейсе дропал transport из туннеля (handshake жив, транзит 0%). awg0 работал на rp_filter=2 (loose). При заведении финского awg2 строка rp_filter=2 не была добавлена (для awg0 была). - Фикс на роутере: net.ipv4.conf.awg2.rp_filter=2 в /etc/sysctl.conf + hotplug 99-awg-rpfilter (loose на все awg* при ifup). podkop → awg2. - podkop-reference §5: добавлена грабля rp_filter (handshake-есть-транзита-нет). - Снято неверное «awg2 сломан / OpenWrt не тянет AWG 1.5» — сервер/протокол исправны. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -129,8 +129,9 @@ uci commit podkop && /etc/init.d/podkop restart
|
||||
| **Клиент сам обходит DNS роутера** | curl с роутера ок, у клиента нет | iPhone Private Relay/Safari Hide IP/Chrome DoH. Выключить у клиента; на роутере — DNAT :53 + reject DoH (см. runbook §7). [[../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_iphone_breaks_fakeip\|памятка]] |
|
||||
| **`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` → sing-box не стартует, обход полностью падает. Deadlock: podkop качает списки через прокси-порт 4534, который не слушает, пока sing-box не поднялся | ⛔ НЕ включать (минимум в podkop 0.7.14). Оставить `=0`. |
|
||||
| **`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). |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user