Что такое site-to-site VPN и зачем он нужен
Site-to-site VPN — это технология, которая соединяет две или более локальные сети через интернет с помощью зашифрованного туннеля. В отличие от remote access VPN, где защищается соединение одного устройства, здесь объединяются целые сети на уровне шлюзов. Это означает, что компьютеры, серверы и другие устройства в разных офисах видят друг друга так, будто находятся в одной локальной сети, без необходимости устанавливать VPN-клиенты на каждое устройство.
Основная цель site-to-site VPN — обеспечить безопасный и прозрачный обмен данными между географически распределёнными площадками. Это может быть головной офис и филиал, два дома, офис и облачная инфраструктура. Технология позволяет использовать общие ресурсы: файловые серверы, базы данных, системы видеонаблюдения, принтеры, внутренние веб-приложения.
Site-to-site VPN часто называют network-to-network или router-to-router VPN, подчёркивая, что соединение устанавливается между сетевыми шлюзами. Это ключевое отличие от клиентских VPN, которые защищают только трафик одного устройства.
Как работает site-to-site VPN: жизненный цикл туннеля
Независимо от производителя оборудования, все site-to-site VPN работают по схожему принципу. Процесс можно разбить на несколько этапов:
- Развёртывание шлюзов. На каждой площадке устанавливается устройство, способное выполнять VPN-функции: межсетевой экран, маршрутизатор или виртуальный роутер в облаке.
- Установление туннеля. Шлюзы обмениваются идентификационной информацией и создают защищённый канал (фаза IKE). Они согласовывают алгоритмы шифрования, хэширования и таймеры сессии.
- Аутентификация. Шлюзы проверяют друг друга с помощью предварительного общего ключа (PSK) или цифровых сертификатов. Это предотвращает подключение посторонних устройств.
- Инкапсуляция данных. Когда устройство в одной сети отправляет пакет в удалённую сеть, шлюз перехватывает его, шифрует и помещает в новый IP-пакет с адресом шлюза назначения.
- Передача по интернету. Зашифрованный пакет путешествует по публичной сети. Перехватчик видит только случайные байты и служебную информацию.
- Декапсуляция. Шлюз назначения снимает внешний заголовок, расшифровывает данные и отправляет исходный пакет в локальную сеть. Для конечного устройства трафик выглядит так, будто пришёл из локальной сети.
Современные шлюзы регулярно обновляют ключи шифрования, обнаруживают обрывы связи и автоматически переустанавливают туннель в течение нескольких секунд. Это обеспечивает высокую доступность и прозрачность для пользователей.
Типы site-to-site VPN: интранет и экстранет
Site-to-site VPN можно разделить на два основных типа в зависимости от того, кто контролирует сети на обоих концах туннеля.
Интранет-VPN соединяет сети, принадлежащие одной организации. Например, производственная компания может объединить заводы в трёх странах с центральной ERP-системой. Весь трафик остаётся внутри частных сетей, контролируемых корпоративным IT-отделом. Это наиболее распространённый сценарий для многофилиальных компаний.
Экстранет-VPN предоставляет ограниченный доступ внешним партнёрам, поставщикам или подрядчикам. Например, производитель может дать поставщику доступ только к определённым подсетям с данными о запасах или интерфейсам API. Такой подход позволяет соблюдать строгие правила контроля доступа и обеспечивает безопасность, не раскрывая всю внутреннюю сеть.
Выбор между интранет и экстранет влияет на настройку политик безопасности, сегментацию сети и выбор методов аутентификации.
Когда использовать site-to-site VPN: основные сценарии
Site-to-site VPN — это не универсальное решение, но оно отлично подходит для ряда типичных ситуаций.
- Несколько физических офисов. Если у компании есть головной офис и филиалы, site-to-site VPN обеспечивает быстрый и безопасный обмен данными между ними.
- Подключение филиалов. Розничные сети, медицинские клиники, школы часто имеют десятки небольших точек. Каждая из них нуждается в надёжном доступе к корпоративным приложениям, размещённым в центральном офисе или облаке.
- Облачное расширение. При переносе рабочих нагрузок в AWS, Azure или Google Cloud site-to-site VPN соединяет локальную сеть с виртуальным частным облаком (VPC), не открывая сервисы в публичный интернет.
- Слияния и поглощения. После объединения компаний их инфраструктуры могут оставаться раздельными. Временный site-to-site VPN позволяет обмениваться данными до полной миграции.
- Сотрудничество с партнёрами. Экстранет-VPN даёт поставщикам и подрядчикам ограниченный доступ к нужным системам.
- Соответствие требованиям регуляторов. Стандарты HIPAA, PCI-DSS, GDPR требуют шифрования данных при передаче. Site-to-site VPN с IPsec помогает доказать, что данные защищены.
- Экономия на выделенных линиях. Частные MPLS-каналы могут стоить тысячи долларов в месяц. VPN по бизнес-широкополосному доступу обеспечивает аналогичную безопасность за небольшую часть стоимости.
Также site-to-site VPN полезен для домашних сценариев: объединение квартиры и дачи для доступа к NAS, камерам видеонаблюдения, умному дому, а также для удалённого администрирования сети.
Выбор протокола: WireGuard, IPsec, OpenVPN и другие
Выбор протокола — ключевое решение при настройке site-to-site VPN. От него зависят скорость, безопасность, сложность настройки и совместимость с NAT.
WireGuard — современный протокол, который набирает популярность благодаря высокой скорости и простоте настройки. Он использует современную криптографию (ChaCha20, Curve25519) и работает поверх UDP. WireGuard отлично справляется с NAT traversal, что важно для домашних роутеров. На Keenetic он поддерживает множество пиров, позволяя объединять несколько площадок. Рекомендуется для большинства сценариев, особенно когда важна производительность.
IPsec (IKEv1/IKEv2) — классический набор протоколов, широко используемый в корпоративных межсетевых экранах. IKEv2 поддерживает аутентификацию с помощью сертификатов PKI и более устойчив к NAT, чем IKEv1. IPsec обеспечивает высокий уровень безопасности и совместимость с большинством enterprise-оборудования. Однако настройка сложнее, чем у WireGuard.
OpenVPN — гибкий протокол, работающий поверх TCP или UDP. Он хорошо обходит блокировки и может работать через NAT, но скорость ниже, чем у WireGuard, а настройка сложнее. Часто используется для обхода ограничений, но для site-to-site менее предпочтителен из-за производительности.
L2TP/IPsec — комбинация L2TP для туннелирования и IPsec для шифрования. Обеспечивает совместимость со старыми системами, но скорость и безопасность ниже, чем у современных протоколов. Поддерживается в UserGate, но не рекомендуется для новых проектов.
PPTP — устаревший и небезопасный протокол. Его использование крайне не рекомендуется, так как он легко взламывается.
При выборе учитывайте: скорость (WireGuard > IKEv2 > OpenVPN > L2TP/IPsec), сложность настройки (WireGuard проще всех), поддержку NAT (WireGuard и IKEv2 лучше), требования корпоративной безопасности (IPsec с сертификатами).
Требования к сети: белый IP, DDNS, подсети и NAT
Для успешной настройки site-to-site VPN необходимо выполнить ряд условий.
Белый (публичный) IP-адрес. Хотя бы один из шлюзов должен иметь публичный IP-адрес, чтобы другой мог к нему подключиться. Если оба шлюза находятся за NAT провайдера (серые IP), прямое соединение невозможно. В этом случае требуется промежуточный VPN-сервер.
DDNS (Dynamic DNS). Если публичный IP динамический (меняется при каждом подключении), необходимо настроить DDNS. Это сервис, который привязывает доменное имя к текущему IP-адресу. Например, Keenetic предлагает бесплатный KeenDNS с адресами вида myrouter.keenetic.pro. Это позволяет клиенту всегда находить сервер по имени.
Разные локальные подсети. Оба шлюза должны использовать разные IP-подсети. Например, 192.168.1.0/24 на одном и 192.168.2.0/24 на другом. Если подсети совпадают, маршрутизация становится невозможной, так как роутер не сможет определить, куда отправлять пакеты. В этом случае нужно изменить подсеть на одном из устройств.
NAT traversal. Если один или оба шлюза находятся за NAT, необходимо использовать протоколы, поддерживающие NAT traversal (NAT-T). WireGuard и IKEv2 хорошо справляются с этой задачей. Для IPsec IKEv1 может потребоваться настройка NAT keepalive для поддержания сессии.
Версии прошивки. Убедитесь, что на обоих устройствах установлены актуальные версии ПО. Например, WireGuard на Keenetic доступен начиная с KeeneticOS 3.3.
Пошаговая настройка site-to-site VPN на роутерах Keenetic
Рассмотрим настройку site-to-site VPN на примере двух роутеров Keenetic с использованием WireGuard. Это один из самых простых и быстрых способов объединить две сети.
Шаг 1: Настройка VPN-сервера на Keenetic A (с белым IP)
- Установите компонент WireGuard: «Общие настройки» → «Изменить набор компонентов» → «WireGuard VPN» → установить.
- Создайте WireGuard-интерфейс: «Другие подключения» → «WireGuard» → «Добавить подключение». Назовите его, например, «Site-to-Site». Нажмите «Сгенерировать ключи» — роутер создаст пару ключей. Запишите публичный ключ.
- Укажите IP-адрес интерфейса: 10.8.0.1/24. Это адрес Keenetic A внутри VPN-туннеля.
- Укажите порт прослушивания: 51820 (стандартный порт WireGuard).
- Добавьте пир (Keenetic B). Поле «Публичный ключ» пока оставьте пустым — заполните позже. В поле AllowedIPs укажите 10.8.0.2/32 (VPN-адрес Keenetic B) и 192.168.2.0/24 (локальная сеть Keenetic B). PersistentKeepalive оставьте пустым.
- Откройте порт в файрволе: «Межсетевой экран» → правило для интерфейса «Провайдер» → разрешите входящий UDP-трафик на порт 51820.
Шаг 2: Настройка VPN-клиента на Keenetic B
- Установите компонент WireGuard (аналогично).
- Создайте WireGuard-интерфейс «Site-to-Site». Сгенерируйте ключи и запишите публичный ключ Keenetic B.
- Укажите IP-адрес интерфейса: 10.8.0.2/24.
- Порт прослушивания оставьте пустым — Keenetic B будет подключаться к A.
- Добавьте пир (Keenetic A). Вставьте публичный ключ Keenetic A. Endpoint: 203.0.113.10:51820 (или myrouter.keenetic.pro:51820). AllowedIPs: 10.8.0.1/32 и 192.168.1.0/24. PersistentKeepalive: 25 секунд.
- Вернитесь на Keenetic A и впишите публичный ключ Keenetic B в созданный пир.
Шаг 3: Настройка маршрутов
KeeneticOS автоматически создаёт маршруты на основе AllowedIPs. Проверьте, что на Keenetic A есть маршрут к 192.168.2.0/24 через WireGuard, а на Keenetic B — к 192.168.1.0/24. Важно не включать опцию «Использовать для выхода в Интернет» на WireGuard-интерфейсе site-to-site, иначе весь интернет-трафик пойдёт через туннель, что нежелательно.
Шаг 4: Проверка туннеля
Активируйте WireGuard на обоих роутерах. Индикатор должен стать зелёным. Выполните ping с устройства в сети A на 10.8.0.2, затем на 192.168.2.1. Если пинги проходят — туннель работает.
Настройка site-to-site VPN на межсетевых экранах UserGate
В корпоративной среде site-to-site VPN часто настраивается на межсетевых экранах нового поколения (NGFW), таких как UserGate. Процесс более сложный, чем на домашних роутерах, но даёт больше контроля и безопасности.
Основные шаги настройки VPN-сервера в UserGate NGFW:
- Контроль доступа зоны. Разрешите сервис VPN в зоне, откуда будут подключаться клиенты (обычно Untrusted).
- Создание зоны для VPN-подключений. Создайте отдельную зону, в которую будут помещены VPN-узлы. Эта зона будет использоваться в политиках безопасности.
- Настройка аутентификации. Для L2TP создайте локальную учётную запись. Для IPsec IKEv1 используйте общий ключ (Pre-shared key), для IKEv2 — сертификаты PKI.
- Создание профиля безопасности VPN. Определите протокол (IPsec/L2TP, IPsec only/IKEv1, IKEv2), параметры IKE (режим, идентификация), методы аутентификации, алгоритмы шифрования и аутентификации для первой и второй фаз.
- Создание VPN-интерфейса. Виртуальный адаптер, который будет использоваться для VPN-подключений. Он является кластерным и автоматически создаётся на всех узлах кластера.
- Создание сети VPN. Определите подсети, которые будут доступны через туннель.
- Создание серверного правила VPN. Настройте параметры подключения для клиентов.
- Контроль доступа к ресурсам. Настройте политики безопасности для зоны VPN.
Важно: в UserGate для site-to-site VPN поддерживаются протоколы L2TP/IPsec (IKEv1), IPsec (IKEv2), IPsec (IKEv1). Клиентское подключение UserGate к сторонним L2TP/IPsec серверам не поддерживается. Для IKEv2 необходимо создать сертификаты сервера и клиента.
Решение проблем: NAT, маршрутизация и стабильность
При настройке site-to-site VPN часто возникают типичные проблемы. Рассмотрим их и способы решения.
Оба роутера за NAT. Если ни один шлюз не имеет белого IP, прямое соединение невозможно. Решения:
- Заказать белый IP у провайдера (часто стоит 100–300 ₽/мес).
- Использовать промежуточный VPN-сервер. Оба роутера подключаются к нему как клиенты, а сервер маршрутизирует трафик между ними. Это добавляет задержку и зависимость от сервиса.
- Использовать DDNS с проксированием через облако (например, KeenDNS), но для WireGuard это не подходит, так как он работает по UDP.
Пинг VPN-адресов работает, а устройства в удалённой сети не пингуются. Проблема в маршрутизации. Проверьте, что AllowedIPs содержат подсети удалённой стороны, и что маршруты созданы. Используйте команду show ip route в CLI.
Туннель не устанавливается. Проверьте: открыт ли порт 51820/UDP в файрволе, правильно ли указан endpoint, совпадают ли публичные ключи. Попробуйте подключиться вручную через CLI.
Одинаковые подсети. Если обе сети используют 192.168.1.0/24, измените подсеть на одном из роутеров.
Нестабильное соединение. Установите PersistentKeepalive = 25 на стороне клиента, чтобы предотвратить разрыв NAT-сессии.
Устройства видят удалённую сеть, но не имеют доступа в интернет. Убедитесь, что AllowedIPs не содержит 0.0.0.0/0. Для site-to-site нужны только конкретные подсети.
Ограничения и альтернативы site-to-site VPN
Несмотря на все преимущества, site-to-site VPN имеет ограничения, которые важно учитывать.
- Зависимость от качества интернета. Скорость и стабильность туннеля напрямую зависят от публичного интернет-соединения. При плохом канале возможны задержки и обрывы.
- Сложность настройки. В корпоративных средах настройка IPsec с сертификатами требует квалификации. Ошибки в конфигурации могут привести к неработоспособности туннеля.
- Аппаратные требования. VPN-шлюзы должны иметь достаточную вычислительную мощность для шифрования трафика. Дешёвые роутеры могут не справиться с высокой нагрузкой.
- Слабая поддержка мобильных сотрудников. Site-to-site VPN защищает только трафик между сетями. Удалённые сотрудники, работающие из дома или в поездках, нуждаются в remote access VPN.
- Отсутствие гибкости для облачных приложений. Для доступа к SaaS-приложениям может потребоваться cloud VPN или другие решения.
Альтернативы site-to-site VPN включают:
- MPLS-каналы — выделенные линии с гарантированной пропускной способностью, но дорогие.
- SD-WAN — программно-определяемая сеть, которая может использовать VPN-туннели и динамически маршрутизировать трафик.
- Remote Access VPN — для отдельных пользователей.
- Cloud VPN — для подключения к облачным ресурсам.
Выбор зависит от бюджета, требований к производительности и сложности инфраструктуры.
Вопросы и ответы
В чём разница между site-to-site VPN и remote access VPN?
Site-to-site VPN соединяет целые сети через шлюзы, обеспечивая доступ всем устройствам в этих сетях друг к другу. Remote access VPN защищает соединение одного устройства (например, ноутбука сотрудника) с корпоративной сетью. Site-to-site VPN не требует установки клиентов на каждое устройство, а remote access VPN — требует.
Какой протокол лучше всего подходит для site-to-site VPN?
Для большинства сценариев рекомендуется WireGuard из-за высокой скорости, простоты настройки и хорошей работы с NAT. Для корпоративных сред с требованиями к сертификатам часто используют IPsec IKEv2. OpenVPN подходит для обхода блокировок, но медленнее. PPTP использовать небезопасно.
Что делать, если оба роутера находятся за NAT?
Если ни один из роутеров не имеет белого IP, прямое подключение невозможно. Можно заказать белый IP у провайдера, использовать промежуточный VPN-сервер (оба роутера подключаются к нему как клиенты) или использовать сервисы с проксированием через облако, но для WireGuard это не подходит.
Можно ли объединить более двух сетей с помощью site-to-site VPN?
Да, можно. WireGuard на Keenetic поддерживает множество пиров, что позволяет объединить несколько площадок. В корпоративных NGFW также можно настроить несколько туннелей. Однако сложность управления растёт с количеством сетей, поэтому для больших инфраструктур могут потребоваться более продвинутые решения, такие как SD-WAN.
Какие требования к IP-адресам для site-to-site VPN?
Хотя бы один шлюз должен иметь белый (публичный) IP-адрес. Если IP динамический, нужен DDNS. Локальные подсети на обоих концах должны быть разными, чтобы избежать конфликтов маршрутизации. Если оба шлюза за NAT, потребуется промежуточный сервер.
Как проверить, что site-to-site VPN работает?
Выполните ping с устройства в одной сети на VPN-адрес удалённого шлюза (например, 10.8.0.2), затем на IP-адрес устройства в удалённой сети (например, 192.168.2.1). Если пинги проходят, туннель и маршрутизация работают. Также можно попробовать открыть общий ресурс по локальному IP.