Video Surveillance

Как объединить несколько офисов в одну сеть для видеонаблюдения с помощью роутеров, VPS, WireGuard и Amnezia

Оборудование Облачные технологии В фокусе
Когда камер много и они разбросаны по разным офисам, проблема обычно не в камерах и не в VMS. Проблема в том, что сеть внезапно решает показать характер. Пока каждый офис живет в своей подсети и выходит в интернет через своего провайдера, единая система видеонаблюдения существует только в презентации. На практике получаются отдельные острова, между которыми администратор плавает на обломках пробросов портов.
Рабочая схема для распределенного видеонаблюдения выглядит так: в каждом офисе стоит роутер, между офисами поднимается site-to-site VPN, а центральный узел на VPS или в головном офисе знает маршруты ко всем удаленным подсетям. В результате VMS видит камеры по внутренним адресам, как будто они стоят не в другом городе, а просто за длинным коридором.

Что именно нужно построить

Нужны четыре базовые сущности:
  1. Локальные сети в офисах с уникальными подсетями.
  2. Роутеры, которые умеют WireGuard, статическую маршрутизацию, firewall и желательно удаленное управление.
  3. Центральный VPS с белым IP как VPN-хаб.
  4. VMS-сервер, который получает доступ ко всем удаленным подсетям.
Типовой пример адресации:
  • головной офис: 192.168.10.0/24
  • филиал 1: 192.168.20.0/24
  • филиал 2: 192.168.30.0/24
  • VPN-сеть: 10.200.0.0/24
У каждого филиала своя LAN, у VPN свой отдельный диапазон. Это важно. Когда в двух офисах одинаковая сеть 192.168.1.0/24, начинается не объединение филиалов, а конкурс "угадай, к какой камере ты сейчас подключился".

Зачем нужен VPS

VPS в этой схеме нужен не для того, чтобы гордо хранить весь видеоархив мира. Его задача проще и полезнее: быть центральной VPN-точкой с белым IP.
Это решает сразу несколько проблем:
  • филиалы за NAT могут сами инициировать соединение наружу
  • не нужен белый IP в каждом офисе
  • новый филиал подключается к одной точке, а не к каждому офису отдельно
  • маршрутизация становится предсказуемой
Именно поэтому hub-and-spoke обычно практичнее full mesh. Full mesh красиво звучит, пока у вас два офиса. На четвертом он уже начинает напоминать клуб любителей ручных таблиц маршрутизации.

Почему WireGuard подходит для этого лучше всего

Для межофисной сети WireGuard хорош по трем причинам: он быстрый, простой и не пытается быть оперой в трех действиях. У него понятная логика:
  • создается интерфейс
  • задаются ключи
  • описываются пиры
  • указывается, какие сети находятся за каждым пиром
Например, если за роутером филиала находится сеть 192.168.20.0/24, именно она и объявляется через этот пир. Центральный узел понимает, куда слать трафик, а VMS получает доступ к камерам по внутренним IP.
Ключевой принцип здесь такой: между офисами нужна маршрутизация, а не NAT.
Для видеонаблюдения это критично. Если начать маскировать все филиалы через один адрес, потом:
  • логи становятся бесполезнее
  • диагностика сложнее
  • ACL работают хуже
  • VMS хуже понимает, кто есть кто
Проще говоря, NAT в межофисной сети для камер это как скотч в серверной: иногда помогает, но обычно вызывает вопросы.

Базовая топология

Нормальная схема выглядит так:
  • каждый филиал поднимает WireGuard-туннель до VPS
  • VPS знает все удаленные офисные подсети
  • головной офис или VMS-сервер получает маршруты ко всем филиалам
  • камеры и локальные серверы доступны по внутренним адресам
Если нужен доступ между филиалами напрямую, маршруты на это тоже добавляются. Если не нужен, можно ограничиться доступом только к головному офису и VMS. Это даже лучше с точки зрения безопасности.

Как настроить логику маршрутизации

На центральном узле для каждого филиала нужно описать:
  • его туннельный IP
  • его LAN-подсеть
Например:
  • филиал 1: 10.200.0.3/32, LAN 192.168.20.0/24
  • филиал 2: 10.200.0.4/32, LAN 192.168.30.0/24
На роутере филиала в AllowedIPs обычно указываются:
  • адрес центрального VPN-узла
  • подсеть VMS
  • при необходимости сети других филиалов
Очень важно не превращать AllowedIPs в мешок "засунем туда все, а потом посмотрим". Для site-to-site VPN это фактически и список маршрутов, и политика трафика. Ошибка тут дает либо черную дыру, либо внезапную любовь всего трафика к туннелю.

Где размещать VMS

Есть два рабочих варианта.
Вариант 1. Центральная VMS
VMS стоит в головном офисе или в дата-центре и напрямую подключает камеры всех филиалов по внутренним IP. Это простой и понятный вариант, если каналы между площадками хорошие и число камер умеренное.
Вариант 2. Распределенная запись
На каждой площадке запись идет локально, а центральная VMS получает доступ к событиям, живому просмотру, субпотокам и архиву по запросу. Для больших систем это обычно лучше. Нет смысла круглосуточно тащить все основные потоки через VPN только для того, чтобы потом никто на них не смотрел.
Для видеонаблюдения почти всегда работает простое правило:
писать ближе к камерам, управлять из центра.

Какой трафик реально нужно гонять через VPN

Через межофисный туннель обычно разумно передавать:
  • доступ VMS к камерам
  • события и тревоги
  • субпотоки для постоянного мониторинга
  • доступ к архиву по запросу
  • служебный трафик управления
Нежелательно бездумно тащить через VPN:
  • все основные видеопотоки 24/7 со всех камер
  • обновления камер и другого железа без ограничений
  • широковещательный мусор
  • все VLAN подряд "на всякий случай"
Иначе канал быстро превращается в памятник энтузиазму без расчета.

Когда нужен Amnezia, а когда нет

Если WireGuard работает стабильно, никакая дополнительная экзотика не нужна. Это базовый, быстрый и наиболее чистый вариант.
Amnezia имеет смысл, если:
  • провайдер режет или портит UDP
  • есть DPI
  • handshake WireGuard нестабилен
  • часть филиалов работает из сложной сетевой среды
То есть Amnezia это не обязательный ингредиент архитектуры, а специальный инструмент для проблемных участков. Сетевой инженер, который в любой непонятной ситуации сразу тащит дополнительный слой абстракции, обычно потом сам его и ловит по логам.
Практический подход простой:
  • сначала строится обычный WireGuard site-to-site
  • проверяется маршрутизация, MTU, firewall, DNS и доступность
  • только если есть реальная проблема с прохождением трафика, добавляется Amnezia

Какие роутеры подходят для такой схемы

Если не говорить о моделях, а говорить по делу, то роутер для межофисного видеонаблюдения должен уметь следующее:
  • WireGuard на уровне системы
  • статическая маршрутизация
  • policy routing при необходимости
  • VLAN
  • нормальный firewall
  • удаленное управление
  • экспорт и резервное копирование конфигурации
  • достаточный запас CPU и RAM для VPN и фильтрации
Если планируется Amnezia, то нужно смотреть уже не только на наличие WireGuard, но и на платформу:
  • часть роутеров поддерживает Amnezia напрямую или через штатные пакеты
  • часть поддерживает ее только через контейнеры или прокси-схемы
  • часть годится только для обычного WireGuard
Поэтому выбирать роутер нужно не по наклейке "поддерживает VPN", а по трем критериям:
  1. сколько туннелей он реально должен держать
  2. сколько маршрутов и правил firewall будет в конфиге
  3. нужен ли Amnezia прямо на роутере или хватит обычного WireGuard
Для маленького филиала и для головного офиса это обычно разные классы устройств. Центральный узел должен иметь заметно больший запас по CPU, памяти и интерфейсам. Экономить на головном роутере в сети с несколькими офисами это как ставить слабый блок питания в сервер: некоторое время все работает, потом начинаются философские вопросы.

Что обязательно предусмотреть в офисах

Перед внедрением лучше сразу заложить несколько правил.
Уникальные подсети
Во всех офисах должны быть разные LAN-сети. Без этого межофисная маршрутизация превращается в цирк.
Статические IP для камер
Камеры должны иметь предсказуемые адреса. Не надо надеяться, что DHCP и судьба сами разберутся.
Отдельный VLAN или отдельная подсеть для камер
Это упрощает firewall, управление доступом и диагностику.
Доступ к камерам только от VMS и админских узлов
Операторы должны заходить в VMS, а не в веб-морды камер по прямой. Иначе система очень быстро становится зоопарком интерфейсов.
Минимум широковещательного трафика через VPN
Multicast discovery и прочие сетевые радости лучше оставлять внутри площадки.
Мониторинг туннелей
Нужны ping, логи handshake, latency, packet loss и состояние маршрутов. Иначе любой инцидент будет диагностироваться старым методом "ну вроде вчера работало".

Типовые ошибки

Самые частые ошибки в таких проектах удивительно стабильны:
  • одинаковые подсети в разных офисах
  • NAT между филиалами вместо маршрутизации
  • попытка писать весь архив через VPN в центр
  • открытые камеры в интернет "временно"
  • отсутствие отдельного сегмента для камер
  • слишком слабый центральный роутер
  • отсутствие нормального мониторинга туннелей
  • попытка лечить плохую схему добавлением еще одного VPN
Правильная схема для распределенного видеонаблюдения выглядит так: роутеры в офисах, центральный VPS как VPN-хаб, site-to-site WireGuard между площадками, маршрутизация между подсетями и единая VMS, которая видит все камеры по внутренним адресам.
WireGuard в этой задаче является базовым и наиболее рациональным вариантом. Amnezia нужна не всегда, а только там, где обычный туннель упирается в особенности внешней сети. Роутеры для такой схемы нужно выбирать не по маркетингу, а по способности держать VPN, маршруты, firewall и удаленное управление без истерик.