Files
obsidian-vault/personal/tech/home-network-config.md
T
Taiga b53dd70a15 [2026-09-26 09:10:28] syncthing: personal/tech/archive-org-collection-harvest.md personal/tech/balda-go-fx-pitfalls.md personal/tech/bilety-oxota-interaktiv.md personal/tech/cloudflare-tunnel-ssh-published-route.md personal/tech/deepseek-language-drift.md personal/tech/docker-data-root-mount-race.md personal/tech/docker-mac-disk-issues.md personal/tech/docker_colima_setup.md personal/tech/eagle-dashboard-launchd.md personal/tech/hermes-agent-improvements.md personal/tech/hermes-browser-toolsets.md personal/tech/hermes-fork-vs-upstream.md personal/tech/hermes-git-repo.md personal/tech/hermes-memory-architecture.md personal/tech/hermes-secret-redaction-bypass.md personal/tech/hermes-self-improvement-review.md personal/tech/home-network-config.md personal/tech/inter-site-throughput-taiga-to-mac.md personal/tech/inter-site-throughput-taiga-to-mac.md.bak-nedstab2 personal/tech/jellyfin-db-schema-mismatch.md personal/tech/karabiner-keyboard-config.md personal/tech/kraken-media-inventory-facts.md personal/tech/kraken-truenas-media-copies.md personal/tech/lampa-jellyfin-plugin.md personal/tech/lampac-deployment.md personal/tech/lampac-torrserver.md personal/tech/llm-model-selection-2026.md personal/tech/mac-print-shared-services.md personal/tech/modbus-rtu-sniffer-debugging.md personal/tech/multistream-single-flow-limit.md personal/tech/multistream-single-flow-limit.md.bak-nedstab2 personal/tech/music-tags-repair-truenas.md personal/tech/obsidian-mcp-ecosystem.md personal/tech/original-xbox-2025-guide.md personal/tech/prowlarr-flaresolverr-cloudflare.md personal/tech/radarr-sonarr-phantom-records.md personal/tech/roundtrip-key-verification.md personal/tech/ryujinx-mac-setup.md personal/tech/skill-arr-media-stack-setup-additions.md personal/tech/skill-docker-data-root-mount-race.md personal/tech/skill-lampac-kraken-deploy.md personal/tech/tirith-trust.md personal/tech/truenas-local-tree-comparison.md personal/tech/truenas-nfs4-acl-and-arrmultiuser.md personal/tech/truenas-zfs-panic-recovery.md personal/tech/vault-doc-pruning.md personal/tech/vless-space-subscription-egress.md personal/tech/watchlist-sync-feed.md personal/tech/watchtower-docker-updates.md personal/tech/xray-outbound-subscription-3xui.md personal/tech/xray-reverse-limits-private-network.md personal/tech/xray-reverse-tunnel-kraken-truenas.md personal/tech/xray-reverse-tunnel-kraken-truenas.md.bak-nedstab2 personal/tech/yandex-music-api.md
2026-09-26 09:10:28 +00:00

6.4 KiB
Executable File
Raw Blame History

title, created, updated, type, namespace, tags, confidence, related
title created updated type namespace tags confidence related
home-network-config — skill notes 2026-09-23 2026-09-23 tech personal
networking
home-network
asus
kraken
openwrt
skill
high
family/how-to/kraken-access
family/how-to/rasputin-router
personal/plans/lan-via-reverse-tunnel
family/how-to/truenas-infrastructure

home-network-config — skill notes

Зеркало знаний из skill home-network-config. Полная версия — ~/.hermes/hermes-whale/skills/software-development/home-network-config/SKILL.md.

Логическая топология (проверено 2026-09-23) — НЕ ПУТАТЬ ПОДСЕТИ

Mac 192.168.1.57 ─┐
                  ├── 192.168.1.0/24, gw 192.168.1.1 (ASUS RT-AC68U)
Kraken .14/.15 ───┘   ← СОСЕДИ, одна подсеть
        │  reverse-туннель VLESS+REALITY TCP :12346
        ▼
TrueNAS 192.168.2.197  ← сеть 192.168.2.0/24, gw OpenWrt 192.168.2.2

🔴 192.168.2.2 (OpenWrt) — шлюз сети TrueNAS. К сети Mac/Кра́кена (192.168.1.0/24) отношения НЕ имеет.

Типовая ошибка (допущена 2026-09-23): приписать OpenWrt сеть 192.168.1.x и построить на этом неверную схему маршрутизации. Следствие у меня было: два лишних «варианта» плана (NAT на ASUS, правка policy routing на Rasputin) — оба не нужны. Схема со статическим маршрутом 192.168.2.0/24 → 192.168.1.15 на ASUS работает именно потому, что Mac и Кра́кен — соседи, и обратный NAT делает сам Кра́кен.

Проверка перед любыми выводами о маршрутах:

ssh kraken 'ip -4 addr show | grep inet; ip route show default'
route -n get 192.168.2.197     # на Mac: какой gateway?

Факт 2026-09-23: с Mac до 192.168.2.197 → gateway: 192.168.1.1 (ASUS), не OpenWrt. Кра́кен: default via 192.168.1.1 dev eth0 src 192.168.1.14 (metric 100), wlan0 .15 (metric 600), wg0 10.99.1.2/24 (VPS qentra удалён — мёртво).

Питфоллы доступа

Узел Доступ Статус 2026-09-23
Кра́кен 192.168.1.15 ssh kraken 🔴 СЛОМАНА: DNS отдаёт .15 (wlan0, metric 600) → порт 22 открыт, но sshd рвёт на banner exchange. Рабочий адрес — 192.168.1.14
Кра́кен 192.168.1.14 ssh kraken@192.168.1.14 ✅ работает именно так (eth0, активный)
ASUS 192.168.1.1 ssh -i ~/.ssh/id_rsa admin@192.168.1.1 ✅ работает (перепроверено 2026-09-25). 🔴 Прежняя запись «SSH НЕ работает» ошибочна — она была получена при попытке входа под root@, который даёт Connection closed при открытом порту 22. Пользователь — admin. См. family/how-to/router-bishkek-asus
HTPC 192.168.1.86 ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86 (не проверялся в этой сессии)
TrueNAS ssh truenas_admin@mallexxx.duckdns.org ✅ работает
OpenWrt 192.168.2.2 ssh root@192.168.2.2 (прямой, по ключу) (не проверялся в этой сессии)

⚠️ У Кра́кена ДВА IP — .14 (eth0, активный default metric 100) и .15 (wlan0, metric 600). Работать через .14.

🔴 ssh kraken (голый хостнейм) НЕ РАБОТАЕТ с 2026-09-23. Причина — proxy-команда в ~/.ssh/config:

if ifconfig | grep -q 10.99.0.2; then nc 10.99.1.2 22; else nc kraken 22; fi

На Mac интерфейса с 10.99.0.2 нет (WG-туннель до Кра́кена не поднят) → ветка else → nc kraken 22 → DNS отдаёт мёртвый .15 → kex_exchange_identification: Connection closed by remote host.

Обход: всегда ssh kraken@192.168.1.14 (или ssh -o ... kraken@192.168.1.14). Проверка живости: nc -z -w 5 192.168.1.14 22 && echo OK. Заодно: ssh kraken идёт через proxy, поэтому тяжёлые команды и длинные jq рвут соединение заметно чаще — дробить команды.

🔴 Симптом-ловушка: обрыв SSH выглядит как «хост упал» / «контейнеры лежат». Сначала проверить адрес и ping/nc, а не лезть в docker ps. В этой сессии так и было: хост пинговался и был жив, load 0.02, uptime 6:27 — сломан был только маршрут ssh.

Прочие заметки из skill (краткая выжимка)

  • sudo через SSH зависает без < /dev/null.
  • docker compose в аргументах SSH блокируется детектором долгоживущих процессов — обходить через скрипт.
  • mkfs/dd на блочное устройство заблокированы — обход через base64-скрипт.
  • OpenWrt: uci delete переиндексирует секции — удалять по одной, сверяя .name.
  • nc -z даёт ложный OPEN на внешний порт (upstream NAT отвечает до нашего роутера). Проверять через nft list chain inet fw4 dstnat + uci show firewall.
  • Kraken Samba: map to guest = bad user обязателен в [global] для guest-доступа.
  • USB-девайсы в docker: /dev/serial/by-id/... НЕ работают, только /dev/ttyUSB<N>.

Связанное