Docs/docs/04-network.md
2026-03-26 14:03:39 +05:00

9.0 KiB
Raw Permalink Blame History

04. Сеть и доступ

Топология

Инфраструктура объединяет устройства в локальной подсети 192.168.1.0/24. Доступ из внешней сети осуществляется через маршрутизатор TP-Link с белым IP-адресом 188.73.191.202, на который делегирован домен zailon.ru. Для удалённого подключения к внутренним ресурсам используется OpenVPN и OlimpVPN (VLESS).

graph TD
    Internet(Интернет) --> Router(Роутер TP-Link)
    Router --> LAN(Локальная сеть 192.168.1.0/24)
    Router -->|Внешний IP 188.73.191.202| Domain(zailon.ru)

    LAN --> Proxmox(Proxmox Host 192.168.1.200)
    Proxmox --> VM1(LXC / ВМ 201-213)
    
    Router -->|VPN| OlimpVPN[OlimpVPN 2.27.50.20]
    OlimpVPN -->|VLESS:2054| LAN

Все виртуальные машины и контейнеры подключены к локальной сети через мост vmbr0.


  • Модель: TP-Link (предположительно Archer C6/A6 или аналогичный)
  • Локальный IP: 192.168.1.1
  • Внешний IP: 188.73.191.202 (статический)

Перенаправление портов (Port Forwarding)

Имя сервиса Внешний порт Внутренний порт IP устройства Протокол Назначение
snikket 3478 3478 192.168.1.206 Все XMPP / STUN
snikket 50000-50100 50000-50100 192.168.1.206 UDP XMPP медиа
snikket 5222 5222 192.168.1.206 TCP XMPP клиенты
snikket 5349 5349 192.168.1.206 TCP XMPP TLS
Enshrouded 15636 15636 192.168.1.212 Все Игровой сервер
Mumble 45131 45131 192.168.1.206 Все Голосовой чат
virsing 27015-27016 27015-27016 192.168.1.207 Все Игровой сервер
Virsing 9876-9877 9876-9877 192.168.1.207 Все Игровой сервер
SOTH 9700 9700 192.168.1.207 UDP Игровой сервер
SOTH 8766 8766 192.168.1.207 UDP Игровой сервер
valheim 2456-2458 2456-2458 192.168.1.207 Все Valheim
HTTPS 443 443 192.168.1.201 Все Nginx Proxy Manager
HTTP 80 80 192.168.1.201 Все Nginx Proxy Manager (редирект)

Примечание: некоторые порты (например, 15636, 27015-27016, 9876-9877) ведут на остановленные ВМ (212, 207) и могут быть закрыты.


VPN-сервисы

OpenVPN (домашний)

На роутере включён OpenVPN-сервер с настройками:

  • Тип сервиса: UDP
  • Порт: 1194
  • VPN-подсеть: 192.168.45.0/24
  • Клиентский доступ: только домашняя сеть (192.168.1.0/24)

Используется для удалённого подключения к домашней сети с мобильных устройств и ноутбуков.

OlimpVPN (VLESS, внешний сервер)

Параметр Значение
Сервер 2.27.50.20 (Финляндия)
Домен charon.zailon.ru
Протокол VLESS + Reality + XHTTP
Порт 2054
Панель управления https://charon.zailon.ru:45131/olimp-styx/
URI подписки /charon-cerberus/

Конфигурация inbound

Название: OlimpVpn
Протокол: VLESS
Порт: 2054
Транспорт: XHTTP
Безопасность: Reality

Reality параметры:
  Target: cloud.zailon.ru:443
  SNI: cloud.zailon.ru
  uTLS: chrome
  Public Key: TOyddQCTdSpycmO20uiLOqMABuKabpwVhw57tWmvJws
  Short IDs: 174fc0, 568a8044d80a, b211, ...
  SpiderX: /

XHTTP параметры:
  Path: /remote.php/dav/upload
  Mode: stream-one
  Padding Bytes: 100-1000

Подключение клиентов

Формат ссылки VLESS:

vless://UUID@2.27.50.20:2054?type=xhttp&encryption=none&path=%2Fremote.php%2Fdav%2Fupload&security=reality&pbk=PUBLIC_KEY&fp=chrome&sni=cloud.zailon.ru&sid=SHORT_ID&sp=%2F#ClientName

Автоматическая подписка:

https://charon.zailon.ru:45131/charon-cerber/CLIENT_ID

Примечание: подробная инструкция по установке и управлению — в документации OlimpVPN.


DNS

Домен zailon.ru делегирован на внешний IP 188.73.191.202. Все поддомены *.zailon.ru также указывают на этот IP через записи типа A.

Поддомен Назначение Целевой хост
charon.zailon.ru Панель OlimpVPN 2.27.50.20 (VPS)
nc.zailon.ru Nextcloud 188.73.191.202 → 192.168.1.201
cloud.zailon.ru Reality SNI / Nextcloud 188.73.191.202 → 192.168.1.201
*.zailon.ru Wildcard для сервисов 188.73.191.202

DNS-серверы:

  • Внешние: стандартные провайдера (или публичные, например 8.8.8.8)
  • Локально: системный resolver на каждом хосте (127.0.0.53)

Локальная сеть

  • Подсеть: 192.168.1.0/24
  • Шлюз: 192.168.1.1 (роутер)
  • DHCP: включён на роутере, диапазон раздачи 192.168.1.100192.168.1.200 (статические адреса для серверов заданы вручную)
  • Статические IP-адреса серверов: см. раздел Виртуальные машины и LXC

Ключевые хосты

Хост IP Назначение
Роутер 192.168.1.1 Шлюз, DHCP, OpenVPN
NPM 192.168.1.201 Nginx Proxy Manager, SSL-терминация
Proxmox 192.168.1.200 Хост виртуализации
media (LXC) 192.168.1.203 Jellyfin, Samba, yt-dlp, xray-прокси
talk (LXC) 192.168.1.206 Snikket (XMPP), Mumble

Безопасность сети

  • Wi-Fi: WPA2-PSK (рекомендуется обновление до WPA3)
  • Гостевая сеть: отсутствует
  • VLAN: не используются
  • Доступ к панели 3X-UI:
    • HTTPS + Let's Encrypt
    • Секретный URI: /olimp-styx/
    • Секретный subscription URI: /charon-cerber/
    • Рекомендуется ограничить доступ по IP при возможности

Fail2ban (опционально для 3X-UI)

# В docker-compose.yml 3X-UI:
environment:
  XUI_ENABLE_FAIL2BAN: "true"
  XUI_FAIL2BAN_PORT: "45131"
  XUI_FAIL2BAN_MAX_RETRY: "5"
  XUI_FAIL2BAN_BAN_TIME: "3600"

Мониторинг сети

  • Сбор метрик через node_exporter (порт 9100) на всех хостах
  • Логи роутера не собираются (ограниченные возможности TP-Link)
  • Логи 3X-UI: docker logs 3xui_app --tail 100 -f

Бэкапы конфигурации

OlimpVPN (3X-UI)

Автоматические еженедельные бэкапы на Nextcloud:

  • Скрипт: /opt/3x-ui/backup.sh
  • Cron: 0 3 * * 0 (воскресенье, 03:00)
  • Хранилище: nc.zailon.ru/VPN_Backups/3x-ui/
  • Состав: база данных, сертификаты, docker-compose.yml
# Ручной бэкап
cd /opt/3x-ui
tar -czf backup_$(date +%Y%m%d).tar.gz db/ cert/ docker-compose.yml

# Восстановление
docker compose down
tar -xzf backup_*.tar.gz -C /opt/3x-ui/
docker compose up -d

Важно: токены и пароли хранятся отдельно, не включаются в бэкап.


Связанные разделы: