0

WireGuard MikroTik, VPN между MikroTik, Ubuntu, Windows

Инструкция по настройке VPN туннеля типа WireGuard между двумя роутерами MikroTik, Ubuntu и MikroTik, Windows и MikroTik. Для детального изучения параметров Wireguard добавлено описание по использованию. В manual также можно встретить примеры с картинками, конфигурацию Wireguard как сервера так и клиента и общие комментарии по настройке.

Для WireGuard популярные две схемы настроек:

Соединение типа peer-to-peer. Когда инициатором(initial) может выступать любая из сторон участников WireGuard туннеля. Главное требование к такому типу подключения – наличие двух белых(статических) IP адресов со стороны роутеров MikroTik;
WireGuard клиент подключается к WireGuard серверу. Соответственно WireGuard клиент считается инициатором подключения, WireGuard сервер отвечающей(responder или passive) или слушающей стороной. Требование по наличию белого(статического) IP при этом снижается до WireGuard сервера.

На момент написания инструкции используется RouterOS v 7.16.2

WireGuard между роутерами MikroTik

1. Настройка WireGuard сервера на MikroTik Создать интерфейс

Назначить IP адрес
Настройка WireGuard Peer
Настройка статической маршрутизации к клиенту

2. Настройка WireGuard клиента на MikroTik Создать интерфейс

Назначить IP адрес
Настройка WireGuard Peer
Настройка статической маршрутизации к серверу

3. Настройка Firewall для WireGuard подключения

4. Задать вопрос по настройке MikroTik

WireGuard между Ubuntu и MikroTik

1. Настройка WireGuard клиента на MikroTik 2. Создать интерфейс
3. Настройка WireGuard Peer
4. Настройка NAT

5. Маркировка интернет трафика
6. Статический маршрут интернет трафика 7. Задать вопрос по настройке MikroTik

WireGuard между MikroTik и Windows

1. Настройка Windows WireGuard клиента 2. Создать WireGuard интерфейс
3. Назначить IP адрес
4. Скачать Windows клиент

5. Создать WireGuard клиент
6. Создать WireGuard Peer
7. Обновить конфигурацию для WireGuard клиента 8. Скопировать конфигурацию в WireGuard клиент 9. Подключиться к WireGuard серверу

10. Проверить работу интернета через WireGuard

11. Задать вопрос по настройке MikroTik

Настройка WireGuard сервера на роутере MikroTik

В качестве WireGuard клиента и WireGuard сервера будут выступать роутеры MikroTik.

Настройка WireGuard интерфейса на сервере

Настройка находится WireGuardWireGuard

Listen Port – порт, на котором будет работать WireGuard;
Private key – ключ который не будет задействован в настройках;
Public key – данный ключ будет нужно указать в настройках WireGuard клиента.

Значение Private key заполнять не нужно, оно будет создано автоматически при создании WireGuard интерфейса.

Назначить IP адрес для WireGuard сервера

IP адрес для WireGuard сервера является технической настройкой и будет использоваться при настройке статической маршрутизации для обмена трафика между сетями WireGuard сервера и WireGuard клиента.

Настройка находится IPAddress

Настройка параметров клиента в WireGuard сервере

WireGuard Peer содержит настройки для клиента VPN туннеля. Тут описываются ключи доступа, а также разрешающие правила доступов, для обмена трафика между подсетями.

Настройка находится WireGuardPeers

Public Key – клиентский Public Key, который сгенерировался при создании интерфейса; Allowed Address – список разрешенных IP адресов(внутренних). Тут указан IP адрес интерфейса WireGuard клиента и подсеть за ним;
Persistent Keepalive – при падении VPN туннеля, это время будет отводиться на его восстановление и будет считаться, что статус VPN все ещё UP;

Endpont и Endpont Port нужно оставить пустыми, это позволит не обращать внимание на аналогичные параметры со стороны клиента. WireGuard сервер данными параметрами переводится в статус отвечающий(responder или passive) или слушающий стороны.

Настройка маршрутизации WireGuard сервера

Для обмена трафика между двумя подсетями роутеров MikroTik будет использоваться статическая маршрутизация, с помощью которой соответствующий трафик будет направляться через WireGuard VPN туннель.

Настройка находится IPRoutes

Dst. Address IP адрес или целая подсеть, к которой необходимо получить доступ за WireGuard клиентом;
Gateway – внутренний IP адрес WireGuard клиента.

/interface wireguard
add listen-port=13231 mtu=1420 name=WG0
/interface wireguard peers
add allowed-address=0.0.0.0/0 interface=WG0 \ 
persistent-keepalive=25s \ publickey="SO4l7YTMMqssgHcWbcIjtuGHO+dz2wENnpoK6hXWEyE="
/ip address
add address=10.66.66.3/24 interface=WG0 network=10.66.66.0
/ip route
add disabled=no distance=1 dst-address=172.16.0.0/24 gateway=WG0 \
pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
target-scope=10