VDS daily backup пал с 12.06 (line 108, exit 1): mssql-блок (added 11.06,
commit f8ca0794) использовал `WITH ... INIT`, упирался в компрессованный
media-header майских .bak (созданы WITH COMPRESSION на Developer-источнике).
Express не пишет в compression-форматированный media set -> Msg 1844, молчаливый
провал первым же cron-запуском. 5 боевых CMS-баз 3 недели без offsite-копии.
Fix: INIT -> FORMAT (всегда новый media set, иммунно к остаткам). Прогон
verified зелёным: VDS backup OK 95m41s, все 5 .bak на kreknin
(MoreThenCms 910M, StayerCalculator 528M, StayerPrice 39M, TireService 4.5M,
stostayer 990M), speedup 22.62 (--link-dest хардлинкует).
- scripts/vds-backup-rsync-kreknin/run.sh: синхронизирован с задеплоенным
(mssql-блока в репо не было); FORMAT
- .wiki/concepts/mssql-on-vds.md: gotcha #2 (INIT vs FORMAT) + backup-gap
- .wiki/concepts/backup-inventory-2026-06.md: новая — карта estate × что реально
бэкапится (с доказательством); триаж дыр
- openwrt UCI backup настроен (cron 03:30 -> kreknin, restricted forced-command
key) — документация в entity + inventory
- .tasks/kreknin-self-backup.md: backlog #1 SPOF (приёмник сам не бэкапится)
- STATUS.md: incident + audit summary
Урок: бэкап-шаг не готов, пока не предъявлен лог одного реального успеха;
прод-крон не должен быть первым тестом бэкап-пути.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.2 KiB
4.2 KiB
title, type, tags, sources, updated
| title | type | tags | sources | updated | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| OpenWRT Router (192.168.1.1) | entity |
|
|
2026-05-19 |
OpenWRT Router
Домашний роутер, через который идёт весь публичный трафик к клиентским сайтам.
Hardware / OS
- Hardware: MediaTek MT7622 (aarch64), 6 disk-bay шасси (с роутером не связано)
- OS: OpenWRT 23.05.4 (r24012-d8dd03c46f)
- Uptime: 13+ дней на момент recovery
- LAN-IP: 192.168.1.1
- LAN-subnet: 192.168.1.0/24
- WAN-public: 94.19.247.14
Access
- SSH:
root@192.168.1.1:22— ssh-keyid_ed25519_openwrtустановлен в/etc/dropbear/authorized_keys - LuCI web: http://192.168.1.1
- Конфиг через
uci(UCI infrastructure)
Текущий port forwarding setup (после recovery patch)
Активные:
firewall.@redirect[0](SSL): WAN 443 → 192.168.1.143:4443 (Windows-PC, где traefik)firewall.@redirect[1](HTTP): WAN 80 → 192.168.1.143:8000 (Windows-PC, где traefik)firewall.@redirect[9](Wireguard): WAN 48820 → 192.168.1.239 (отдельный хост, не трогали)
Старые (всё ещё активны, но смотрят на мёртвую синку 192.168.1.10 — на которой ничего нет):
- DSM 5000 → 192.168.1.10:5000
- FTP 21, SFTP 22, MariaDB 36063, SQLServer 23056, PassiveFTP 55536-55899, Cloud Station 6690, SSH 1322
В рамках recovery эти не отключали (по решению пользователя). Можно отключить через uci set firewall.@redirect[N].enabled='0' для снижения шума атак.
DHCP-резервации (актуальные)
| Хост | IP | MAC | Назначение |
|---|---|---|---|
windows-recovery-pc |
192.168.1.143 | 88:66:5A:2F:AA:68 | windows-recovery-host |
snolla (исторически) |
192.168.1.15 | 02:11:32:2A:7C:B9 | Раньше — VM мёртвой синки. Сейчас MAC присвоен новой snolla-recovery-vm, но VM в NAT-режиме и LAN-IP не получает. |
diskstation |
192.168.1.10 | 22:06:7C:32:00:6F (+ ...:70) | Мёртвая синка dead-synology-diskstation |
| Прочие | разное | разное | wled-1, hifiberry, и т.д. — не трогаем |
Firewall zones
- lan: input=ACCEPT, output=ACCEPT, forward=ACCEPT (внутри LAN всё открыто)
- wan: input=REJECT, output=ACCEPT, forward=REJECT, masq=1 (стандарт)
- LAN→WAN forwarding: ALLOW
Дополнительные input rules для wan (стандартные OpenWRT): Allow-DHCP-Renew, Allow-Ping, Allow-IGMP, Allow-DHCPv6, Allow-MLD, Allow-ICMPv6-*, Allow-IPSec-ESP.
Config backup (с 2026-06-12)
Daily UCI/config backup → kreknin-synology:
/root/uci-backup.sh—sysupgrade -b /tmp/uci-backup.tar.gz→dbclient -i /root/.ssh/id_kreknin -y vitya@195.19.90.188(pipe stdin).- Cron
/etc/crontabs/root:30 3 * * * /root/uci-backup.sh. - Ключ роутера
/root/.ssh/id_kreknin(dropbear ed25519) авторизован на kreknin с forced-commandcat > /volume1/NetBackup/openwrt/openwrt-latest.tar.gz+no-pty,no-*-forwarding— ключ умеет только записать один файл (роутер публично-доступен → ограничение обязательно). - Latest-only (без истории снапшотов); tarball ~15 КБ. См. ../concepts/backup-inventory-2026-06.
Что нужно сделать (на потом)
- Отключить устаревшие redirects на 192.168.1.10 (DSM/FTP/SQL/Cloud Station) — снижает attack surface.
- Запланировать DDNS для случая смены публичного IP (REGRU domains всё ещё указывают на 94.19.247.14).
- При планировании future-resilient-architecture-goals — добавить second WAN (3G/4G/LTE через USB-modem) на роутер? OpenWRT поддерживает multi-WAN.