Files
knowledge-base/projects/dttb/vps-swtest.md
dttb c1819f96a8 VPS swtest.ru: настроен доступ с Mac и openclaw, добавлена документация
- SSH алиасы vps-znam / vps-znam-public в ~/.ssh/config (Mac) и /root/.ssh/config (LXC 137 openclaw)
- Приватный ключ vps_znam_key развёрнут на обоих хостах
- projects/dttb/vps-swtest.md — полная справка: пиры WG, DNAT-порты, сценарии
  заходов, безопасная правка wg0.conf через wg syncconf
- credentials.md — добавлена строка VPS в раздел SSH-ключи
- znamenskoye-ohothozyistvo.md — ссылка на новую справку VPS

TODO Олег: сохранить приватник в Bitwarden bit.dttb.ru
2026-04-21 20:08:46 +03:00

146 lines
6.4 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-04-21
type: project
tags: [dttb, vps, swtest, wireguard, znamenskoye]
---
# VPS swtest.ru (89.111.140.86) — WG-хаб для Знаменского
Внешний VPS у Spaceweb, используется как:
1. **WireGuard-хаб** для трёх объектов «Знаменское» (охотхозяйство, дом, «29»)
2. **DNAT публичных портов** камер/NVR через WG-туннели
3. **Резервный канал** управления Orange Pi охотхозяйства (когда Netbird деградирует)
## Параметры
| Параметр | Значение |
|----------|----------|
| FQDN | `89-111-140-86.swtest.ru` |
| Публичный IPv4 | `89.111.140.86` |
| IPv6 | `2a01:d8:4:f:89:111:140:86` |
| Netbird IP | `100.70.93.36` |
| OS | Ubuntu 24.04.4 LTS |
| CPU / RAM / Disk | 1 vCPU / 990 MB / 9.8 GB (84% used) |
| Панель хостера | [vps.sweb.ru](https://vps.sweb.ru) — логин `it5870yand` / `1qaz!QAZ` (см. [credentials.md](credentials.md)) |
| WG интерфейс | `wg0` — listen `51821/udp`, IP `10.5.0.1/24` |
## Как входить
### С Mac (Олег)
```bash
ssh vps-znam # через Netbird: 100.70.93.36
ssh vps-znam-public # через публичный IP: 89.111.140.86
```
Алиасы настроены в `~/.ssh/config`, ключ `~/.ssh/vps_znam_key` (RSA от sweb.ru).
### С openclaw (LXC 137, основной AI-бот)
```bash
pct exec 137 -- ssh vps-znam
# или из shell контейнера:
ssh vps-znam
```
Ключ `/root/.ssh/vps_znam_key`, конфиг `/root/.ssh/config`.
### Резервный доступ (если ключи утрачены)
1. Зайти в [vps.sweb.ru](https://vps.sweb.ru) → «Мои ключи» → «Сгенерировать ключи»
2. Скачать приватный ключ, положить в `~/.ssh/vps_znam_key`, `chmod 600`
3. Подключить ключ к серверу в панели
4. Старый ключ sweb.ru «claude» оставляем — параллельные ключи не мешают
## WG пиры
| Пир | WG IP | Объект | Allowed IPs |
|-----|-------|--------|-------------|
| Знаменское 29 | `10.5.0.2` | MikroTik З-29 | `192.168.88.0/24` |
| Охотхозяйство | `10.5.0.3` | Orange Pi (OpenWrt) | `192.168.8.0/24` |
| Знаменское Home | `10.5.0.4` | Cudy TR3000 (OpenWrt) | `192.168.1.0/24`, `192.168.100.0/24` |
Public key сервера: `v95Qiu4diw2EBghyQK4obptxnJ7EhAAUXxNflMS0DTw=`
Конфиг: `/etc/wireguard/wg0.conf`. Атомарное применение правок **без падения туннеля**:
```bash
wg syncconf wg0 <(wg-quick strip wg0)
```
## DNAT — публичные порты
### Охотхозяйство (192.168.8.0/24) — через `10.5.0.3`
| Порт на 89.111.140.86 | → Локальный адрес | Назначение |
|----------------------|-------------------|------------|
| 8180 / 8100 / 8555 | `.247:80` / `:8000` / `:554` | NVR: Web / SDK / RTSP |
| 8561 / 8201 | `.2:554` / `:8000` | Камера 1 |
| 8562 / 8202 | `.3:554` / `:8000` | Камера 2 |
| 8563 / 8203 | `.102:554` / `:8000` | Камера 3 |
| 8564 / 8204 | `.110:554` / `:8000` | Камера 4 |
| 8565 / 8205 | `.113:554` / `:8000` | Камера 5 |
| 8566 / 8206 | `.120:554` / `:8000` | Камера 6 |
### Знаменское 29 (192.168.88.0/24) — через `10.5.0.2`
| Порт | → Адрес | Назначение |
|------|---------|-----------|
| 8080 / 8082 / 8554 | `.42:80` / `:8000` / `:554` | Камера HiWatch |
### Знаменское Home (192.168.1.0/24) — через `10.5.0.4`
| Порт | → Адрес | Назначение |
|------|---------|-----------|
| 8280 / 8282 / 8284 | `.123:80` / `:8000` / `:554` | NVR Hikvision |
## Типовые сценарии
### Резервный заход на Orange Pi охотхозяйства (Netbird лёг)
```bash
ssh vps-znam
# на VPS:
ssh root@10.5.0.3 # прямой SSH через WG (Orange Pi)
# или напрямую на MikroTik:
ssh admin@192.168.8.1 # RouterOS
# или команды на REST API:
curl -u admin:'1qaz!QAZ' http://192.168.8.1/rest/system/resource
```
### Диагностика WG
```bash
ssh vps-znam 'wg show wg0' # все пиры
ssh vps-znam 'wg show wg0 latest-handshakes' # эпохальное время последнего handshake
```
Handshake должен обновляться ≤ 3 мин. Если устарел — см. troubleshooting в [decision 2026-04-21](../../decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md).
### Проверка камеры наружу
```bash
curl -I http://89.111.140.86:8180/ # NVR охотхозяйства
curl -I http://89.111.140.86:8280/ # NVR Знаменское Home
```
## Что делать при смене ключей на VPS
Если `/etc/wireguard/wg0.conf` правится для замены pubkey пира:
1. **Обязательно `cp wg0.conf wg0.conf.bak-$(date +%Y%m%d-%H%M)`** перед правкой
2. Менять только блок нужного пира — не трогать `[Interface]` и соседние `[Peer]`
3. Применять **`wg syncconf wg0 <(wg-quick strip wg0)`** — атомарно, **не** `systemctl restart wg-quick@wg0` (уронит все пиры)
4. Убедиться после: `wg show wg0 | grep -A 3 <pubkey>` — endpoint и handshake обновились
## История
- **2026-04-21** — восстановлен пир Охотхозяйства (`10.5.0.3`): был port mismatch 51820/51821 + неверный pubkey на VPS. Создан новый SSH-ключ `claude` через панель sweb.ru (старый ключ `vps_znam_key` был на LXC 129 clawdbot, LXC удалён). См. [decision](../../decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md).
- До 2026-04-21 — доступ к VPS был только с LXC 129 (clawdbot), при удалении LXC ключ утрачен.
## Ссылки
- [Сеть охотхозяйства — полная топология](../../claude-memory/znamenskoye-ohothozyistvo.md)
- [Znamenskoye Home — топология](../../claude-memory/znamenskoe-home.md)
- [Znamenskoye Home — детальная](znamenskoye-network-topology.md)
- [Credentials DTTB](credentials.md)