Типичная ситуация: у компании появился второй офис или склад, и сотрудникам там нужны те же 1С, общие папки, принтеры и сетевые диски, что и в головном офисе. Самое простое решение — каждому раздать отдельный VPN-клиент, но при десятке человек это быстро превращается в зоопарк. Правильнее связать офисы между собой: тогда компьютеры филиала видят сеть центрального офиса так, будто они в соседней комнате.
Коротко: для небольшой компании оптимален VPN «сайт — сайт» (site-to-site) на роутерах: IPsec IKEv2 или WireGuard. Перед настройкой нужно выбрать непересекающиеся подсети для офисов, а после — настроить DNS, чтобы имена серверов разрешались в обоих офисах. Windows RRAS работает, но держать маршрутизацию на Windows-сервере я бы не стал без особых причин. 1С через туннель лучше отдавать через терминальный сервер или в клиент-серверном режиме, а не открывать файловую базу по сети.
Какие есть варианты
| Вариант | Где работает | Плюсы | Минусы |
|---|---|---|---|
| IPsec (IKEv2) на роутерах | Большинство офисных роутеров и межсетевых экранов | Стандарт, работает между оборудованием разных производителей | Много параметров, которые должны совпадать с обеих сторон |
| WireGuard на роутерах | Роутеры с поддержкой WireGuard, Linux, отдельные устройства | Простая конфигурация, быстрый, легко переживает смену адреса | Поддерживается не всем оборудованием, нет встроенной аутентификации пользователей |
| Windows RRAS | Windows Server с ролью Remote Access | Не нужен отдельный роутер с VPN | Маршрутизация зависит от сервера, его перезагрузок и обновлений |
| Хаб на внешнем сервере | Арендованный сервер, к которому подключаются все офисы | Не нужны белые IP в офисах, легко добавлять филиалы | Ещё одна точка отказа, трафик идёт через третью площадку |
IPsec между роутерами
IPsec — самый распространённый вариант для связи офисов, его поддерживает практически любое оборудование бизнес-класса. Для новых туннелей используйте IKEv2: он проще в настройке, чем IKEv1, и лучше переживает обрывы связи. Что нужно знать при настройке:
- Обмен ключами идёт по UDP 500, а если на пути есть NAT — по UDP 4500 (NAT-T). Сами данные передаются протоколом ESP (IP-протокол 50) или, при NAT-T, тоже внутри UDP 4500. Эти порты и протокол должны быть разрешены на внешних интерфейсах.
- Параметры шифрования и хэширования (так называемые proposals) для фазы IKE и фазы IPsec должны совпадать с обеих сторон. Большинство ошибок «туннель не поднимается» — это расхождение в одном из этих параметров.
- Аутентификация — общий ключ (PSK) или сертификаты. Для двух-трёх офисов PSK достаточно, но он должен быть длинным и случайным, а не названием компании.
- В политике указываются локальная и удалённая подсети. Если в одном офисе несколько VLAN, перечислите все, которые должны быть доступны.
Если роутеры разных производителей, выписывайте параметры обеих сторон в таблицу до начала настройки: версия IKE, шифрование, целостность, группа Диффи — Хеллмана, время жизни ключей. Это экономит часы отладки.
WireGuard
WireGuard устроен проще: у каждой стороны есть пара ключей, в конфигурации указываются публичный ключ соседа, его внешний адрес и порт, а также список адресов AllowedIPs — какие подсети можно отправлять в туннель и принимать из него. Работает поверх UDP, порт выбирается при настройке (в примерах документации чаще всего 51820).
Пример фрагмента со стороны филиала, где 192.168.20.0/24 — сеть головного офиса, а 10.99.0.0/30 — адреса самого туннеля:
[Interface]
PrivateKey = <закрытый ключ филиала>
Address = 10.99.0.2/30
[Peer]
PublicKey = <открытый ключ головного офиса>
Endpoint = vpn.example.ru:51820
AllowedIPs = 10.99.0.0/30, 192.168.20.0/24
PersistentKeepalive = 25
PersistentKeepalive нужен стороне, которая находится за NAT: без периодических пакетов NAT на её роутере или у провайдера «забудет» соединение, и головной офис не сможет начать обмен первым. В интерфейсе роутеров эти же параметры обычно вводятся в форме, но смысл тот же.
Если у офиса нет белого IP
Для туннеля хотя бы одна сторона должна быть доступна из интернета по постоянному адресу или DNS-имени. Если белый адрес есть только в головном офисе — этого достаточно: филиал инициирует подключение сам. Если белых адресов нет нигде (частая история с мобильными и некоторыми проводными провайдерами), есть два пути: заказать статический IP у провайдера или поставить посредника — внешний сервер, к которому оба офиса подключаются как клиенты, а он маршрутизирует между ними.
Windows RRAS — кратко
В Windows Server роль Remote Access со службой Routing and Remote Access (RRAS) умеет строить site-to-site VPN через интерфейсы вызова по требованию (demand-dial), в том числе по IKEv2. Подключение можно сделать постоянным или поднимаемым при появлении трафика, в мастере задаётся статический маршрут на удалённую сеть. На практике я использую RRAS, только когда на площадке нет подходящего роутера и поменять его нельзя. Минусы понятны: сервер с маршрутизацией нужно перезагружать после обновлений, и в это время оба офиса теряют связь, а клиентам в сети приходится прописывать маршрут через сервер или настраивать это на основном шлюзе.
Адресация подсетей
Это то, что лучше продумать заранее, потому что переделывать потом больно. Правила простые:
- У каждого офиса — своя подсеть из частных диапазонов (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Подсети не должны пересекаться.
- Не используйте 192.168.0.0/24 и 192.168.1.0/24: они стоят по умолчанию на большинстве домашних роутеров. Когда сотрудник подключится по VPN из дома, его домашняя сеть совпадёт с офисной, и маршрутизация сломается.
- Заложите схему с запасом на новые площадки, например 10.10.1.0/24 — головной офис, 10.10.2.0/24 — филиал, 10.10.3.0/24 — склад, 10.10.100.0/24 — удалённые сотрудники.
- Если пересечение уже есть, честный вариант — перенумеровать один офис. Обходные решения с NAT внутри туннеля работают, но усложняют всё остальное, включая DNS и доступ к принтерам.
DNS и Active Directory
Когда туннель поднят и пинг по IP проходит, первое, что ломается, — имена. Пользователь в филиале открывает \fileserverdocs, а имя не разрешается, потому что его ПК спрашивает DNS роутера филиала.
- Один домен на оба офиса. Компьютеры филиала должны получать по DHCP адреса DNS-серверов домена. Если в филиале стоит свой контроллер домена — он и будет DNS. В оснастке «Active Directory — сайты и службы» (
dssite.msc) создайте отдельный сайт для филиала и привяжите к нему его подсеть: тогда клиенты будут аутентифицироваться на ближайшем контроллере. - Разные домены или домена нет. Настройте условную пересылку: DNS-сервер одного офиса отправляет запросы по зоне другого офиса на его DNS-сервер.
Add-DnsServerConditionalForwarderZone -Name "filial.local" -MasterServers 10.10.2.10 -ReplicationScope "Forest"
Параметр -ReplicationScope нужен, только если зону пересылки нужно хранить в AD и реплицировать на другие контроллеры; на отдельном DNS-сервере без домена его не указывают.
1С и файловый сервер через VPN
Общие папки через туннель работают нормально, если канал стабильный: SMB просто начинает ходить по маршруту. Учтите, что открытие больших файлов будет упираться в скорость канала, а Excel с сетевого диска на медленном канале будет «думать».
С 1С сложнее. Файловая база, открытая через VPN по сети, по моему опыту работает медленно и плохо переносит обрывы связи — а обрыв во время записи чреват повреждением базы. Нормальные варианты:
- сотрудники филиала работают в 1С через терминальный сервер в головном офисе — по туннелю идёт только картинка RDP;
- база переводится в клиент-серверный режим (MS SQL или PostgreSQL), и клиент 1С подключается к серверу 1С через туннель. Через VPN должны быть доступны порт агента сервера 1С, порт менеджера кластера и диапазон портов рабочих процессов — их фактические значения видны в настройках кластера в консоли администрирования;
- база публикуется на веб-сервере, и пользователи работают через тонкий клиент или браузер.
Если поддерживать серверы в каждом офисе не хочется, есть и вариант без туннелей для 1С: 1С в облаке, куда все офисы подключаются одинаково по интернету.
Проверка после настройки
- Из филиала:
pingиtracertдо сервера головного офиса — маршрут должен идти через туннель, а не уходить в интернет. - Проверить порты нужных служб, например SMB и RDP:
Test-NetConnection -ComputerName 10.10.1.10 -Port 445 Test-NetConnection -ComputerName 10.10.1.10 -Port 3389 - Проверить имена:
nslookup fileserver.office.localс компьютера филиала. - Если пинг ходит, а файлы не копируются или RDP зависает на подключении, — почти наверняка проблема с MTU: внутри туннеля пакет меньше. Включите на роутерах корректировку MSS для трафика туннеля или уменьшите MTU интерфейса VPN.
Что выбрать
Мой обычный порядок такой. Если в обоих офисах роутеры поддерживают WireGuard — делаю на нём, это быстрее всего настроить и проще сопровождать. Если оборудование разное или есть корпоративный межсетевой экран — IPsec IKEv2. Если белых адресов нет — внешний сервер-хаб. RRAS — только как временное решение. Сложности начинаются, когда офисов становится больше трёх, появляются резервные каналы и требования к отказоустойчивости. Тогда имеет смысл отдать задачу тем, кто делает объединение офисов в единую сеть регулярно и сопровождает его.
Частые вопросы
Можно ли объединить офисы, если у них одинаковая подсеть 192.168.1.0/24?
Технически можно через NAT внутри туннеля, но это источник постоянных проблем с DNS, принтерами и доменом. Правильнее один раз перенумеровать сеть одного из офисов: поменять настройки DHCP, адреса серверов и принтеров со статическими IP. Это занимает вечер, а обходной NAT потом будет мешать годами.
Какая скорость канала нужна для работы в 1С через терминальный сервер?
Зависит от числа пользователей и того, что они делают, поэтому универсальной цифры нет. Важнее стабильность и задержка, чем ширина канала: RDP нормально работает на скромной скорости, но болезненно реагирует на потери пакетов. Лучше проверить на реальной нагрузке в течение рабочего дня.
Нужен ли второй контроллер домена в филиале?
Если в филиале несколько человек и канал надёжный, можно обойтись без него. Если связь с головным офисом может пропадать, а в филиале важно входить в систему и пользоваться локальными ресурсами, второй контроллер с DNS заметно повышает устойчивость. Не забудьте создать для филиала отдельный сайт AD.
Что делать, если туннель периодически падает?
Сначала посмотреть журналы обоих роутеров в момент падения: смена внешнего адреса у провайдера, истечение времени жизни ключей с несовпадающими настройками, NAT без keepalive. Для WireGuard на стороне за NAT проверьте PersistentKeepalive, для IPsec — включённый DPD (обнаружение недоступного соседа) и одинаковые таймеры с обеих сторон.