Настройка WireGuard для объединения офисов
Введение
В статье поэтапно описана настройка маршрутизаторов MikroTik для объединения двух офисов (двух сетей) с помощью протокола WireGuard. С помощью этого соединения можно будет передавать данные между офисами через защищенный канал связи (VPN-туннель), а не через Интернет. Кроме того, здесь описана настройка маршрутизации и брандмауэра, а также типичные проблемы, с которыми можно столкнуться при этом процессе, и способы проверки полученных результатов. Настройка описывается на примере графического интерфейса (GUI) утилит WinBox 3 и WinBox 4, а также на примере интерфейса командной строки (CLI).
В протоколе WireGuard оба маршрутизатора являются равноправными. Для возможности установления соединения через Интернет внешний интерфейс одного из двух маршрутизаторов, на котором будет настроен WireGuard, должен иметь маршрутизируемый в Интернете (публичный, «белый») IP-адрес.
Рисунок 1. Схема сети |
Параметр маршрутизатора | Офис 1 | Офис 2 |
---|---|---|
Имя | R1 | R2 |
Тип VPN-интерфейса | Peer | Peer |
Адрес VPN-интерфейса | 172.16.1.1/32 | 172.16.1.2/32 |
Адрес внешнего (WAN) интерфейса | 100.64.111.1/24 | 100.64.222.1/24 |
Адрес внутреннего (LAN) интерфейса | 10.11.11.1/24 | 10.22.22.1/24 |
Адрес внутренней (LAN) сети | 10.11.11.0/24 | 10.22.22.0/24 |
Углубленный курс «Администрирование сетевых устройств MikroTik» Онлайн-курс по MikroTik с дипломом государственного образца РФ. Много лабораторных работ с проверкой официальным тренером MikroTik. С нуля и до уровня MTCNA. ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
На Telegram-канале Mikrotik-сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
Настройка WireGuard-соединения
Создать WireGuard-интерфейс на R1. Аутентификация (проверка подлинности учетных данных клиента) выполняется силами протокола WireGuard. Открытый и закрытый ключи интерфейса создаются автоматически при создании интерфейса. Открытый ключ указывается в параметре Public Key, а закрытый – в параметре Private Key.
Создать WireGuard-интерфейс на R2. Выполнить на R2 действия аналогичные действиям, выполненным на R1.
Создать учетную запись узла (peer) WireGuard на R1. Чтобы упростить работу с учетными записями в будущем, рекомендуется использовать названия, которые сразу будут указывать на конкретный офис (например, «office-samara» или «office-novosibirsk») вместо абстрактных «office-1», «office-2» и т. д. Это позволит избежать путаницы при большом количестве подобных записей. В качестве открытого ключа peer'а на R1 необходимо указать открытый ключ WireGuard-интерфейса на R2. Закрытый ключ в явном виде передавать не нужно, эта опция используется для генерации конфигураций для client-to-site подключений. Использование параметра Preshared Key (PSK) не является обязательным, но его использование обеспечивает дополнительный уровень шифрования. Если параметр будет использоваться, то он должен совпадать на обоих маршрутизаторах. Параметр можно задать вручную или сгенерировать с помощью опции auto. В параметре Allowed Address должны быть указаны адрес внутренней сети офиса 2 и адрес WireGuard-интерфейса на R2. Параметр Persistent Keepalive по умолчанию не задан, но его следует задать. Это необходимо для поддержания соединения в Connection Tracker и диагностики работоспособности туннеля.
Создать учетную запись (peer) WireGuard на R2. На R2 необходимо выполнить действия аналогичные действиям на R1, но в "зеркальном" виде. На R2 необходимо создать peer с открытым ключом WireGuard-интерфейса R1. А в параметре Preshared Key указать значение аналогичного параметра на R1. В параметре Allowed Address обязательно должен быть указан адрес внутренней сети офиса 1 и адрес WireGuard-интерфейса на R1. Также надо указать параметр Persistent Keepalive.
Назначить IP-адрес WireGuard-интерфейсу, созданному на первом шаге.
Через графический интерфейс
На R1
Рисунок 2. Настройка WireGuard-интерфейса на R1 через графический интерфейс Winbox 3.x |
Рисунок 3. Настройка WireGuard-интерфейса на R1 через графический интерфейс Winbox 4.x |
Рисунок 4. Создание учетной записи на WireGuard-интерфейсе через графический интерфейс Winbox 3.x |
Рисунок 5. Создание учетной записи на WireGuard-интерфейсе через графический интерфейс Winbox 4.x |
Рисунок 6. Настройка IP-адреса через графический интерфейс Winbox 3.x |
Рисунок 7. Настройка IP-адреса через графический интерфейс Winbox 4.x |
На R2
Рисунок 8. Настройка WireGuard-интерфейса через графический интерфейс Winbox 3.x |
Рисунок 9. Настройка WireGuard-интерфейса через графический интерфейс Winbox 4.x |
Рисунок 10. Создание учетной записи на WireGuard-интерфейсе через графический интерфейс Winbox 3.x |
Рисунок 11. Создание учетной записи на WireGuard-интерфейсе через графический интерфейс Winbox 4.x |
Рисунок 12. Настройка IP-адреса через графический интерфейс Winbox 3.x |
Рисунок 13. Настройка IP-адреса через графический интерфейс Winbox 4.x |
Через командную строку
На R1
/interface wireguard add disabled=no listen-port=13231 mtu=1420 name="WireGuard to Office-2" /interface wireguard peers add allowed-address=10.22.22.0/24,172.16.1.2/32 disabled=\ no endpoint-address=100.64.222.1 endpoint-port=13231 interface=\ "WireGuard to Office-2" name=office-2 persistent-keepalive=10s \ preshared-key=auto \ public-key="Zhd/wDVHKR4D6eR0e3jNi3PclUnLIWII2JMLJsRkCEM=" /ip address add address=172.16.1.1 interface="WireGuard to Office-2" network=172.16.1.2
На R2
/interface/wireguard add listen-port=13231 mtu=1420 name="WireGuard to Office-1" /interface/wireguard/peers add allowed-address=10.11.11.0/24,172.16.1.1/32 endpoint-address=\ 100.64.111.1 endpoint-port=13231 interface="WireGuard to Office-1" \ name=office-1 persistent-keepalive=10s preshared-key=\ "mG97X+HlKGJeAc/7SMITikkoleMxqXWUP3BT3Z5JC30=" public-key=\ "VLrTbn1VtxX1i/gftHDviRlsVhESYR/K9hPDKDPQ/Vc=" /ip/address add address=172.16.1.2 interface="WireGuard to Office-1" network=172.16.1.1
Чек-лист по настройке MikroTik Проверьте свою конфигурацию по 28-ми пунктам. Подходит для RouterOS v6 и v7. Дата публикации: июнь 2025.
Проверка WireGuard-соединения
Общее описание
В отличие от большинства других виртуальных интерфейсов, наличие флага «R» (running), т. е. «запущено» — не гарантирует наличие успешно установленного соединения. Ориентироваться необходимо на отличное от нулевого значение счетчика Rx в настройках узла (peer'а).
Проверка на первом маршрутизаторе
Проверка через графический интерфейс
Рисунок 14. Проверка работоспособности туннеля на R1 через графический интерфейс Winbox 3.x |
Рисунок 15. Проверка работоспособности туннеля на R1 через графический интерфейс Winbox 4.x |
Проверка на втором маршрутизаторе
Проверка через графический интерфейс
Рисунок 16. Проверка работоспособности туннеля на R2 через графический интерфейс Winbox 3.x |
Рисунок 17. Проверка работоспособности туннеля на R2 через графический интерфейс Winbox 4.x |
Потенциальные проблемы при установлении соединения
1. Некорректно указанный IP-адрес одного из двух участников.
2. Несовпадающие публичные ключи.
3. Блокировка соединения брандмауэром маршрутизатора MikroTik (IP Firewall Filter). Для того чтобы избежать этой проблемы, необходимо разрешить для WireGuard-пакетов протокол WireGuard – UDP-порт 13231 (порт по умолчанию, для одного интерфейса) Чтобы быстро понять, блокирует ли соединение именно брандмауэр MikroTik, можно ненадолго отключить все правила брандмауэра на обоих маршрутизаторах. Если после отключения правил соединение устанавливается, следует добавить соответствующие разрешающие правила. Кроме того, необходимо помнить, что правила брандмауэра должны рассматриваться как единое целое и их порядок имеет большое значение.
Настройка маршрутизации
Для передачи данных между двумя сетями недостаточно наличия VPN-соединения. Чтобы она стала возможной, на каждом устройстве нужно добавить маршрут к внутренней сети другого офиса через IP-адрес VPN-интерфейса противоположного маршрутизатора. Для этого необходимо:
- на маршрутизаторе R1 создать маршрут до внутренней сети офиса 2 (10.22.22.0/24) через VPN-интерфейс маршрутизатора R2 (172.16.1.2);
- на маршрутизаторе R2 создать маршрут до внутренней сети офиса 1 (10.11.11.0/24) через VPN-интерфейс маршрутизатора R1 (172.16.1.1).
Для такой настройки понадобятся два параметра:
- Dst. Address (dst-address), в котором нужно указать IP-адрес удаленной сети;
- Gateway (gateway), в котором нужно указать IP-адрес VPN-интерфейса противоположного маршрутизатора.
Маршрут к внутренней сети другого офиса в некоторых случаях можно настраивать не через IP-адрес VPN-интерфейса противоположной стороны, а через интерфейс, из которого будут исходить пакеты. Но такую возможность следует использовать только в некоторых случаях, и ее надо использовать с пониманием, зачем это делается.
Настройка маршрутизации на маршрутизаторе R1 (офис 1)
Через графический интерфейс
Рисунок 18. Настройка маршрутизации на R1 через графический интерфейс Winbox 3.x |
Рисунок 19. Настройка маршрутизации на R1 через графический интерфейс Winbox 4.x |
Через командную строку
/ip/route add dst-address=10.22.22.0/24 gateway=172.16.1.2
Настройка маршрутизации на маршрутизаторе R2 (офис 2)
Через графический интерфейс
Рисунок 20. Настройка маршрутизации на R2 через графический интерфейс Winbox 3.x |
Рисунок 21 Настройка маршрутизации на R2 через графический интерфейс Winbox 4.x |
Через командную строку
/ip/route add dst-address=10.11.11.0/24 gateway=172.16.1.1
Проверка маршрутизации
Проверка в головном офисе и в филиале
Если маршрутизация была правильно настроена, то данные между двумя сетями должны начать передаваться. Чтобы проверить корректность настройки, можно выполнить команду ping с компьютера в одной сети до компьютера в другой сети. Но здесь возможны нюансы. Некоторые антивирусы блокируют ICMP-запросы, и поэтому ping'и могут не проходить. Более того, некоторые антивирусы, например антивирус Касперского, умеют блокировать ICMP-запросы из других сетей и при этом не блокировать такие же запросы из своей сети. Поэтому если ping'и с компьютера на компьютер не проходят, то рекомендуется проверить прохождение ICMP-запросов с компьютера в локальной сети до внутреннего интерфейса маршрутизатора в другой сети. Для этого необходимо:
- при проверке из офиса 1 запустить ping до IP-адреса 10.22.22.1;
- при проверке из офиса 2 запустить ping до IP-адреса 10.11.11.1.
Если такие ping'и проходят, то с вероятностью 100 % VPN-соединение и маршрутизация с обеих сторон настроены корректно и с вероятностью 99 % проблему нужно искать не на маршрутизаторах. При этом существует 1-процентная вероятность того, что причиной невозможности передачи данных являются какие-то другие неверные настройки.
Потенциальные проблемы при маршрутизации
Если маршрутизация между двумя маршрутизаторами MikroTik не выполняется, необходимо проверить следующее:
- Настройки маршрутизации на обоих маршрутизаторах.
- Настройки Allowed Address у peer на обоих маршрутизаторах.
- Настройки брандмауэра на компьютере, который пингуется. Для надежности можно временно отключить встроенный брандмауэр и антивирус, чтобы исключить их влияние на ICMP-запросы.
Распространенной ошибкой является использование технологии NAT для данных, маршрутизируемых между удаленными сетями. Это действительно может потребоваться, но только в некоторых частных случаях. Например, если нет возможности внести изменения в таблицу маршрутизации на одном из маршрутизаторов. Если же такая возможность есть, но при этом данные начинают маршрутизироваться только при использовании NAT, то с вероятностью 99 % имеется ошибка в настройках маршрутизации.
Причины низкой скорости
Если скорость передачи данных между офисами значительно ниже скорости самого медленного интернет-канала, то необходимо проверить следующее:
- Хватает ли ресурсов процессора.
- Нет ли проблем с MTU. Проблема чаще всего наблюдается при использовании множества вложенных туннелей. Например, если WireGuard-туннель передается через PPPoE-туннель от интернет-провайдера.
Полезные ссылки
Онлайн-курсы по MikroTik
- Администрирование сетевых устройств MikroTik
- Файрвол и приоритизация трафика на MikroTik
- Маршрутизация на MikroTik
- Коммутация на MikroTik
Онлайн-курсы по сетям
- Математика и физика в сетевых технологиях
- Архитектура современных компьютерных сетей
- Устройство, проектирование и диагностика беспроводных сетей IEEE 802.11 (Wi-Fi)
Telegram-каналы
Telegram-чат
Прочее