Files
knowledge-base/projects/dttb/openwrt-router.md
dttb 3d71b56ae3 Домашний роутер: 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>
2026-06-23 18:50:55 +03:00

43 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
date: 2026-03-04
type: project
tags: [dttb, network]
---
# OpenWrt Router HomeLab (10.0.0.1:8080)
- LuCI Web UI: http://10.0.0.1:8080/cgi-bin/luci/
- ubus RPC: POST http://10.0.0.1:8080/ubus/ (root / 1qaz!QAZ)
- SSH: `ssh root@10.0.0.1` с паролем `1qaz!QAZ` — работает (проверено 2026-04-30)
- DNS Hijack: перехватывает порт 53 → 10.0.0.1 (все DNS запросы через роутер)
- Проброс: 80→NPM, 443→NPM, 25/465/587/993/995/4190→Mailcow(10.0.0.107)
- uci apply: нужен rollback=True + confirm, иначе правила теряются
- Модель: Cudy TR3000 v1; ОС: OpenWrt 24.10.3 r28872-daca7c049b, target mediatek/filogic (aarch64), extroot (~57 GB)
## Стек DNS / блокировки
Цепочка: `LAN → dnsmasq:53 → AGH:5353 → sing-box:127.0.0.42 → upstream`. AdGuard Home 0.107.57 фильтрует ad-домены, sing-box (подкоп) делает fakeip и роутинг подкоп-доменов.
- AGH веб: http://10.0.0.1:3000 (admin / хеш в `/etc/adguardhome.yaml`)
- Конфиг: `/etc/adguardhome.yaml` (upstream `127.0.0.42`, фильтры включают HaGeZi Pro mini + 2 YouTube-листа)
- Подкоп: `dont_touch_dhcp=1` — подкоп НЕ переписывает dnsmasq.server при start
- Резерв адресов подкопа: `127.0.0.42`, `127.0.0.53` — не занимать
- Подкоп **0.7.19** (обновлён 2026-06-08 с 0.7.14, install.sh; конфиг сохранён, бэкап `/etc/config/podkop.bak-pre0719`); списки `meta/russia_inside/telegram/google_ai`; `disable_quic=1`
- **Выход podkop: активен `interface=awg2` → Finland HOSTKEY `151.241.234.241:41624`** (AWG 1.5: S3/S4 + H-диапазоны, addr `10.8.1.2/32`). **Резерв = `awg0` `202.71.12.186:37209`** (AWG 1.0, addr `10.8.1.6/32`, тёплый, auto=1). Доп. резерв — vless `Vlees`. Оба awg в firewall-зоне `vpn` (не WAN). Бэкапы: `/etc/config/{network,podkop,firewall}.bak-pre-finland-20260623`, `podkop.bak-srs-fix-20260623`, `network.bak-awgi1-20260623`.
- Откат на резерв: `uci set podkop.main.interface=awg0; uci commit podkop; service podkop restart`.
- 🔴 **КОРЕНЬ «awg2 не ходил» (2026-06-23) = `rp_filter`.** Симптом: handshake встаёт, но 100% потерь транзита (`ping -I awg2 1.1.1.1`), end-to-end 000, sing-box не качал списки. AWG-параметры идентичны рабочему Severni Les (Бужаровский Cudy на ту же ноду). Разница: у awg2 был **строгий** `net.ipv4.conf.awg2.rp_filter=1` (наследие `default=1`) → transport-ответ из туннеля приходит на awg2, ядро не видит обратного маршрута через awg2 → дроп. awg0 работал, т.к. имел `=2` (loose) в `/etc/sysctl.conf`. **Я при заведении финского awg2 забыл добавить ему `rp_filter=2`** (для awg0 строка была). Фикс: строка `net.ipv4.conf.awg2.rp_filter=2` в `/etc/sysctl.conf` + hotplug `/etc/hotplug.d/iface/99-awg-rpfilter` (loose на все `awg*` при ifup — robust против пересоздания). **Это НЕ протокол и НЕ сервер** (mac-клиент и Severni Les на этой ноде работали). Проверка: `sysctl -n net.ipv4.conf.awg2.rp_filter` → должно быть `2`.
- ⚠️ `202.71.12.186` (awg0) геолоцируется в **Хельсинки/FI** (cdn-cgi/trace), не Сингапур — прежний ярлык «Singapore» здесь и в [[../../snippets/podkop-reference]] неверен.
- **Rule-set download detour (2026-06-23, фикс crash-loop):** rule-set'ы podkop — remote (`github.com/itdoginfo/.../*.srs`), а GitHub блокирован РКН по WAN → при пустом `/tmp/sing-box/rulesets` sing-box падал `FATAL initialize rule-set: Get release-assets.githubusercontent.com` (route.final=`direct-out`=WAN). Лечится `download_lists_via_proxy=1` + `download_lists_via_proxy_section=main` (detour→`main-out`=туннель). **На 0.7.19 это РАБОТАЕТ** (старая грабля «via_proxy ломает sing-box» из [[../../snippets/podkop-reference]] была из-за пустой секции → тег `-out`; с явной секцией тег `main-out` валиден).
- ⚠️ Грабля: `service podkop status` показывает **"not running" при живом sing-box** (косметика init-скрипта, не показатель). Sing-box тут склонен зависать (FakeIP `missing fakeip record` + DNS `deadline exceeded`, иногда ДВА процесса) → лечить `killall sing-box; service podkop restart`. Проверка обхода: `nslookup <домен> 127.0.0.42``198.18.x` = ушёл в туннель
- Подробности и откат: см. [[../../decisions/2026-04-30-openwrt-homelab-agh-podkop-chain]]
<!-- AUTO-SYNC FROM MEMORY.MD - DO NOT EDIT BELOW -->
## OpenWrt Router HomeLab (10.0.0.1:8080)
- LuCI Web UI: http://10.0.0.1:8080/cgi-bin/luci/
- ubus RPC: POST http://10.0.0.1:8080/ubus/ (root / 1qaz!QAZ)
- SSH: НЕ работает с этим паролем (другой или key-only)
- DNS Hijack: перехватывает порт 53 → 10.0.0.1 (все DNS запросы через роутер)
- Проброс: 80→NPM, 443→NPM, 25/465/587/993/995/4190→Mailcow(10.0.0.107)
- uci apply: нужен rollback=True + confirm, иначе правила теряются
<!-- END AUTO-SYNC -->