Compare commits

3 Commits

Author SHA1 Message Date
dttb
cb33ecb0d3 niikn: PowerShell-версия скрипта установки NetBird
Чище .bat-версии: автопроверка прав без re-exec, нативная Windows
кодировка (без chcp), цветной вывод, прямой запуск через
'irm <url>/download | iex'.

Публичная ссылка: https://dttb.ru/s/jr3CAej6nDaazCW/download
2026-04-21 12:51:26 +03:00
dttb
f1b14be451 niikn: скрипт установки NetBird для сотрудников
Один .bat-файл для самостоятельной установки NetBird на Windows-машины
НИИКН. Автоэлевация через UAC, silent-install последней версии с
pkgs.netbird.io, подключение с reusable setup-key, который авто-привязывает
пира к группе NIIKN (она получает NetBird route 2.63.246.0/24 → pve-LionART
для обхода блокировки nspd.gov.ru).

Setup-key: 6507CC68-2919-4D04-AB8E-3F8507906220 (reusable, без истечения,
NetBird API id d7jj4c3l0ubs73auc270).

Сотрудник скачивает файл, ПКМ → Запустить от имени администратора.
Публичная ссылка для раздачи: https://dttb.ru/s/5o6fXDt2tkraDdW
2026-04-21 11:18:54 +03:00
dttb
9a203fef4a niikn: обход блокировки nspd.gov.ru через NetBird route
Заменил socat+DNAT+hosts (утренняя попытка 2026-04-21 не решила авторизацию,
поддомены sso/auth через FakeIP sing-box уходили в awg0→Финляндию где тоже
блок) на два централизованных изменения:

- NetBird Network Route 2.63.246.0/24 → pve-LionART для группы All:
  pushed на все 50 пиров автоматически, никаких действий на Windows-клиентах.
- OpenWrt dnsmasq override server=/nspd.gov.ru/8.8.8.8: минует sing-box
  FakeIP, клиенты LAN НИИКН получают реальные 2.63.246.71-76 и Windows
  маршрутизирует их через wt0 (NetBird) → pve-LionART → Telekom (195.26.30.163),
  WAF НСПД пропускает. Работает для главной + всех поддоменов (sso/auth/api).

Снесено:
- nspd-socat.service на pve-LionART
- DNAT "NSPD socat bypass for NIIKN" на MikroTik LionART
- bat-снипы niikn-nspd-hosts-install/uninstall
- hosts-записи + дубликат Ethernet-маршрута на WIN-BC0OTBOBBCH (192.168.1.202)

Протестировано: fallback через awg0 для non-NetBird клиентов не работает —
НСПД блочит hosting Amnezia-Финляндии тоже. Единственный known-good exit
сейчас — pve-LionART/Telekom 195.26.30.163. Non-NetBird машины НИИКН не
откроют НСПД до установки NetBird.

Добавлен отчёт для руководства НИИКН (projects/niikn/nspd-incident-report.md).
2026-04-21 11:07:20 +03:00
9 changed files with 510 additions and 26 deletions

View File

@@ -1,11 +1,15 @@
--- ---
date: 2026-04-20 date: 2026-04-20
type: decision type: decision
tags: [decision, niikn, mmfb, network, wireguard] status: ЗАМЕНЕНО
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-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. Только подсеть НСПД через туннель, не весь интернет. Описание ниже сохранено для референса.
## Проблема ## Проблема
Сотрудники НИИКН не могут открыть `https://nspd.gov.ru/` (Национальная система пространственных данных Росреестра). Возвращается страница "Запрещено" с Rule `57615a88d1ec0120b56fdce6`, Client IP `85.235.181.190`. Сотрудники НИИКН не могут открыть `https://nspd.gov.ru/` (Национальная система пространственных данных Росреестра). Возвращается страница "Запрещено" с Rule `57615a88d1ec0120b56fdce6`, Client IP `85.235.181.190`.

View 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`

View File

@@ -17,20 +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 для НСПД (активно)
### wg-niikn — туннель для NSPD bypass 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 НСПД пропускает.
- Listen port: 51820
- IP: 10.99.99.1/30 Подробности: [[../../decisions/2026-04-21-niikn-nspd-netbird-route]].
- Peer: NIIKN MikroTik (`192.168.1.1`), allowed-address=10.99.99.2/32
- Public key: `YuI6lQ1f1bF37x5dwa/JQuW30x4McO2//cl/mEWg4mE=`
- Назначение: проксирует трафик клиентов НИИКН на nspd.gov.ru (`2.63.246.0/24`) через свой WAN, минуя заблокированный IP МТС у НИИКН.
- Подробности: [decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md](../../decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md)
## Firewall (важное) ## Firewall (важное)
Дефолтный forward chain пропускает только LAN (`10.253.1.0/24`). Для трафика из WG-туннеля в WAN добавлены явные accept-правила: Дефолтный forward chain пропускает только LAN (`10.253.1.0/24`). Для NetBird-форварда pve-LionART ходит наружу через обычный masq как любой LAN-клиент.
```
chain=forward action=accept in-interface=wg-niikn out-interface-list=WAN # NIIKN→WAN
chain=forward action=accept in-interface-list=WAN out-interface=wg-niikn connection-state=established,related # ответы
chain=input action=accept protocol=udp dst-port=51820 in-interface-list=WAN # WG handshake
```

View File

@@ -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-записи.

View File

@@ -30,19 +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.gov.ru
Подсеть НСПД (`2.63.246.0/24`) маршрутизируется через MikroTik LionART (`195.26.30.163`), потому что публичный IP НИИКН (`85.235.181.190`, MTS Customers_P2P_B16) внесён в blacklist WAF НСПД. Подробности и ключи — [decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md](../../decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md). Публичный 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 НИИКН изменений нет.**
``` Подробности: [[../../decisions/2026-04-21-niikn-nspd-netbird-route]].
/interface/wireguard add name=wg-lionart listen-port=51821 mtu=1420
/ip address add address=10.99.99.2/30 interface=wg-lionart
/ip route add dst-address=2.63.246.0/24 gateway=10.99.99.1 comment="NSPD via LionART"
/ip firewall nat add chain=srcnat action=masquerade out-interface=wg-lionart \
comment="masq NSPD via LionART WG"
```
Peer endpoint: `195.26.30.163:51820`. **Masquerade на wg-lionart обязателен** — без него обратные пакеты не проходят conntrack на LionART.
## DHCP ## DHCP

View 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]]

View File

@@ -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`

View 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

View 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 для выхода'