Содержание

Настройка VPN на роутере MikroTik с использованием WireGuard

lonebuddha 2023/05/14 06:53

Задача

Настроить VPN туннель на роутере MikroTik под упрравлением RouterOS для перенаправления части/всего трафика локальной сети через туннель.

Исходные данные

Вместо вступления

В internet участились ситуации блокировок доступа к ресурсам для Российского пула IP адресов. Одно из возможных решений проблемы это использование технологии VPN скрытия реального IP адреса. Для реализвции необходим VPN сервер имеющий IP адреса не попадающие в заблокированные пулы, то есть реально расположенный в заграничных датацентрах, и предоставлюющий возможность подключения по протоколу WireGuard.

Первоначально необходимо убедиться, что Ваше устройство поддерживает протокол WireGuard. Поддержка протокола WireGuard появилась в RouterOS с версии 7. Если необходимо обновите Вапше устройство

Необходимая для настройки информация

Всю необходтиую для настройки информацию можно получить на VPN сервере, после регистрации, а именно

  1. Приватный ключ клиента (Private User key)
  2. IP адрес клиентской стороны туннеля (IP tunnel)
  3. IP адрес или dns имя сервера (Endpoint)
  4. Порт сервера (Endpoint Port)
  5. Пудличный ключ сервера (Public Server key)

Настройка MikroTik

Создание интерфейса WireGuard

/interface wireguard
add listen-port=<Endpoint Port> mtu=1420 name=wireguard-test private-key="<Private User key>"

Создание настроек подключения к серверу

/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=<Endpoint> endpoint-port=<Endpoint Port> \
interface=wireguard-test public-key="<Public Server key>"

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

/ip address
add address=<IP tunnel> interface=wireguard-test

Создание списка клиентов для использования VPN

/ip firewall address-list
add address=<ip> list=ip-to-vpn
add address=192.168.0.0/16 list=privat-ip
add address=172.16.0.0/12 list=privat-ip
add address=10.0.0.0/8 list=privat-ip

К качесве ip может быть адрес одного компютера или адрес подсети

Создание таблицы маршрутизации

/routing table
add disabled=no fib name=vpn

Модификация NSS

/ip firewall mangle
add action=change-mss chain=forward comment="Modification MSS" new-mss=clamp-to-pmtu passthrough=yes \
protocol=tcp tcp-flags=syn

Маркировка трафика

/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark trafic to VPN" dst-address-list=!privat-ip \
new-routing-mark=vpn passthrough=no src-address-list=ip-to-vpn

Создание маршрута

/ip route
add disabled=yes distance=1 dst-address=0.0.0.0/0 gateway=wireguard-surfshark pref-src="" routing-table=vpn \ 
scope=30 suppress-hw-offload=no target-scope=10

Информация взята https://www.youtube.com/watch?v=4rRZGcQM07U