Инструменты пользователя

Инструменты сайта


mikrotik:vpn_wireguard

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

lonebuddha 2023/05/14 06:53

Задача

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

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

  • Роутер MikroTik под упрравлением RouterOS
  • Использование протокола WireGuard

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

В 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
  • переменная new-routing-mark указывает на созданную таблицу маршрутизации
  • переменная src-address-list указывает на созданный списк клиентов для использования VPN
  • переменная dst-address-list указывает на инвертный список приватных сетей, исключая из направляемого в 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
  • переменная gateway указывает на созданный WireGuard интерфейс
  • переменная routing-table указывает на созданную таблицу маршрутизации

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

/www/sites/dokuwiki.win-labs.ru/www/data/pages/mikrotik/vpn_wireguard.txt · Последнее изменение: 2024/03/05 15:13 — 127.0.0.1

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki