Содержание
Настройка 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 сервере, после регистрации, а именно
- Приватный ключ клиента (Private User key)
- IP адрес клиентской стороны туннеля (IP tunnel)
- IP адрес или dns имя сервера (Endpoint)
- Порт сервера (Endpoint Port)
- Пудличный ключ сервера (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
