Compare commits
3 Commits
main
...
claude/heu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb33ecb0d3 | ||
|
|
f1b14be451 | ||
|
|
9a203fef4a |
@@ -9,8 +9,8 @@ type: project
|
|||||||
## Обзор
|
## Обзор
|
||||||
|
|
||||||
Удалённый объект (охотхозяйство) с интернетом через LTE (CGNAT). Удалённый доступ организован двумя каналами:
|
Удалённый объект (охотхозяйство) с интернетом через LTE (CGNAT). Удалённый доступ организован двумя каналами:
|
||||||
1. **Netbird VPN** через Orange Pi — основной канал управления (Connected P2P, новый IP 100.70.106.227)
|
1. **Netbird VPN** через Orange Pi — основной канал управления
|
||||||
2. **WireGuard** через VPS (89.111.140.86:51821) — резервный канал + DNAT камер. **РАБОТАЕТ** после фикса 2026-04-21 (см. [decision](../decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md))
|
2. **WireGuard** через VPS (89.111.140.86) — канал для видеонаблюдения (DNAT камер)
|
||||||
|
|
||||||
MikroTik WireGuard к VPS **ОТКЛЮЧЁН** (ломал интернет, перехватывал default route). WG работает только на Orange Pi → VPS.
|
MikroTik WireGuard к VPS **ОТКЛЮЧЁН** (ломал интернет, перехватывал default route). WG работает только на Orange Pi → VPS.
|
||||||
|
|
||||||
@@ -180,8 +180,8 @@ MikroTik WireGuard к VPS **ОТКЛЮЧЁН** (ломал интернет, п
|
|||||||
| FQDN | openwrt-ohothozyistvo.netbird.cloud |
|
| FQDN | openwrt-ohothozyistvo.netbird.cloud |
|
||||||
| LAN IP | 192.168.8.254 (DHCP от MikroTik) |
|
| LAN IP | 192.168.8.254 (DHCP от MikroTik) |
|
||||||
| MAC | C0:74:2B:FC:32:20 |
|
| MAC | C0:74:2B:FC:32:20 |
|
||||||
| Netbird IP | 100.70.106.227/16 (было 100.70.63.67, обновлено 2026-04-21) |
|
| Netbird IP | 100.70.63.67/16 |
|
||||||
| WG IP | 10.5.0.3/24 (wg0 → VPS :51821, РАБОТАЕТ с 2026-04-21) |
|
| WG IP | 10.5.0.3/24 (wg0 → VPS) |
|
||||||
| Disk | 29.2 GB (353 MB used, 1%) |
|
| Disk | 29.2 GB (353 MB used, 1%) |
|
||||||
| SSH | root / 1qaz!QAZ (Dropbear, нужен expect) |
|
| SSH | root / 1qaz!QAZ (Dropbear, нужен expect) |
|
||||||
|
|
||||||
@@ -200,10 +200,10 @@ MikroTik WireGuard к VPS **ОТКЛЮЧЁН** (ломал интернет, п
|
|||||||
|----------|---------|
|
|----------|---------|
|
||||||
| Public Key | QK2SMILEfG+kRccU3QJVDZafuf108z6qPDK1XusLGVI= |
|
| Public Key | QK2SMILEfG+kRccU3QJVDZafuf108z6qPDK1XusLGVI= |
|
||||||
| Peer | VPS (v95Qiu4diw2E...) |
|
| Peer | VPS (v95Qiu4diw2E...) |
|
||||||
| Endpoint | 89.111.140.86:51821 (исправлено 2026-04-21 с :51820) |
|
| Endpoint | 89.111.140.86:51820 |
|
||||||
| Allowed IPs | 10.5.0.0/24 |
|
| Allowed IPs | 10.5.0.0/24 |
|
||||||
| Keepalive | 25s |
|
| Keepalive | 25s |
|
||||||
| Статус | **РАБОТАЕТ** с 2026-04-21 — handshake идёт, DNAT камер доступен |
|
| Статус | **0 bytes received** — VPS слушает на :51821, OrangePi шлёт на :51820 — **ПОРТ НЕ СОВПАДАЕТ!** |
|
||||||
|
|
||||||
### Netbird
|
### Netbird
|
||||||
|
|
||||||
@@ -242,10 +242,10 @@ adblock, aria2, avahi, banip, collectd, dnsmasq, dockerd, dropbear, luci_statist
|
|||||||
| Пир | WG IP | Allowed IPs | Endpoint | Статус |
|
| Пир | WG IP | Allowed IPs | Endpoint | Статус |
|
||||||
|-----|-------|------------|----------|--------|
|
|-----|-------|------------|----------|--------|
|
||||||
| Знаменское 29 | 10.5.0.2 | 10.5.0.2/32, 192.168.88.0/24 | 193.39.160.146:35156 | **UP** ✓ |
|
| Знаменское 29 | 10.5.0.2 | 10.5.0.2/32, 192.168.88.0/24 | 193.39.160.146:35156 | **UP** ✓ |
|
||||||
| Охотхозяйство (Orange Pi) | 10.5.0.3 | 10.5.0.3/32, 192.168.8.0/24 | 212.233.85.177:* (LTE NAT) | **UP** ✓ (с 2026-04-21, pubkey обновлён на QK2SMILE...) |
|
| Охотхозяйство (MikroTik) | 10.5.0.3 | 10.5.0.3/32, 192.168.8.0/24 | нет Endpoint | **DOWN** ✗ (MikroTik wg-vps disabled) |
|
||||||
| Знаменское Home (OpenWrt_3) | 10.5.0.4 | 10.5.0.4/32, 192.168.1.0/24, 192.168.100.0/24 | 193.39.160.238:1514 | **UP** ✓ (4.37 TiB rx!) |
|
| Знаменское Home (OpenWrt_3) | 10.5.0.4 | 10.5.0.4/32, 192.168.1.0/24, 192.168.100.0/24 | 193.39.160.238:1514 | **UP** ✓ (4.37 TiB rx!) |
|
||||||
|
|
||||||
**Исправлено 2026-04-21:** на VPS было две проблемы — (1) порт на Orange Pi был 51820 вместо 51821, (2) PublicKey пира 10.5.0.3 на VPS был `zZ4UoWNwTxBODr8xZmoCREBL2zXJcmdcxKIPGp/xBC8=` (старый, от MikroTik wg-vps), а Orange Pi шлёт от `QK2SMILEfG+kRccU3QJVDZafuf108z6qPDK1XusLGVI=`. Оба исправлено, туннель работает. Бэкап прежнего конфига VPS: `/etc/wireguard/wg0.conf.bak-20260421-1512`.
|
**Важно:** Пир охотхозяйства НЕ имеет Endpoint в конфиге VPS — VPS не может сам инициировать подключение. Подключение должно приходить от MikroTik, но wg-vps на нём отключён. Реально WG идёт через Orange Pi (wg0), но Orange Pi шлёт на порт 51820, а VPS слушает на 51821 — **порт не совпадает, туннель не работает**.
|
||||||
|
|
||||||
### DNAT правила (порты на 89.111.140.86)
|
### DNAT правила (порты на 89.111.140.86)
|
||||||
|
|
||||||
@@ -338,21 +338,21 @@ adblock, aria2, avahi, banip, collectd, dnsmasq, dockerd, dropbear, luci_statist
|
|||||||
- Latency: ~75-210 ms
|
- Latency: ~75-210 ms
|
||||||
- Orange Pi раздаёт маршрут 192.168.8.0/24 в Netbird
|
- Orange Pi раздаёт маршрут 192.168.8.0/24 в Netbird
|
||||||
|
|
||||||
### Канал 2: WireGuard VPS (резервный + видеопотоки)
|
### Канал 2: WireGuard VPS (для видеопотоков)
|
||||||
|
|
||||||
```
|
```
|
||||||
Интернет → VPS (89.111.140.86:8xxx)
|
Интернет → VPS (89.111.140.86:8xxx)
|
||||||
│ DNAT
|
│ DNAT
|
||||||
▼
|
▼
|
||||||
WG туннель (10.5.0.1 ↔ 10.5.0.3) :51821/udp
|
WG туннель (10.5.0.1 ↔ 10.5.0.3)
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
192.168.8.x (камеры/NVR/MikroTik/OrangePi)
|
192.168.8.x (камеры/NVR)
|
||||||
```
|
```
|
||||||
|
|
||||||
- **СТАТУС: РАБОТАЕТ** (с 2026-04-21)
|
- **СТАТУС: НЕ РАБОТАЕТ**
|
||||||
- Пример: `curl http://89.111.140.86:8180/` = NVR web, HTTP 200
|
- Причина: MikroTik wg-vps disabled, Orange Pi wg0 шлёт на порт 51820 (VPS слушает 51821)
|
||||||
- Использовать как backup Netbird. Если Netbird упал: `ssh -i ~/.ssh/vps_znam_key root@100.70.93.36` → дальше пинг/ssh в 192.168.8.0/24.
|
- Для восстановления нужно: исправить порт на Orange Pi (51820→51821) ИЛИ включить wg-vps на MikroTik
|
||||||
|
|
||||||
### Канал 3: Прямой доступ через VPS → WG → SSH
|
### Канал 3: Прямой доступ через VPS → WG → SSH
|
||||||
|
|
||||||
@@ -369,8 +369,11 @@ clawdbot (10.0.0.206)
|
|||||||
|
|
||||||
## 6. Известные проблемы
|
## 6. Известные проблемы
|
||||||
|
|
||||||
### ~~WireGuard порт mismatch~~ — РЕШЕНО 2026-04-21
|
### WireGuard порт mismatch
|
||||||
Было: Orange Pi слал на :51820, VPS слушал :51821 + pubkey пира на VPS не соответствовал Orange Pi. Решение см. [decision 2026-04-21](../decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md).
|
- Orange Pi wg0 endpoint: `89.111.140.86:51820`
|
||||||
|
- VPS wg0 ListenPort: `51821`
|
||||||
|
- **Порты не совпадают!** Orange Pi шлёт пакеты на 51820, но VPS слушает на 51821
|
||||||
|
- Несмотря на это, VPS показывает handshake от Знаменское 29 и Home — возможно NAT или iptables перенаправляет 51820→51821, или пиры шлют на правильный порт
|
||||||
|
|
||||||
### MikroTik WireGuard ломает интернет
|
### MikroTik WireGuard ломает интернет
|
||||||
- wg-vps имеет default route с distance 2 — при включении может перехватить трафик
|
- wg-vps имеет default route с distance 2 — при включении может перехватить трафик
|
||||||
@@ -392,7 +395,7 @@ clawdbot (10.0.0.206)
|
|||||||
|-----------|-------|--------|--------|
|
|-----------|-------|--------|--------|
|
||||||
| MikroTik | admin | 1qaz!QAZ | REST API http://192.168.8.1/rest/, SSH, WebFig |
|
| MikroTik | admin | 1qaz!QAZ | REST API http://192.168.8.1/rest/, SSH, WebFig |
|
||||||
| Orange Pi | root | 1qaz!QAZ | SSH (expect, Dropbear) |
|
| Orange Pi | root | 1qaz!QAZ | SSH (expect, Dropbear) |
|
||||||
| VPS | root | — (ключ) | SSH с Mac: `ssh -i ~/.ssh/vps_znam_key root@100.70.93.36` (ключ RSA от sweb.ru «claude», заведён 2026-04-21). Старый `vps_znam_key` с clawdbot LXC 129 утрачен. |
|
| VPS | root | — (ключ) | SSH с clawdbot: `ssh -i ~/.ssh/vps_znam_key root@100.70.93.36` |
|
||||||
| NVR (.247) | — | — | Web http://192.168.8.247 |
|
| NVR (.247) | — | — | Web http://192.168.8.247 |
|
||||||
| Камеры | — | — | RTSP/SDK |
|
| Камеры | — | — | RTSP/SDK |
|
||||||
| Знаменское 29 MikroTik | admin | admin01 | 192.168.88.1 |
|
| Знаменское 29 MikroTik | admin | admin01 | 192.168.88.1 |
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
---
|
---
|
||||||
date: 2026-04-20
|
date: 2026-04-20
|
||||||
type: decision
|
type: decision
|
||||||
status: ОТКАЧЕНО
|
status: ЗАМЕНЕНО
|
||||||
tags: [decision, niikn, mmfb, network, wireguard, rollback]
|
tags: [decision, niikn, mmfb, network, wireguard, superseded]
|
||||||
---
|
---
|
||||||
|
|
||||||
# 2026-04-20: Обход блокировки nspd.gov.ru в НИИКН через WG-туннель к LionART
|
# 2026-04-20: Обход блокировки nspd.gov.ru в НИИКН через WG-туннель к LionART
|
||||||
|
|
||||||
> **⚠️ СТАТУС: РЕШЕНИЕ ОТКАЧЕНО 2026-04-20 вечером.** После поднятия туннеля сотрудники НИИКН стали жаловаться на медленный интернет. Туннель удалён полностью с обеих сторон (НИИКН и LionART), OpenWrt DNS-override убран. Проблема NSPD остаётся открытой — искать другое решение. Описание ниже сохранено для референса: схема рабочая, но требует дополнительной диагностики что именно замедлило общий трафик (возможно MTU/фрагментация, перегрузка LionART, или случайное совпадение). См. задачу в spawn для вечерней работы.
|
> **⚠️ СТАТУС: ЗАМЕНЕНО РЕШЕНИЕМ [[2026-04-21-niikn-nspd-netbird-route]].**
|
||||||
|
> Эта схема (WG-туннель) откачена 2026-04-20 вечером — после поднятия сотрудники жаловались на медленный интернет. 2026-04-21 финальное решение: NetBird Network Route `2.63.246.0/24 → pve-LionART` + DNS override в OpenWrt dnsmasq. Только подсеть НСПД через туннель, не весь интернет. Описание ниже сохранено для референса.
|
||||||
|
|
||||||
## Проблема
|
## Проблема
|
||||||
|
|
||||||
|
|||||||
160
decisions/2026-04-21-niikn-nspd-netbird-route.md
Normal file
160
decisions/2026-04-21-niikn-nspd-netbird-route.md
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
---
|
||||||
|
date: 2026-04-21
|
||||||
|
type: decision
|
||||||
|
status: ACTIVE
|
||||||
|
tags: [decision, niikn, mmfb, lionart, netbird, nspd, bypass, dns]
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2026-04-21: Обход блокировки nspd.gov.ru через NetBird Network Route
|
||||||
|
|
||||||
|
> **Заменяет** [[2026-04-20-niikn-nspd-bypass-via-lionart]] (WG-туннель, откачен) и промежуточную попытку через socat+DNAT+hosts (утро 2026-04-21, не сработала из-за FakeIP в sing-box на OpenWrt).
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
НСПД блокирует по WAF публичный IP НИИКН `85.235.181.190` (MTS Customers_P2P_B16, AS8359). Подробности корневой причины — [[2026-04-20-niikn-nspd-bypass-via-lionart]].
|
||||||
|
|
||||||
|
## Почему предыдущие попытки не сработали
|
||||||
|
|
||||||
|
### WG-туннель НИИКН↔LionART (откачен 2026-04-20)
|
||||||
|
Работал технически, но совпал с побочными изменениями (отключение podkop-fakeip route, смена DHCP DNS) → сотрудники пожаловались на общее замедление. Откачен.
|
||||||
|
|
||||||
|
### socat + DNAT + hosts (попытка 2026-04-21 утро, не полетела)
|
||||||
|
Схема: `hosts: 195.26.30.163 nspd.gov.ru` → DNAT на MikroTik LionART (`src=85.235.181.190 → 10.253.1.253:4443`) → socat TCP4-LISTEN:4443 → nspd.gov.ru:443.
|
||||||
|
|
||||||
|
**Почему не сработала:**
|
||||||
|
1. **OpenWrt 192.168.1.50 (podkop/sing-box) FakeIP-ил** весь домен `nspd.gov.ru` и поддомены в `198.18.0.0/15`. Windows получал FakeIP, шёл через podkop → awg0 (Финляндия), куда НСПД вообще не пускал.
|
||||||
|
2. **Auth-поддомены** (`sso.nspd.gov.ru`) не были в hosts → ломалась авторизация даже когда главная открывалась.
|
||||||
|
3. **Дублирующий Ethernet-маршрут** `2.63.246.0/24 via 192.168.1.1` с metric=1 конкурировал с wt0 при последующей попытке NetBird-route.
|
||||||
|
|
||||||
|
## Итоговое решение — NetBird Network Route + DNS override на OpenWrt
|
||||||
|
|
||||||
|
```
|
||||||
|
[Windows НИИКН] DNS запрос → 192.168.1.50 (OpenWrt dnsmasq)
|
||||||
|
↓ dnsmasq server=/nspd.gov.ru/8.8.8.8 (минует sing-box FakeIP 127.0.0.42)
|
||||||
|
↓ ответ: 2.63.246.71-76 (реальные IP)
|
||||||
|
[Windows НИИКН] routing table: 2.63.246.0/24 → wt0 (NetBird, metric=1)
|
||||||
|
↓ WireGuard → 100.70.128.49 (pve-LionART)
|
||||||
|
[pve-LionART 10.253.1.253] NetBird FORWARD + MASQUERADE
|
||||||
|
↓ default gateway 10.253.1.1
|
||||||
|
[MikroTik LionART 10.253.1.1] NAT masquerade на WAN
|
||||||
|
↓ src=195.26.30.163 (Telekom /27)
|
||||||
|
[НСПД 2.63.246.0/24] HTTP 200 ✅ (вкл. sso / auth / api субдомены)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ключевое отличие от WG-схемы 2026-04-20
|
||||||
|
|
||||||
|
- **Только подсеть `2.63.246.0/24`** идёт через туннель, не весь интернет → общий traffic не замедляется.
|
||||||
|
- **NetBird push** доставляет маршрут на все 50 пиров в группе `All` автоматически → ничего устанавливать на Windows-машины НИИКН.
|
||||||
|
- Удалённые сотрудники (Мексика, Казахстан) получают фикс автоматически.
|
||||||
|
|
||||||
|
## Конфигурация
|
||||||
|
|
||||||
|
### 1. NetBird Network Route (через API)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TOKEN='nbp_YTEmAVpS0hLhnTeJ09q3wYaC0AAXjN21NPvM' # из 2026-04-16-unifi-migration-peredelki
|
||||||
|
curl -X POST -H "Authorization: Token $TOKEN" -H "Content-Type: application/json" \
|
||||||
|
https://api.netbird.io/api/routes \
|
||||||
|
-d '{
|
||||||
|
"description": "NSPD bypass (2.63.246.0/24 → pve-LionART WAN 195.26.30.163)",
|
||||||
|
"network_id": "nspd-bypass",
|
||||||
|
"enabled": true,
|
||||||
|
"peer": "cuisnd3l0ubs73bsbbl0",
|
||||||
|
"network": "2.63.246.0/24",
|
||||||
|
"metric": 9999,
|
||||||
|
"masquerade": true,
|
||||||
|
"groups": ["cqgcidrl0ubs73f2hgf0"]
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
| Поле | Значение |
|
||||||
|
|------|----------|
|
||||||
|
| Route ID | `d7ji3ajl0ubs73a92s40` |
|
||||||
|
| Peer (exit) | `cuisnd3l0ubs73bsbbl0` = pve-LionART (100.70.128.49) |
|
||||||
|
| Groups | `cqgcidrl0ubs73f2hgf0` = All (50 пиров) |
|
||||||
|
| Masquerade | true (NetBird ставит iptables MASQUERADE для WG→WAN SNAT) |
|
||||||
|
|
||||||
|
### 2. OpenWrt 192.168.1.50 — dnsmasq DNS override
|
||||||
|
|
||||||
|
Sing-box podkop FakeIP-ит весь `nspd.gov.ru` через community-list `russia_outside`. Решение — делегировать `nspd.gov.ru` на 8.8.8.8 напрямую, минуя sing-box:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# ssh root@192.168.1.50
|
||||||
|
uci add_list dhcp.@dnsmasq[0].server='/nspd.gov.ru/8.8.8.8'
|
||||||
|
uci commit dhcp
|
||||||
|
/etc/init.d/dnsmasq restart
|
||||||
|
```
|
||||||
|
|
||||||
|
После этого dnsmasq для запросов `*.nspd.gov.ru` идёт на 8.8.8.8, не на `127.0.0.42:53` (sing-box).
|
||||||
|
|
||||||
|
Проверка:
|
||||||
|
```bash
|
||||||
|
nslookup nspd.gov.ru 192.168.1.50
|
||||||
|
# Должно вернуть 2.63.246.71-76, не 198.18.0.x
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Клиенты — ничего делать не нужно
|
||||||
|
|
||||||
|
- NetBird-пиры в группе `All` получают маршрут `2.63.246.0/24 → wt0` автоматически.
|
||||||
|
- Клиенты LAN НИИКН получают реальные IP НСПД через OpenWrt dnsmasq.
|
||||||
|
- Если на машине остались старые hosts-записи `195.26.30.163 nspd.gov.ru` от снесённой попытки — убрать (браузер иначе пойдёт на 195.26.30.163:443, там никто не слушает).
|
||||||
|
|
||||||
|
## Cleanup старого socat-пути (выполнено 2026-04-21)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# pve-LionART
|
||||||
|
systemctl disable --now nspd-socat.service
|
||||||
|
rm /etc/systemd/system/nspd-socat.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
# MikroTik LionART
|
||||||
|
/ip firewall nat remove [find comment="NSPD socat bypass for NIIKN"]
|
||||||
|
|
||||||
|
# Windows 192.168.1.202 — hosts почищен вручную через WinRM
|
||||||
|
```
|
||||||
|
|
||||||
|
## Диагностика
|
||||||
|
|
||||||
|
### Проверить NetBird route на клиенте
|
||||||
|
```powershell
|
||||||
|
Get-NetRoute -DestinationPrefix "2.63.246.0/24"
|
||||||
|
# Должно быть: InterfaceAlias=wt0, RouteMetric=1
|
||||||
|
Find-NetRoute -RemoteIPAddress 2.63.246.71
|
||||||
|
# Должно: InterfaceAlias=wt0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Проверить DNS (не должен быть FakeIP)
|
||||||
|
```powershell
|
||||||
|
Resolve-DnsName nspd.gov.ru -Server 192.168.1.50 -DnsOnly
|
||||||
|
# Должно: 2.63.246.71-76, НЕ 198.18.0.x
|
||||||
|
```
|
||||||
|
|
||||||
|
### Проверить трафик на pve-LionART
|
||||||
|
```bash
|
||||||
|
ssh root@pve-LionART 'tcpdump -i wt0 -n "dst net 2.63.246.0/24" -c 10'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Откат
|
||||||
|
|
||||||
|
### NetBird route
|
||||||
|
```bash
|
||||||
|
curl -X DELETE -H "Authorization: Token $TOKEN" \
|
||||||
|
https://api.netbird.io/api/routes/d7ji3ajl0ubs73a92s40
|
||||||
|
```
|
||||||
|
|
||||||
|
### OpenWrt DNS override
|
||||||
|
```bash
|
||||||
|
uci del_list dhcp.@dnsmasq[0].server='/nspd.gov.ru/8.8.8.8'
|
||||||
|
uci commit dhcp
|
||||||
|
/etc/init.d/dnsmasq restart
|
||||||
|
```
|
||||||
|
|
||||||
|
## Риски и ограничения
|
||||||
|
|
||||||
|
1. **NetBird зависимость** — если daemon упадёт на клиенте, маршрут `2.63.246.0/24` пропадёт и запросы уйдут через обычный WAN → WAF block.
|
||||||
|
2. **OpenWrt зависимость** — если OpenWrt 192.168.1.50 упадёт, DNS `nspd.gov.ru` вернётся к FakeIP (или перестанет резолвиться). Остальной интернет не ломается.
|
||||||
|
3. **Cert-pinning** — НСПД использует сертификат Минцифры. NetBird не трогает TLS, end-to-end между клиентом и НСПД. Проблем быть не должно.
|
||||||
|
4. **Росреестр разблочит 85.235.181.190** (заявка 8-800-100-34-34) — тогда можно удалить NetBird route и dnsmasq override, НСПД заработает напрямую.
|
||||||
|
|
||||||
|
## Теги
|
||||||
|
`#niikn` `#mmfb` `#lionart` `#netbird` `#nspd` `#bypass` `#dns` `#fix`
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: decision
|
|
||||||
tags: [decision, network, wireguard, znamenskoye, ohothozyistvo, backup-channel]
|
|
||||||
---
|
|
||||||
|
|
||||||
# 2026-04-21: Восстановление резервного WG-канала для охотхозяйства
|
|
||||||
|
|
||||||
## Контекст
|
|
||||||
|
|
||||||
Объект «Знаменское Охотхозяйство» работает на LTE через MikroTik hAP ax lite LTE6 (CGNAT), единственный канал управления — Netbird через Orange Pi R1+ LTS (OpenWrt 21.02). Нужен резервный канал на случай деградации Netbird. Ранее пробовали WG на MikroTik — ломал интернет (default route hijacking через distance=2). Физического доступа к объекту нет.
|
|
||||||
|
|
||||||
Существующий WG на Orange Pi (wg0 → VPS 89.111.140.86) числился в документации как «сломан из-за port mismatch», но на самом деле не работал по **двум** причинам:
|
|
||||||
|
|
||||||
1. Orange Pi `wg0` endpoint port: `51820` — VPS слушает `51821`.
|
|
||||||
2. VPS `/etc/wireguard/wg0.conf` пира `10.5.0.3` имел pubkey `zZ4UoWNwTxBODr8xZmoCREBL2zXJcmdcxKIPGp/xBC8=` (вероятно, старый ключ MikroTik-овского `wg-vps`), а Orange Pi шлёт от ключа `QK2SMILEfG+kRccU3QJVDZafuf108z6qPDK1XusLGVI=`.
|
|
||||||
|
|
||||||
## Варианты
|
|
||||||
|
|
||||||
1. Починить существующий WG на Orange Pi (минимум правок, WG не трогает default route на OpenWrt).
|
|
||||||
2. Поднять AmneziaWG на Orange Pi по схеме НИИКН (требует OpenWrt 22.03+, Orange Pi на 21.02 — обновление sysupgrade без физдоступа = риск окирпичивания).
|
|
||||||
3. Включить WG на MikroTik заново — известная проблема с default route, отпадает.
|
|
||||||
|
|
||||||
## Решение
|
|
||||||
|
|
||||||
**Вариант 1.** Починить WG на Orange Pi, оставить MikroTik `wg-vps` disabled.
|
|
||||||
|
|
||||||
Изменения:
|
|
||||||
- На Orange Pi: `uci set network.wg0_peer.endpoint_port='51821'` → `ifdown wg0 && ifup wg0`.
|
|
||||||
- На VPS: `sed` в `/etc/wireguard/wg0.conf` (бэкап `.bak-20260421-1512`) — PublicKey пира `10.5.0.3` заменён на `QK2SMILE...`. Перечитано атомарно `wg syncconf wg0 <(wg-quick strip wg0)` — **другие пиры не затронуты** (10.5.0.4 Home 4.37 TiB трафика, 10.5.0.2 З-29).
|
|
||||||
|
|
||||||
Проверено:
|
|
||||||
- VPS ↔ Orange Pi (10.5.0.3): 0% loss, RTT ~40-107 мс
|
|
||||||
- VPS ↔ MikroTik (192.168.8.1): 0% loss, RTT ~40 мс
|
|
||||||
- VPS ↔ NVR (192.168.8.247): 0% loss
|
|
||||||
- DNAT публичных портов: `http://89.111.140.86:8180/` (NVR Web) → HTTP 200 за 0.22s
|
|
||||||
- Интернет на объекте не пострадал
|
|
||||||
|
|
||||||
## Последствия
|
|
||||||
|
|
||||||
### Что обновлено
|
|
||||||
- [Документация охотхозяйства](../claude-memory/znamenskoye-ohothozyistvo.md) — актуализированы разделы 2, 3, 5, 6.
|
|
||||||
- Netbird IP Orange Pi изменился: `100.70.63.67` → `100.70.106.227` (Connected P2P, не Relayed как писали ранее).
|
|
||||||
|
|
||||||
### Новый ключ доступа к VPS
|
|
||||||
SSH-ключ ранее был «на clawdbot LXC 129», но clawdbot больше нет (только LXC 137 openclaw). Заведён новый ключ:
|
|
||||||
- Локальный файл: `~/.ssh/vps_znam_key` (RSA-2048, сгенерирован панелью sweb.ru)
|
|
||||||
- Имя ключа в sweb.ru: `claude`
|
|
||||||
- **TODO (Олег):** сохранить приватный ключ в Bitwarden `bit.dttb.ru` как `VPS znam (89.111.140.86)` — чтобы не потерять снова.
|
|
||||||
|
|
||||||
### Резервные каналы объекта (после фикса)
|
|
||||||
| # | Канал | Путь |
|
|
||||||
|---|-------|------|
|
|
||||||
| 1 (основной) | Netbird mesh | Mac → 100.70.106.227 → 192.168.8.0/24 |
|
|
||||||
| 2 (резерв) | WG через VPS | Интернет → VPS → WG 10.5.0.1↔10.5.0.3 → 192.168.8.0/24 |
|
|
||||||
|
|
||||||
DNAT камер/NVR через VPS 89.111.140.86:8xxx теперь реально работает (до фикса транспорт был мёртв).
|
|
||||||
|
|
||||||
### Отложено (опционально)
|
|
||||||
- Второй WG-peer на VPS `:443/udp` — защита от DPI LTE-оператора, если начнёт блокировать `:51821`.
|
|
||||||
- `autossh` reverse tunnel с Orange Pi на VPS — третий канал на случай падения и Netbird, и WG.
|
|
||||||
- Обновление Orange Pi до OpenWrt 24.10 + AWG по схеме НИИКН — отложено из-за отсутствия физдоступа.
|
|
||||||
|
|
||||||
### Почему документация была неверной
|
|
||||||
В старом `znamenskoye-ohothozyistvo.md` описан только port mismatch (51820 vs 51821) — но смена порта одна handshake не восстанавливает, т.к. pubkey пира на VPS тоже не соответствовал Orange Pi. Вероятный источник путаницы — пир на VPS создавался когда WG пытались поднять на MikroTik (свой keypair), потом переключили на Orange Pi (другой keypair) и на VPS ключ не обновили.
|
|
||||||
|
|
||||||
## Теги
|
|
||||||
`#znamenskoye` `#ohothozyistvo` `#wireguard` `#openwrt` `#backup-channel` `#vps` `#fix`
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-20
|
|
||||||
type: claude-session
|
|
||||||
session_id: 8cbbed5a-8ea1-4158-9678-2bb25ef1c852
|
|
||||||
started: 2026-04-20T06:51:15.969Z
|
|
||||||
ended: 2026-04-20T08:51:26.818Z
|
|
||||||
messages: 32
|
|
||||||
tools: [Bash, Edit, Glob, Grep, Read, Write, mcp__ccd_session__spawn_task]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт http
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт https://nspd.gov.ru/#top_section похоже он идет через впн и его блокируют можно проверить и принудительно пускать без впн
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Готово.
|
|
||||||
|
|
||||||
- Задача отправлена Максимке в беседу `aecax6yg` Nextcloud Talk (msg id 331). Описана проблема, что пробовали и откатили, гипотезы по замедлению, 5 вариантов для оценки. Явно сказано не лезть в production без согласования.
|
|
||||||
- Доки приведены в соответствие с реальностью: [projects/mmfb/mikrotik.md](projects/mmfb/mikrotik.md) и [projects/niikn/mikrotik.md](projects/niikn/mikrotik.md) больше не описывают WG как активный — оба ссылаются на decision-doc со статусом ОТКАЧЕНО.
|
|
||||||
- Decision [decis
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`8cbbed5a`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/8cbbed5a-8ea1-4158-9678-2bb25ef1c852.jsonl) — 32 сообщ., тулы: Bash, Edit, Glob, Grep, Read, Write, mcp__ccd_session__spawn_task*
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-20
|
|
||||||
type: claude-session
|
|
||||||
session_id: 8cbbed5a-8ea1-4158-9678-2bb25ef1c852
|
|
||||||
started: 2026-04-20T06:51:15.969Z
|
|
||||||
ended: 2026-04-20T09:04:45.826Z
|
|
||||||
messages: 33
|
|
||||||
tools: [Bash, Edit, Glob, Grep, Read, Write, mcp__ccd_session__spawn_task]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт http
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт https://nspd.gov.ru/#top_section похоже он идет через впн и его блокируют можно проверить и принудительно пускать без впн
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Диагностика:
|
|
||||||
- Gateway активен. Максимка работает.
|
|
||||||
- В Telegram твой последний запрос 09:04 — Максимка ответил, но с задержкой ~14 сек из-за автофоллбека модели (`kr/claude-sonnet-4.5` → `zai/kr/...`, известный warning, не критично).
|
|
||||||
- В **Talk** мои сообщения тебе не доходят: первое в группу `aecax6yg` дропнуто `groupPolicy=allowlist (admin не разрешён)`; второе в DM `6doo2fdg` бот вообще не получил — webhook на новый DM-room не зарегистрирован.
|
|
||||||
|
|
||||||
Самый чистый фикс: добавить `admin` в `channels.
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`8cbbed5a`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/8cbbed5a-8ea1-4158-9678-2bb25ef1c852.jsonl) — 33 сообщ., тулы: Bash, Edit, Glob, Grep, Read, Write, mcp__ccd_session__spawn_task*
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-20
|
|
||||||
type: claude-session
|
|
||||||
session_id: 8cbbed5a-8ea1-4158-9678-2bb25ef1c852
|
|
||||||
started: 2026-04-20T06:51:15.969Z
|
|
||||||
ended: 2026-04-20T09:17:23.299Z
|
|
||||||
messages: 34
|
|
||||||
tools: [Bash, Edit, Glob, Grep, Read, ToolSearch, Write, mcp__ccd_session__spawn_task]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт http
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
Найди информацию по настройке OpenWRT и podcop в НИИКН Там блокируется сайт https://nspd.gov.ru/#top_section похоже он идет через впн и его блокируют можно проверить и принудительно пускать без впн
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Готово. Allowlist починен (`groupAllowFrom` нужен с префиксом `users/admin`), Максимка ответил на тестовое (id 342, 343) и теперь получил настоящую задачу `id 347`. Ответ должен прийти в основную беседу `aecax6yg` через минуту-две.
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`8cbbed5a`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/8cbbed5a-8ea1-4158-9678-2bb25ef1c852.jsonl) — 34 сообщ., тулы: Bash, Edit, Glob, Grep, Read, ToolSearch, Write, mcp__ccd_session__spawn_task*
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 50415f1b-7bc7-47ad-9c8b-0df874ed9eea
|
|
||||||
started: 2026-04-21T09:14:06.823Z
|
|
||||||
ended: 2026-04-21T09:15:36.731Z
|
|
||||||
messages: 2
|
|
||||||
tools: [Bash]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
AnyDesk запущен и подключён к relay (TCP *:7070 LISTEN + ESTABLISHED к relay-7c3ce2b1.net.anydesk.com:443). Сеть ок.
|
|
||||||
|
|
||||||
Что именно не работает? Варианты:
|
|
||||||
1. Не пускает на экран (macOS permissions — Screen Recording / Accessibility)
|
|
||||||
2. Не подключается к твоему ID (входящие)
|
|
||||||
3. Не можешь подключиться к другому хосту (исходящие)
|
|
||||||
4. Чёрный экран при подключении
|
|
||||||
|
|
||||||
Также замечу — в /Applications/ две копии: `AnyDesk.app` и `AnyDesk 2.app`. Старая копия могла держать привилегии TCC на себя. Уточни симптом
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`50415f1b`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/50415f1b-7bc7-47ad-9c8b-0df874ed9eea.jsonl) — 2 сообщ., тулы: Bash*
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 50415f1b-7bc7-47ad-9c8b-0df874ed9eea
|
|
||||||
started: 2026-04-21T09:14:06.823Z
|
|
||||||
ended: 2026-04-21T09:25:46.198Z
|
|
||||||
messages: 3
|
|
||||||
tools: [Bash]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
osascript prompt не сработал (возможно нужна фокусировка на UI). Запусти в терминале вручную одной командой (попросит пароль один раз):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo sh -c '
|
|
||||||
launchctl unload /Library/LaunchDaemons/com.philandro.anydesk.service.plist 2>/dev/null
|
|
||||||
launchctl unload /Library/LaunchDaemons/com.philandro.anydesk.Helper.plist 2>/dev/null
|
|
||||||
pkill -9 -f AnyDesk
|
|
||||||
rm -rf "/Applications/AnyDesk.app" "/Applications/AnyDesk 2.app" \
|
|
||||||
/etc/anydesk \
|
|
||||||
/Library/LaunchDaemons/com.philandro.anydesk.servic
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`50415f1b`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/50415f1b-7bc7-47ad-9c8b-0df874ed9eea.jsonl) — 3 сообщ., тулы: Bash*
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 50415f1b-7bc7-47ad-9c8b-0df874ed9eea
|
|
||||||
started: 2026-04-21T09:14:06.823Z
|
|
||||||
ended: 2026-04-21T10:27:58.046Z
|
|
||||||
messages: 4
|
|
||||||
tools: [Bash]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
проверь на маке не работает anydesk
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Фоновый `find` нашёл ещё артефакты. Добавь к команде очистки (user-level, без sudo):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rm -f ~/Library/Preferences/com.philandro.anydesk.plist
|
|
||||||
rm -f ~/Library/Application\ Support/CrashReporter/AnyDesk_*.plist
|
|
||||||
```
|
|
||||||
|
|
||||||
Запустить можно прямо сейчас, параллельно с основной командой.
|
|
||||||
|
|
||||||
Записи в `~/Library/Parallels/.../AnyDesk/` — это ярлыки AnyDesk **изнутри Windows-VM в Parallels** (Parallels пробрасывает их в macOS-меню). К macOS-версии не относятся, трогать не нужно.
|
|
||||||
|
|
||||||
Homebrew кэш (`anydesk.d
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`50415f1b`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/50415f1b-7bc7-47ad-9c8b-0df874ed9eea.jsonl) — 4 сообщ., тулы: Bash*
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T11:39:57.084Z
|
|
||||||
messages: 2
|
|
||||||
tools: [Glob, Grep, Read]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Изучил топологию охотхозяйства. Ситуация ясна — у тебя уже есть зачатки резервного канала, просто сломанные.
|
|
||||||
|
|
||||||
## Что уже есть
|
|
||||||
|
|
||||||
**Основной (Netbird):** Orange Pi (100.70.63.67) раздаёт 192.168.8.0/24, работает через relay.
|
|
||||||
|
|
||||||
**Недоделанный резерв (WG):** На Orange Pi `wg0` → VPS 89.111.140.86. Сломан по глупой причине — **port mismatch**: Orange Pi шлёт на `:51820`, VPS слушает `:51821`. VPS-пир охотхозяйства в `wg0` VPS существует, но без endpoint.
|
|
||||||
|
|
||||||
**WG на MikroTik отключён** — правильно, там de
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 2 сообщ., тулы: Glob, Grep, Read*
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T11:46:04.566Z
|
|
||||||
messages: 3
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Все доступные SSH-ключи перепробованы, к VPS не пускают. Без VPS дальше идти нельзя — там настроен WG-хаб, и пир Orange Pi на VPS не работает (скорее всего ключ на стороне VPS не прописан или другой).
|
|
||||||
|
|
||||||
## Что сделано
|
|
||||||
|
|
||||||
- Orange Pi порт wg0 исправлен: `51820 → 51821`
|
|
||||||
- Интернет на объекте не пострадал, всё работает
|
|
||||||
- Netbird по-прежнему работает (это и был основной канал)
|
|
||||||
|
|
||||||
## Что выяснилось
|
|
||||||
|
|
||||||
- Handshake wg0 **не устанавливается** даже с правильным портом (0 B received после 30 сек)
|
|
||||||
- Значит на VPS
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 3 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T12:01:31.863Z
|
|
||||||
messages: 4
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Ключ готов: `~/.ssh/vps_znam_key`
|
|
||||||
|
|
||||||
**Pubkey для заливки** (выдели и сохрани):
|
|
||||||
|
|
||||||
```
|
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG1eAjglhAWl3kruslBd6AKs5mi0O70JOB6MFZHLWqwT mac-MacBookPro-20260421-vps_znam
|
|
||||||
```
|
|
||||||
|
|
||||||
Скажи какой из трёх вариантов у тебя есть — и действуем.
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 4 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T12:05:01.698Z
|
|
||||||
messages: 5
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
BW CLI нет. Два пути — выбирай:
|
|
||||||
|
|
||||||
**A. Быстрый (1 минута):** открой https://bit.dttb.ru сам, поищи запись по "89.111.140.86" / "swtest" / "znam" / "охотхозяйство VPS". Скинь сюда:
|
|
||||||
- либо **пароль root**,
|
|
||||||
- либо **приватный ключ** (если сохранён как файл),
|
|
||||||
- либо прямо скажи «нашёл, заливаю pubkey сам» — и просто добавь мою строчку в VPS через веб-консоль хостера
|
|
||||||
|
|
||||||
**B. Правильный (10 минут):** поставлю `bw` CLI на Mac, залогинюсь твоим `client_id`/`client_secret` + master password, буду сам читат
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 5 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T12:09:16.155Z
|
|
||||||
messages: 6
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Попробуй два варианта по очереди:
|
|
||||||
|
|
||||||
**Вариант 1 (чистая ed25519, без комментария, одной строкой):**
|
|
||||||
```
|
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG1eAjglhAWl3kruslBd6AKs5mi0O70JOB6MFZHLWqwT
|
|
||||||
```
|
|
||||||
|
|
||||||
**Вариант 2 (RSA-4096 если ed25519 не хочет):**
|
|
||||||
```
|
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDnFTW6eghA9XPab5nZILk9RSnqXUmluydFUVy0NYL34n0utJU+Jmd03QHuHMFIh062KrZvv0Fbg4/mStelpMwksNul9Zf98XSuulH7BU5Jk5coBZz48WWSo43Sao9e4kkiJEvq3IGAWUS0M/HxQvTtVEaJBKw8xOimozoXVSyIgqbdLc1ZXRJ+Mx0AQtyx8/o/V1J7MdM7VKogyBvVWjIV3MzFYfG
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 6 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T12:10:31.877Z
|
|
||||||
messages: 7
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
Не воюй с валидатором. На скриншоте виден второй пункт — **«Сгенерировать ключи»**. Переключись на него. Панель сгенерит пару сама, даст скачать приватный ключ — а я его использую.
|
|
||||||
|
|
||||||
Порядок:
|
|
||||||
1. Выбери радио «**Сгенерировать ключи**»
|
|
||||||
2. Имя ключа: `claude` (или любое)
|
|
||||||
3. Нажми «Добавить ключ»
|
|
||||||
4. Панель даст скачать **приватный** ключ (обычно `.txt` или `.pem`, имя типа `claude.key`)
|
|
||||||
5. Скачай файл → скажи мне где он лежит (например `~/Downloads/claude.key`), я положу его в `~/.ssh/` и зайду на VP
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 7 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
date: 2026-04-21
|
|
||||||
type: claude-session
|
|
||||||
session_id: 5af458f2-ce23-45f1-9710-19bb766c0d07
|
|
||||||
started: 2026-04-21T11:37:09.813Z
|
|
||||||
ended: 2026-04-21T12:20:01.077Z
|
|
||||||
messages: 8
|
|
||||||
tools: [Bash, Glob, Grep, Read, TodoWrite, ToolSearch]
|
|
||||||
tags: [claude, session]
|
|
||||||
---
|
|
||||||
|
|
||||||
# охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если
|
|
||||||
|
|
||||||
## Запрос
|
|
||||||
|
|
||||||
охотхозяйство с openWRT на Orange Pi нужно настроить дополнительный доступ если проблемы с netbird. найди решение и сделай резервный канал. Раньше на микротике делали wg но пропадала сеть из за конфликтов. Что передложишь? Может на openWRT?
|
|
||||||
|
|
||||||
## Итог (последний ответ Claude, до 500 симв.)
|
|
||||||
|
|
||||||
## Готово. Резервный канал работает
|
|
||||||
|
|
||||||
**Что работает прямо сейчас:**
|
|
||||||
- **Канал 1 (основной):** Netbird → Orange Pi `100.70.106.227` → LAN 192.168.8.0/24
|
|
||||||
- **Канал 2 (резервный):** Интернет → VPS `89.111.140.86` → WG-туннель → LAN 192.168.8.0/24
|
|
||||||
|
|
||||||
Проверено: NVR web отвечает HTTP 200 за 0.22s через публичный DNAT `89.111.140.86:8180`, handshake 4 сек назад, трафик идёт. Интернет на объекте не тронут.
|
|
||||||
|
|
||||||
**Что пофиксили на самом деле — две ошибки**, а не одна:
|
|
||||||
1. Orange Pi `wg0` endpoint port: `51820
|
|
||||||
|
|
||||||
---
|
|
||||||
*Автосохранено из session [`5af458f2`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/5af458f2-ce23-45f1-9710-19bb766c0d07.jsonl) — 8 сообщ., тулы: Bash, Glob, Grep, Read, TodoWrite, ToolSearch*
|
|
||||||
@@ -17,6 +17,11 @@ tags: [mmfb, lionart, network]
|
|||||||
- **LAN:** bridge1, 10.253.1.0/24
|
- **LAN:** bridge1, 10.253.1.0/24
|
||||||
- **NAT:** masquerade на out-interface=ether1-gw-telekom (WAN)
|
- **NAT:** masquerade на out-interface=ether1-gw-telekom (WAN)
|
||||||
|
|
||||||
## WireGuard
|
## Bypass для НСПД (активно)
|
||||||
|
|
||||||
Активных туннелей нет. 2026-04-20 поднимался временный `wg-niikn` (NSPD bypass для НИИКН) — откачено вечером того же дня из-за замедления общего трафика на стороне НИИКН. Описание схемы, ключи и причины отката — [decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md](../../decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md).
|
MikroTik LionART в этом не участвует — только обычный WAN masquerade. NSPD bypass сделан на уровне NetBird Network Route `2.63.246.0/24 → pve-LionART (10.253.1.253)`. Трафик выходит через обычный NAT LionART с src=`195.26.30.163`, который WAF НСПД пропускает.
|
||||||
|
|
||||||
|
Подробности: [[../../decisions/2026-04-21-niikn-nspd-netbird-route]].
|
||||||
|
|
||||||
|
## Firewall (важное)
|
||||||
|
Дефолтный forward chain пропускает только LAN (`10.253.1.0/24`). Для NetBird-форварда pve-LionART ходит наружу через обычный masq как любой LAN-клиент.
|
||||||
|
|||||||
@@ -45,7 +45,16 @@ tags: [mmfb, proxmox]
|
|||||||
- **LXC 103 (NPM):** Docker контейнеры `npm-app-1` (jc21/nginx-proxy-manager, порты 80/81/443) и `portainer-ce` (8000/9443). Работают ~15 месяцев.
|
- **LXC 103 (NPM):** Docker контейнеры `npm-app-1` (jc21/nginx-proxy-manager, порты 80/81/443) и `portainer-ce` (8000/9443). Работают ~15 месяцев.
|
||||||
- **LXC 105 (agentdvr):** systemd `AgentDVR.service`. Архив — новый LVM `archive-vg/archive` (ext4, 4.55 TB) на отдельных sda+sdb. Скорость записи ~140 GB/день → глубина архива ~32 дня максимум. Retention в cron: 14 дней (`/AgentDVR/cleanup_old_recordings.sh`, 03:00 ежедневно). 11 камер, названия `10.253.1.{21,27,32,33,35,37,38,39,41,42,43}`. Камера 10.253.1.27 "Camera 2 mic" периодически не отвечает по ONVIF (в логах `Invalid Source`) — разобраться отдельно.
|
- **LXC 105 (agentdvr):** systemd `AgentDVR.service`. Архив — новый LVM `archive-vg/archive` (ext4, 4.55 TB) на отдельных sda+sdb. Скорость записи ~140 GB/день → глубина архива ~32 дня максимум. Retention в cron: 14 дней (`/AgentDVR/cleanup_old_recordings.sh`, 03:00 ежедневно). 11 камер, названия `10.253.1.{21,27,32,33,35,37,38,39,41,42,43}`. Камера 10.253.1.27 "Camera 2 mic" периодически не отвечает по ONVIF (в логах `Invalid Source`) — разобраться отдельно.
|
||||||
|
|
||||||
|
## Роль в NetBird
|
||||||
|
|
||||||
|
- **pve-LionART** выступает exit-node для NetBird routes:
|
||||||
|
- `10.253.1.0/24` → LAN ММФБ (группа All)
|
||||||
|
- `0.0.0.0/0` → группа Москва (роуминг-клиенты)
|
||||||
|
- `2.63.246.0/24` → NSPD bypass для группы All (см. [[../../decisions/2026-04-21-niikn-nspd-netbird-route]])
|
||||||
|
|
||||||
## История изменений
|
## История изменений
|
||||||
|
- **2026-04-21 (позже):** NetBird route `2.63.246.0/24 → pve-LionART` создан для обхода блокировки nspd.gov.ru на всех пирах (НИИКН, Мексика, Казахстан). Старый `nspd-socat.service` + DNAT на LionART снесены (были не нужны — проблема корневая была в FakeIP OpenWrt).
|
||||||
|
- **2026-04-21:** поднят `nspd-socat.service` на хосте для обхода блокировки nspd.gov.ru у НИИКН. Заменил WG-туннель wg-niikn на MikroTik LionART (откачен 2026-04-20). Снят тем же днём (не решал auth-поддомены).
|
||||||
- **2026-04-17:** создан LVM `archive-vg` на sda+sdb (4.55 TB), ext4, `/mnt/pve/Archive`. mp1 LXC 105 переключен с loop-файла 500G на новый LVM. Удалён `/mnt/pve/Work/ct-105-archive500.img` (освободил 500G на sdd). Очищено 105G скрытых данных под mountpoint `/AgentDVR/Media/WebServerRoot/Media` в rootfs LXC 105 (rootfs был 100% → 2%). Retention поднят с 7 до 14 дней.
|
- **2026-04-17:** создан LVM `archive-vg` на sda+sdb (4.55 TB), ext4, `/mnt/pve/Archive`. mp1 LXC 105 переключен с loop-файла 500G на новый LVM. Удалён `/mnt/pve/Work/ct-105-archive500.img` (освободил 500G на sdd). Очищено 105G скрытых данных под mountpoint `/AgentDVR/Media/WebServerRoot/Media` в rootfs LXC 105 (rootfs был 100% → 2%). Retention поднят с 7 до 14 дней.
|
||||||
- **2026-04-17:** все 11 камер переведены с continuous (`recordmode=2`) на запись по движению (`detector.type=Simple`, `recordmode=0`, `recordondetect=True`). Ожидаемая экономия ~50-80%, глубина архива до ~30 дней.
|
- **2026-04-17:** все 11 камер переведены с continuous (`recordmode=2`) на запись по движению (`detector.type=Simple`, `recordmode=0`, `recordondetect=True`). Ожидаемая экономия ~50-80%, глубина архива до ~30 дней.
|
||||||
- **2026-04-17:** в NPM (LXC 103, 10.253.1.25:81) создан proxy host `dvr-mmfb.dttb.ru` → `10.253.1.40:8090` (id=9, WebSockets=ON). Ждёт DNS A-записи.
|
- **2026-04-17:** в NPM (LXC 103, 10.253.1.25:81) создан proxy host `dvr-mmfb.dttb.ru` → `10.253.1.40:8090` (id=9, WebSockets=ON). Ждёт DNS A-записи.
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ Hairpin NAT: NPM(80,443), TURN(3478→133), Talk TURN(3479→200), RustDesk(2111
|
|||||||
|
|
||||||
Трафик на FakeIP-диапазон направляется на OpenWrt (192.168.1.50) с podkop.
|
Трафик на FakeIP-диапазон направляется на OpenWrt (192.168.1.50) с podkop.
|
||||||
|
|
||||||
## WG-туннель к LionART (NSPD bypass) — ОТКАЧЕНО
|
## Обход блокировки nspd.gov.ru
|
||||||
|
|
||||||
Публичный IP НИИКН (`85.235.181.190`, MTS Customers_P2P_B16) заблокирован WAF Росреестра → `nspd.gov.ru` отдаёт Forbidden. 2026-04-20 поднимали WG-туннель `wg-lionart` к MikroTik LionART (маршрут `2.63.246.0/24` через туннель). Технически работало, но общий трафик НИИКН замедлился → откатили вечером того же дня.
|
Публичный IP НИИКН (`85.235.181.190`, MTS Customers_P2P_B16) в blacklist WAF НСПД. Решение — **NetBird Network Route `2.63.246.0/24 → pve-LionART`** (exit через LionART WAN `195.26.30.163`) + DNS override в OpenWrt dnsmasq (`server=/nspd.gov.ru/8.8.8.8`, минует FakeIP sing-box). **На MikroTik НИИКН изменений нет.**
|
||||||
|
|
||||||
Сейчас на роутере НИИКН WG-интерфейсов нет. Поиск стабильного решения — задача поставлена Максимке. Полная история, ключи и rollback-команды: [decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md](../../decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md).
|
Подробности: [[../../decisions/2026-04-21-niikn-nspd-netbird-route]].
|
||||||
|
|
||||||
## DHCP
|
## DHCP
|
||||||
|
|
||||||
|
|||||||
95
projects/niikn/nspd-incident-report.md
Normal file
95
projects/niikn/nspd-incident-report.md
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
---
|
||||||
|
date: 2026-04-21
|
||||||
|
type: report
|
||||||
|
audience: management
|
||||||
|
tags: [niikn, nspd, incident, report]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Отчёт: недоступность nspd.gov.ru из сети НИИКН
|
||||||
|
|
||||||
|
**Дата:** 21 апреля 2026
|
||||||
|
**Статус:** решено технически, ожидается долгосрочное решение от Росреестра
|
||||||
|
**Автор:** Олег Батлаев (DevOps)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Краткая суть
|
||||||
|
|
||||||
|
С некоторого момента сотрудники НИИКН не могут открыть портал Росреестра **Национальной системы пространственных данных** (`https://nspd.gov.ru/`) — страница не грузится или возвращает сообщение «Запрещено». Проблема затрагивает всех пользователей, работающих с кадастром и пространственными данными.
|
||||||
|
|
||||||
|
**Причина** — не сбой у нас и не сбой у оператора связи. Защитная система Росреестра включила наш офисный интернет-адрес в список запрещённых. Это административно-сетевое решение стороны Росреестра.
|
||||||
|
|
||||||
|
**Сейчас** — доступ восстановлен техническим обходом, описанным ниже. Работа с порталом возможна в обычном режиме.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Что именно произошло
|
||||||
|
|
||||||
|
Портал НСПД использует защитную систему (WAF), которая автоматически блокирует подозрительные IP-адреса. В чёрный список попал целый корпоративный диапазон оператора МТС — `Customers_P2P_B16` — к которому принадлежит и публичный адрес нашего офиса `85.235.181.190`.
|
||||||
|
|
||||||
|
С других интернет-каналов (например, домашнего, с другого провайдера) тот же портал открывается без проблем. Блокировка действует **только при обращении с нашего офисного IP**, независимо от браузера, устройства и пользователя.
|
||||||
|
|
||||||
|
В блокировке на стороне Росреестра сотрудники НИИКН никаких нарушений не совершали — это, вероятно, **коллективная блокировка целого диапазона МТС** из-за действий сторонних клиентов оператора.
|
||||||
|
|
||||||
|
## Что сделано для восстановления доступа
|
||||||
|
|
||||||
|
У нас есть отдельный резервный интернет-канал на другой удалённой площадке, с другим оператором связи (провайдер Telekom). Этот канал не заблокирован Росреестром.
|
||||||
|
|
||||||
|
Все обращения к порталу НСПД (и его поддоменам авторизации) теперь проходят через этот резервный канал автоматически, без каких-либо действий пользователя:
|
||||||
|
|
||||||
|
```
|
||||||
|
Компьютер сотрудника НИИКН
|
||||||
|
│
|
||||||
|
└─► по защищённому туннелю на вторую площадку (Proxmox "LionART")
|
||||||
|
│
|
||||||
|
└─► через её интернет-канал (провайдер Telekom)
|
||||||
|
│
|
||||||
|
└─► на портал nspd.gov.ru — доступ разрешён
|
||||||
|
```
|
||||||
|
|
||||||
|
Всё остальное — обычный интернет, рабочие сервисы, видеосвязь — по-прежнему идёт через основной канал МТС без изменений. Только обращения конкретно к серверам НСПД направляются в обход.
|
||||||
|
|
||||||
|
## Что это даёт и насколько надёжно
|
||||||
|
|
||||||
|
- ✅ **Работает прозрачно для пользователя** — сотрудник просто открывает `https://nspd.gov.ru/` в браузере как обычно.
|
||||||
|
- ✅ **Работает для всех функций портала** — включая вход в личный кабинет, API, любые поддомены.
|
||||||
|
- ✅ **Покрывает удалённых сотрудников** — решение автоматически действует для удалёнщиков (Мексика, Казахстан, другие города), если у них на рабочем ноутбуке установлена наша корпоративная VPN-программа NetBird.
|
||||||
|
- ✅ **Не влияет на скорость остального интернета** — только трафик к НСПД уходит в обход, остальной — как раньше.
|
||||||
|
- ✅ **Реализовано централизованно** — администратор включил один раз, работает на всех машинах автоматически.
|
||||||
|
|
||||||
|
## Что требуется от сотрудников и руководства
|
||||||
|
|
||||||
|
**От сотрудников — ничего.** Устанавливать программы, менять настройки, очищать кэш — не нужно. Работает из коробки.
|
||||||
|
|
||||||
|
**Единственное условие** — на рабочем компьютере должна быть установлена наша корпоративная VPN-программа **NetBird**. Она уже установлена на большинстве рабочих машин в НИИКН и у удалённых сотрудников. На новых машинах её устанавливает системный администратор при первичной настройке (это же нужно для многих других рабочих сервисов).
|
||||||
|
|
||||||
|
**Если портал НСПД всё ещё не открывается у конкретного сотрудника** — сообщить администратору. Вероятная причина — на компьютере не запущена или не настроена программа NetBird.
|
||||||
|
|
||||||
|
## Риски и нюансы
|
||||||
|
|
||||||
|
| Риск | Оценка | Что делать |
|
||||||
|
|------|--------|------------|
|
||||||
|
| Второй канал (LionART) может пропасть из-за аварии провайдера Telekom | Низкий (дублирование через разных операторов — устойчивая схема) | При аварии доступ к НСПД восстановится автоматически после возвращения канала |
|
||||||
|
| Росреестр расширит блокировку, включив новые подсети НСПД | Средний | Расширение списка обхода на стороне администратора — вопрос 5 минут |
|
||||||
|
| Новые сотрудники/ноутбуки без VPN NetBird | Средний | Стандартная процедура: установка NetBird включена в чек-лист настройки рабочего места |
|
||||||
|
|
||||||
|
## Что делать для долгосрочного решения
|
||||||
|
|
||||||
|
Техническое решение — это обход. Правильный путь — **добиться исключения нашего корпоративного IP из чёрного списка Росреестра**.
|
||||||
|
|
||||||
|
Рекомендуемые действия от руководства НИИКН:
|
||||||
|
|
||||||
|
1. **Звонок в службу поддержки Росреестра**: **8-800-100-34-34**.
|
||||||
|
Суть обращения: «С корпоративного IP-адреса `85.235.181.190` не открывается портал nspd.gov.ru, WAF блокирует с правилом `57615a88d1ec0120b56fdce6`. Просим разблокировать.»
|
||||||
|
|
||||||
|
2. **Письменное обращение через форму обратной связи** портала: https://nspd.gov.ru/feedback.
|
||||||
|
Приложить скриншот страницы «Запрещено» с указанным `Client IP` и `Rule`.
|
||||||
|
|
||||||
|
3. **Если поддержка Росреестра игнорирует** — обращение в Минцифры или депутатский запрос. Услуга федерального значения, доступная только одному юрлицу — повод для формального разбирательства.
|
||||||
|
|
||||||
|
После разблокировки обход отключается за 30 секунд, портал начнёт работать напрямую.
|
||||||
|
|
||||||
|
## Контакты для вопросов
|
||||||
|
|
||||||
|
**Технический администратор:** Олег Батлаев
|
||||||
|
**Внутренние ссылки (для IT-службы):** [[../../decisions/2026-04-21-niikn-nspd-netbird-route]]
|
||||||
@@ -147,6 +147,18 @@ FakeIP диапазон (198.18.0.0/15) направляется через Open
|
|||||||
|
|
||||||
Клиенты получают DNS 192.168.1.50 (dnsmasq → sing-box FakeIP).
|
Клиенты получают DNS 192.168.1.50 (dnsmasq → sing-box FakeIP).
|
||||||
|
|
||||||
|
### DNS override для NSPD (bypass через NetBird, см. [[../../decisions/2026-04-21-niikn-nspd-netbird-route]])
|
||||||
|
|
||||||
|
Чтобы `nspd.gov.ru` **не попадал** в FakeIP sing-box (он в community-list `russia_outside`), dnsmasq делегирует этот домен напрямую в 8.8.8.8:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uci add_list dhcp.@dnsmasq[0].server='/nspd.gov.ru/8.8.8.8'
|
||||||
|
uci commit dhcp
|
||||||
|
/etc/init.d/dnsmasq restart
|
||||||
|
```
|
||||||
|
|
||||||
|
После этого клиенты получают реальные IP `2.63.246.71-76`, которые попадают в NetBird route `2.63.246.0/24 → pve-LionART`.
|
||||||
|
|
||||||
## Как работает FakeIP схема
|
## Как работает FakeIP схема
|
||||||
|
|
||||||
1. Клиент запрашивает DNS для `instagram.com` → получает FakeIP `198.18.0.239`
|
1. Клиент запрашивает DNS для `instagram.com` → получает FakeIP `198.18.0.239`
|
||||||
|
|||||||
110
snippets/netbird-niikn-install.bat
Normal file
110
snippets/netbird-niikn-install.bat
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
@echo off
|
||||||
|
REM ============================================================================
|
||||||
|
REM Установка корпоративного VPN NetBird для сотрудников НИИКН
|
||||||
|
REM
|
||||||
|
REM Что делает:
|
||||||
|
REM 1. Скачивает установщик NetBird (последняя версия с pkgs.netbird.io)
|
||||||
|
REM 2. Ставит silent-ом (без окон)
|
||||||
|
REM 3. Подключает компьютер к корпоративной сети с ключом группы NIIKN
|
||||||
|
REM 4. Проверяет статус и показывает результат
|
||||||
|
REM
|
||||||
|
REM Использование:
|
||||||
|
REM - Скачать этот файл
|
||||||
|
REM - ПКМ -> "Запустить от имени администратора"
|
||||||
|
REM
|
||||||
|
REM Версия: 2026-04-21
|
||||||
|
REM Контакт: системный администратор (Олег)
|
||||||
|
REM ============================================================================
|
||||||
|
|
||||||
|
chcp 65001 >nul 2>&1
|
||||||
|
setlocal
|
||||||
|
title Установка NetBird для НИИКН
|
||||||
|
|
||||||
|
REM ---- Автоэлевация: если запущен не от админа, перезапустить с UAC ----
|
||||||
|
>nul 2>&1 fltmc
|
||||||
|
if %errorlevel% NEQ 0 (
|
||||||
|
echo [info] Требуются права администратора. Нажмите "Да" в окне UAC.
|
||||||
|
powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
|
||||||
|
exit /b
|
||||||
|
)
|
||||||
|
|
||||||
|
set "SETUP_KEY=6507CC68-2919-4D04-AB8E-3F8507906220"
|
||||||
|
set "INSTALLER_URL=https://pkgs.netbird.io/windows/x64/netbird_installer_x64.exe"
|
||||||
|
set "TMPFILE=%TEMP%\netbird_installer_niikn.exe"
|
||||||
|
set "NB_EXE=C:\Program Files\Netbird\netbird.exe"
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ============================================================
|
||||||
|
echo Установка корпоративного VPN NetBird для НИИКН
|
||||||
|
echo ============================================================
|
||||||
|
echo.
|
||||||
|
|
||||||
|
REM ---- Проверка: уже установлен? ----
|
||||||
|
if exist "%NB_EXE%" (
|
||||||
|
echo [info] NetBird уже установлен. Пропускаю шаг установки.
|
||||||
|
goto :connect
|
||||||
|
)
|
||||||
|
|
||||||
|
REM ---- 1. Скачиваем installer ----
|
||||||
|
echo [1/4] Скачиваю установщик NetBird...
|
||||||
|
powershell -ExecutionPolicy Bypass -Command ^
|
||||||
|
"$ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%INSTALLER_URL%' -OutFile '%TMPFILE%' -UseBasicParsing"
|
||||||
|
if not exist "%TMPFILE%" (
|
||||||
|
echo [ОШИБКА] Не удалось скачать установщик. Проверьте интернет.
|
||||||
|
goto :error
|
||||||
|
)
|
||||||
|
echo готово (%TMPFILE%)
|
||||||
|
|
||||||
|
REM ---- 2. Silent install ----
|
||||||
|
echo [2/4] Устанавливаю NetBird (это 30-60 секунд)...
|
||||||
|
"%TMPFILE%" /S
|
||||||
|
REM ждём, пока сервис поднимется
|
||||||
|
timeout /t 10 /nobreak >nul
|
||||||
|
if not exist "%NB_EXE%" (
|
||||||
|
echo [ОШИБКА] Установка не прошла. Свяжитесь с администратором.
|
||||||
|
goto :error
|
||||||
|
)
|
||||||
|
echo готово
|
||||||
|
|
||||||
|
:connect
|
||||||
|
REM ---- 3. Подключение с setup-key ----
|
||||||
|
echo [3/4] Подключаю к корпоративной сети НИИКН...
|
||||||
|
"%NB_EXE%" up --setup-key %SETUP_KEY% --management-url https://api.netbird.io:443
|
||||||
|
if %errorlevel% NEQ 0 (
|
||||||
|
echo [ОШИБКА] Не удалось подключиться. Ключ мог истечь - свяжитесь с администратором.
|
||||||
|
goto :error
|
||||||
|
)
|
||||||
|
echo готово
|
||||||
|
|
||||||
|
REM ---- 4. Проверка статуса ----
|
||||||
|
echo [4/4] Проверяю статус подключения...
|
||||||
|
timeout /t 3 /nobreak >nul
|
||||||
|
"%NB_EXE%" status
|
||||||
|
echo.
|
||||||
|
|
||||||
|
echo ============================================================
|
||||||
|
echo УСТАНОВКА ЗАВЕРШЕНА УСПЕШНО
|
||||||
|
echo ============================================================
|
||||||
|
echo.
|
||||||
|
echo Откройте https://nspd.gov.ru/ в браузере - должно работать.
|
||||||
|
echo.
|
||||||
|
echo Подключение восстанавливается автоматически при перезагрузке.
|
||||||
|
echo Если что-то не работает - свяжитесь с администратором.
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
|
|
||||||
|
REM ---- cleanup ----
|
||||||
|
if exist "%TMPFILE%" del /q "%TMPFILE%" 2>nul
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
:error
|
||||||
|
echo.
|
||||||
|
echo ============================================================
|
||||||
|
echo УСТАНОВКА ПРЕРВАНА С ОШИБКОЙ
|
||||||
|
echo ============================================================
|
||||||
|
echo.
|
||||||
|
echo Сделайте скриншот этого окна и отправьте администратору.
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
111
snippets/netbird-niikn-install.ps1
Normal file
111
snippets/netbird-niikn-install.ps1
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# Установка NetBird для сотрудников НИИКН
|
||||||
|
#
|
||||||
|
# Запуск:
|
||||||
|
# PowerShell от имени администратора, одна строка:
|
||||||
|
# irm https://dttb.ru/s/<TOKEN>/download | iex
|
||||||
|
# или напрямую:
|
||||||
|
# Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||||
|
# .\netbird-niikn-install.ps1
|
||||||
|
#
|
||||||
|
# Что делает:
|
||||||
|
# - Проверяет права администратора (требуется)
|
||||||
|
# - Скачивает последнюю версию installer с pkgs.netbird.io
|
||||||
|
# - Устанавливает silent
|
||||||
|
# - Подключает с корпоративным setup-key → группа NIIKN → NetBird route
|
||||||
|
# на 2.63.246.0/24 автоматом (для обхода блокировки nspd.gov.ru)
|
||||||
|
# - Выводит статус подключения
|
||||||
|
#
|
||||||
|
# Версия: 2026-04-21
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
$ProgressPreference = 'SilentlyContinue'
|
||||||
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||||
|
|
||||||
|
$SetupKey = '6507CC68-2919-4D04-AB8E-3F8507906220'
|
||||||
|
$InstallerUrl = 'https://pkgs.netbird.io/windows/x64/netbird_installer_x64.exe'
|
||||||
|
$TmpFile = Join-Path $env:TEMP 'netbird_installer_niikn.exe'
|
||||||
|
$NbExe = 'C:\Program Files\Netbird\netbird.exe'
|
||||||
|
$MgmtUrl = 'https://api.netbird.io:443'
|
||||||
|
|
||||||
|
function Write-Step($msg) { Write-Host "[>] $msg" -ForegroundColor Cyan }
|
||||||
|
function Write-Ok($msg) { Write-Host " OK: $msg" -ForegroundColor Green }
|
||||||
|
function Write-Err($msg) { Write-Host "[X] $msg" -ForegroundColor Red }
|
||||||
|
|
||||||
|
# --- Проверка: админ? ---
|
||||||
|
$isAdmin = ([Security.Principal.WindowsPrincipal] `
|
||||||
|
[Security.Principal.WindowsIdentity]::GetCurrent() `
|
||||||
|
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||||
|
|
||||||
|
if (-not $isAdmin) {
|
||||||
|
Write-Err 'Запустите PowerShell от имени администратора и выполните команду заново.'
|
||||||
|
Write-Host ''
|
||||||
|
Write-Host 'Как запустить от администратора:' -ForegroundColor Yellow
|
||||||
|
Write-Host ' 1. Пуск -> наберите "PowerShell"'
|
||||||
|
Write-Host ' 2. ПКМ по "Windows PowerShell" -> "Запустить от имени администратора"'
|
||||||
|
Write-Host ' 3. В открывшемся окне выполните команду установки ещё раз'
|
||||||
|
Read-Host 'Нажмите Enter для выхода'
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host ''
|
||||||
|
Write-Host '============================================================'
|
||||||
|
Write-Host ' Установка корпоративного VPN NetBird для НИИКН'
|
||||||
|
Write-Host '============================================================'
|
||||||
|
Write-Host ''
|
||||||
|
|
||||||
|
# --- 1. Installer: нужен? ---
|
||||||
|
if (Test-Path $NbExe) {
|
||||||
|
Write-Step 'NetBird уже установлен - пропускаю скачку/установку'
|
||||||
|
} else {
|
||||||
|
Write-Step 'Скачиваю установщик NetBird...'
|
||||||
|
try {
|
||||||
|
Invoke-WebRequest -Uri $InstallerUrl -OutFile $TmpFile -UseBasicParsing
|
||||||
|
Write-Ok "сохранён в $TmpFile"
|
||||||
|
} catch {
|
||||||
|
Write-Err "Не удалось скачать: $($_.Exception.Message)"
|
||||||
|
Read-Host 'Нажмите Enter'; exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Step 'Устанавливаю NetBird (silent, 30-60 сек)...'
|
||||||
|
Start-Process -FilePath $TmpFile -ArgumentList '/S' -Wait
|
||||||
|
Start-Sleep -Seconds 8
|
||||||
|
|
||||||
|
if (-not (Test-Path $NbExe)) {
|
||||||
|
Write-Err 'Установка не прошла - netbird.exe не найден.'
|
||||||
|
Read-Host 'Нажмите Enter'; exit 1
|
||||||
|
}
|
||||||
|
Write-Ok 'установлен'
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- 2. Подключение с setup-key ---
|
||||||
|
Write-Step 'Подключаю к корпоративной сети (группа NIIKN)...'
|
||||||
|
try {
|
||||||
|
& $NbExe up --setup-key $SetupKey --management-url $MgmtUrl 2>&1 | ForEach-Object {
|
||||||
|
Write-Host " $_"
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
Write-Err "Ошибка при подключении: $($_.Exception.Message)"
|
||||||
|
Read-Host 'Нажмите Enter'; exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Start-Sleep -Seconds 3
|
||||||
|
|
||||||
|
# --- 3. Статус ---
|
||||||
|
Write-Step 'Проверяю статус...'
|
||||||
|
Write-Host ''
|
||||||
|
& $NbExe status
|
||||||
|
Write-Host ''
|
||||||
|
|
||||||
|
# --- cleanup ---
|
||||||
|
if (Test-Path $TmpFile) { Remove-Item $TmpFile -Force -ErrorAction SilentlyContinue }
|
||||||
|
|
||||||
|
Write-Host '============================================================' -ForegroundColor Green
|
||||||
|
Write-Host ' ГОТОВО' -ForegroundColor Green
|
||||||
|
Write-Host '============================================================' -ForegroundColor Green
|
||||||
|
Write-Host ''
|
||||||
|
Write-Host ' Откройте https://nspd.gov.ru/ в браузере - должно работать.'
|
||||||
|
Write-Host ' VPN подключается автоматически при каждой загрузке Windows.'
|
||||||
|
Write-Host ''
|
||||||
|
Read-Host 'Нажмите Enter для выхода'
|
||||||
Reference in New Issue
Block a user