Настраиваем подключение WireGuard на MikroTik

WireGuard на Mikrotik

В этой статье вы узнаете как быстро настроить WireGuard на MikroTik. Сразу хочу сказать, что такая возможность появилась только в RouterOS 7, поэтому если вы еще не обновились до нее, самое время это сделать.

Для некоторых, вопрос о переходе на RouterOS 7 может быть спорным. Если вы сомневаетесь, что после обновления у вас все будет работать нормально, лучше проведите предварительное тестирование. Лично у меня на MikroTik CCR обновление прошло спокойно, тунели, скрипты и все прочее работает без сбоев и проблем.

Итак, предполагается, что у вас уже есть WireGuard сервер. Процесс установки WireGuard на Ubuntu я описал в этой статье. Вам необходим конфиг подключения для клиента. Он создается вместе с QR-кодом при создании нового клиента WireGuard и имеет примерно такой вид:

[Interface]
PrivateKey = oLANp72uJp2W2uhyd5WmJWqZheYMXGHQfJY/SNbE6mU=
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1

[Peer]
PublicKey = pHqTm8RdG76P3W65lM7oN9HiggJrrC88r/lezCR0Ak8=
PresharedKey = gexI+cOQCKaPFl9eH26ebCLSO5ZfaRYEXrT1TPWNV+c=
Endpoint = 5.5.5.5:62085
AllowedIPs = 0.0.0.0/0,::/0

Здесь 5.5.5.5 – вымышленный IP сервера WireGuard.

Приступаем к настройке WireGuard на MikroTik.

Настройка WireGuard на MikroTik

Открываем раздел WireGuard и добавляем новый интерфейс. Вписываем любое название интерфейса, к примеру vpn и вставляем Private Key из раздела [Interface] конфига клиента WireGuard, т.е. в нашем примере это oLANp72uJp2W2uhyd5WmJWqZheYMXGHQfJY/SNbE6mU=

ВНИМАНИЕ: Private Key нужно вставлять сразу при создании интерфейса, нельзя делать этого потом, иначе у интерфейса будет сгенерирован не тот Public Key и туннель работать не будет.

Затем в IP->Addresses создаем ip адрес для интерфейса, все данные есть в разделе [Interface] конфига клиента.

Настройка WireGuard на MikroTik

Затем включаем маскарадинг для интерфейса. Заходим в IP->Firewall->NAT, добавляем правило:

  • Chain: srcnat
  • Out interface: vpn
  • Action: masquerade

Затем создаем пира в WireGuard->Peers и прописываем ему настройки из раздела [Peer] конфига клиента WireGuard.

Настройка WireGuard на MikroTik

Если ваш микротик находится за NAT, можно указать Persistent Keepalive секунд на 20-25.

На этом настройка завершена.

Список команд для терминала для тех же действий:

/interface wireguard add name=vpn private-key="oLANp72uJp2W2uhyd5WmJWqZheYMXGHQfJY/SNbE6mU="
/ip address add address=10.66.66.2/24 interface=vpn network=10.66.66.0
/ip firewall nat add action=masquerade chain=srcnat out-interface=vpn
/interface wireguard peers add allowed-address=0.0.0.0/0 endpoint-address=5.5.5.5 endpoint-port=62085 interface=vpn public-key="pHqTm8RdG76P3W65lM7oN9HiggJrrC88r/lezCR0Ak8=" preshared-key="gexI+cOQCKaPFl9eH26ebCLSO5ZfaRYEXrT1TPWNV+c="

Только не забудьте заменить параметры на свои.

Дальше вам остается только решить вопрос с маршрутизацией. Вы можете завернуть весь трафик в сторону нового интерфейса в IP->Routes или заворачивать определенный трафик по маркировке. Если вы хотите узнать, как маршрутизировать через vpn определенные сайты или подсети, я пару лет назад писал об этом в статье про обход блокировки.