ММФБ Юрий: апгрейд Win10→Win11 25H2 + отчёт клиенту PDF
This commit is contained in:
66
decisions/2026-04-28-netbird-watchdog-lxc-132-137.md
Normal file
66
decisions/2026-04-28-netbird-watchdog-lxc-132-137.md
Normal file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
date: 2026-04-28
|
||||
type: decision
|
||||
tags: [decision, openclaw, netbird, code-server, monitoring]
|
||||
---
|
||||
|
||||
# 2026-04-28: NetBird watchdog на LXC 132 и 137 (фикс "бот молчит")
|
||||
|
||||
## Симптом
|
||||
|
||||
Олег пишет Максимке (openclaw, LXC 137) с 10:10 до 11:09 — **9 сообщений без ответа**. В логах gateway:
|
||||
|
||||
```
|
||||
FailoverError: LLM request failed: network connection error
|
||||
502 [kiro/claude-sonnet-4.5]: fetch failed (reset after 1s)
|
||||
502 [claude/claude-sonnet-4-6]: fetch failed (reset after 5s)
|
||||
502 [codex/gpt-5.4]: fetch failed (reset after 2s)
|
||||
```
|
||||
|
||||
Все 3 модели в failover-цепочке падают с TCP-reset за 1-5 секунд.
|
||||
|
||||
## Корень
|
||||
|
||||
NetBird daemon на **LXC 132 (code-server, OmniRoute + CLIProxy)** в зомби-состоянии:
|
||||
|
||||
```
|
||||
Management: Connected
|
||||
Signal: Connected
|
||||
Relays: 0/4 Available ← застряло
|
||||
Nameservers: 0/0 Available
|
||||
```
|
||||
|
||||
DNS-запросы к `1.1.1.1` через `wt0`-туннель падают мгновенно с `write: required key not available` — WireGuard handshake с пиром не завершён, ключ не загружен в ядро. Поэтому curl на `api.anthropic.com` / `api.openai.com` отвечает `HTTP 000` за 0.0001s. CLIProxy без апстрима возвращает HTTP 500 на каждый POST.
|
||||
|
||||
Ручной `systemctl restart netbird` сразу чинит — Relays поднимаются 4/4, DNS работает, curl Anthropic = 405, OpenAI = 401.
|
||||
|
||||
## Решение
|
||||
|
||||
Watchdog на LXC 132 и LXC 137:
|
||||
|
||||
- `/usr/local/bin/netbird-watchdog.sh` — проверяет `netbird status`. Если `Relays: 0/N` или `Peers count: 0/N` (при N>0 и Management=Connected) — `systemctl restart netbird`. Минимум 5 мин между рестартами (lock-файл `/run/netbird-watchdog.last-restart`).
|
||||
- `netbird-watchdog.service` (oneshot) + `netbird-watchdog.timer` (каждые 2 мин).
|
||||
|
||||
## Деплой
|
||||
|
||||
```bash
|
||||
for CT in 132 137; do
|
||||
pct push $CT netbird-watchdog.sh /usr/local/bin/ --perms 0755
|
||||
pct push $CT netbird-watchdog.service /etc/systemd/system/
|
||||
pct push $CT netbird-watchdog.timer /etc/systemd/system/
|
||||
pct exec $CT -- systemctl daemon-reload
|
||||
pct exec $CT -- systemctl enable --now netbird-watchdog.timer
|
||||
done
|
||||
```
|
||||
|
||||
Скрипты — `snippets/netbird-watchdog/`.
|
||||
|
||||
## Логи
|
||||
|
||||
Решение пишет в journalctl с tag `netbird-watchdog`:
|
||||
|
||||
```bash
|
||||
journalctl -t netbird-watchdog -n 20
|
||||
```
|
||||
|
||||
Если за неделю не было ни одного срабатывания — проблема была разовой. Если срабатывает регулярно — нужно копать корень почему wireguard handshake разваливается (MTU? фрагментация UDP? провайдер режет?).
|
||||
56
decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md
Normal file
56
decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
date: 2026-04-28
|
||||
type: decision
|
||||
tags: [decision, niikn, network, dns, podkop]
|
||||
---
|
||||
|
||||
# 2026-04-28: Открыть uookn.sev.gov.ru из НИИКН (DNS override)
|
||||
|
||||
## Проблема
|
||||
|
||||
Сотрудники НИИКН жалуются — не открывается `https://uookn.sev.gov.ru/` (Управление по охране объектов культурного наследия Севастополя, на Bitrix).
|
||||
|
||||
## Диагноз
|
||||
|
||||
По алгоритму [[notes/govru-diagnosis]]:
|
||||
|
||||
| Точка | HTTP | Real IP |
|
||||
|-------|------|---------|
|
||||
| Mac (Ростелеком Истра) | 200 | 213.59.161.38 |
|
||||
| pve-LionART (чистый WAN) | 200 | 213.59.161.38 |
|
||||
| pve-niikn vmbr0 (МТС B2B) | 200 | 213.59.161.38 |
|
||||
| OpenWrt 192.168.1.50 (DNS клиентов НИИКН) | — | **198.18.1.123 (FakeIP)** |
|
||||
|
||||
Оба WAN отдают сайт. МТС не блочит. **Причина** — `sev.gov.ru` подпадает под podkop community-list (вероятно `russia_outside`), DNS подменяется FakeIP, трафик уходит в awg0 Финляндию и не возвращается. Тот же паттерн, что `zakupki.gov.ru`.
|
||||
|
||||
## Решение
|
||||
|
||||
OpenWrt `192.168.1.50` — добавлен root-домен в dnsmasq `server=`:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.1.50
|
||||
uci add_list dhcp.@dnsmasq[0].server='/sev.gov.ru/8.8.8.8'
|
||||
uci commit dhcp
|
||||
/etc/init.d/dnsmasq restart
|
||||
```
|
||||
|
||||
NetBird route **НЕ требуется** (в отличие от nspd).
|
||||
|
||||
## Проверка
|
||||
|
||||
```
|
||||
DNS 192.168.1.50: uookn.sev.gov.ru → 213.59.161.38
|
||||
МТС vmbr0 + curl: HTTP 200, 216 KB
|
||||
OpenWrt curl: HTTP 200, 216 KB
|
||||
```
|
||||
|
||||
Клиентам НИИКН — `ipconfig /flushdns` для сброса кэша FakeIP.
|
||||
|
||||
## Текущий список dnsmasq override на 192.168.1.50
|
||||
|
||||
```
|
||||
'127.0.0.42' # podkop sing-box
|
||||
'/nspd.gov.ru/8.8.8.8' # + NetBird route 2.63.246.0/24
|
||||
'/zakupki.gov.ru/8.8.8.8' # только DNS
|
||||
'/sev.gov.ru/8.8.8.8' # только DNS — добавлено сегодня
|
||||
```
|
||||
Reference in New Issue
Block a user