Ваши темы для Вебинаров

В Москве:

РФ (звонок бесплатный):

+7 (495) 103-99-88 +7 (800) 600-20-56

WireGuard в Mikrotik

13699


В этой статье мы рассмотрим VPN-протокол WireGuard и его настройку на оборудовании Mikrotik.

В чем преимущества WireGuard?

  • Работает только по Layer 3
  • Включен в Linux kernel
  • Работает только по UDP/ Неплохо проходит firewall /Нет проблем с NAT
  • Современная криптография
  • Прост в использовании и аудите
  • Модель аутентификации схожа с SSH

Сравним WireGuard с другими VPN-протоколами:

Рисунок 1 – Сравнение с конкурентами
Сравнивая WireGuard со своими конкурентами по количеству строк, можно сказать, что он является очень маленьким и простым VPN-протоколом.

Рассмотрим настройку данного VPN на оборудовании Mikrotik.

На оборудовании Mikrotik WireGuard появился с версии RouterOS7.1.

Мы можем настроить VPN-туннель между двумя оборудованиями Mikrotik через Интернет (версия RouterOS7.4).

  1. Первым делом создадим WireGuard интерфейс.
  2.  

    /interface/wireguard/add name=wireguard1 mtu=1420 listen-port=13231

    Рисунок 2 – WireGuard интерфейс

    Можно сделать как клиентскую, так и серверную часть. Клиентская часть будет подключаться к серверу, а серверная – ждать подключения.

  3. Далее необходимо на созданный интерфейс назначить какой-либо IP-адрес.
  4.  

     /ip/address/add address=10.1.1.1/24 interface=wireguard1 

    Рисунок 3 – Address

  5. После этого, уже в настройках второго оборудования, точно так же создаем VPN-интерфейс.
  6.  
    Рисунок 4 – WireGuard интерфейс

  7. Далее необходимо создать Peers как на сервере, так и на клиенте.
  8.  

    add interface=wireguard1 public-key=(PublickKey) endpoint-address=198.51.100.254 endpoint-port=443 allowed-address=10.1.1.0/24,172.29.1.0/24

    Рисунок 5 – WireGuard Peer

    Поле Public Key у клиента заполняется с данных интерфейса сервера, а у сервера берется с данных клиента, т.е. происходит обмен публичными кодами.

    Peers всегда привязываются к интерфейсам, и к каждому интерфейсу их может быть привязано несколько.

    С клиентской стороны один интерфейс привязывается к одному серверу.

  9. Дальше в настройках клиента мы должны прописать, куда будем подключаться, т.е. указать внешний IP-адрес сервера, куда будем получать доступ.
  10.  
    Рисунок 6 – WireGuard Peer

    Для этого копируем внешний IP-адрес сервера и вставляем в поле Endpoint.

    Рисунок 7 – Address

    Данные для поля Endpoint Port берутся из поля Listen Port сервера (можно использовать общедоступные порты для лучшего прохождения Firewall, например, 443).

  11. В Peers сервера указываем, какой адрес будет иметь клиент
  12.  
    Рисунок 8 – WireGuard Peer

    И указываем этот адрес на WireGuard Interface.

    Рисунок 9 – Address

  13. На клиенте в Allowed Address можно прописать сеть, которая находится за WireGuard сервером.
  14.  
    Рисунок 10 – WireGuard Peer

  15. Проверить связь между устройствами можно через терминал.
  16. Со стороны клиента прописываем IP-адрес сервера, а со стороны сервера – адрес клиента.

    Рисунок 11 – Terminal

Если же нужна маршрутизация, то есть, например, нужно прописать маршруты в сеть, которая находится у сервера, выполняем следующие действия:

  1. Выбираем из таблицы маршрутизации сеть.
  2.  
    Рисунок 12 – New Route

  3. В настройках клиента WireGuard Peer прописываем этот адрес.
  4.  
    Рисунок 13 – WireGuard Peer

  5. Кроме этого, добавляем эти данные в таблицу маршрутизации.
  6.  
    Рисунок 14 – New Route

  7. Проверяем работу в терминале, прописав адрес.
  8.  
    Рисунок 15 – Terminal

Чтобы была связь между сетями, нужно на сервере прописать маршрут в обратную сторону.

  1. Для этого из таблицы маршрутизации выбираем один маршрут и копируем его адрес.
  2.  
    Рисунок 16 – Route

  3. То же самое делаем на сервере WireGuard, указываем в Peers скопированный адрес.
  4.  
    Рисунок 17 – WireGuard Peer

  5. В таблице маршрутизации добавляем новый маршрут с этими данными.
  6.  
    Рисунок 18 – Route

  7. В терминале проверяем адрес командой ping.

Также можно проверить работу сети, которая находится за сервером.

Рисунок 19 – Terminal
Большинство настроек WireGuard находятся в ручном режиме.

Аутентификация проходит на уровне Public Key, именно здесь и заключается простота данного VPN-протокола.

На этом обзор WireGuard закончен.


  • MTCRE

    13 - 16 мая 10.00 - 18.00
  • MTCSE

    20 - 23 мая 10.00 - 18.00
  • MTCNA

    17 - 20 июня 10.00 - 18.00
  • MTCNA

    24 - 27 июня 10.00 - 18.00
  • MTCNA

    09 - 12 июля 10.00 - 18.00
  • MTCNA

    15 - 18 июля 10.00 - 18.00
  • MTCRE

    05 - 08 августа 10.00 - 18.00
  • MTCWE

    16 - 19 сентября 10.00 - 18.00

Курсы Mikrotik-Training.

Знания, которые дают результат.