Cloudflare Warp в MikroTik, настройка бесплатного VPN

cloudflare warp в mikrotik
Инструкция описывает настройку клиента Cloudflare Warp (служба 1.1.1.1) в MikroTik RouterOS v7. Для создания конфигурации WireGuard применяется утилита ViRb3/wgcf, формирующая бесплатный профиль для импорта в маршрутизатор MikroTik. Пример демонстрирует полный процесс, включая маршрутизацию интернет-трафика через интерфейс WireGuard. В качестве оборудования используется MikroTik hAP ax² с прошивкой RouterOS v7.14.3.
РЕКОМЕНДАЦИЯ
Наша команда советует изучить углубленный курс по администрированию сетевых устройств MikroTik.
В курсе много лабораторных работ по итогам которых вы получите обратную связь.
После обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.
Cloudflare представила бесплатный VPN-клиент Cloudflare Warp, предназначенный для систем Ubuntu, Windows, а также смартфонов под управлением Android и iOS. На маршрутизаторы MikroTik установить приложение нельзя, но его функциональность доступна через настройку VPN-туннеля WireGuard с использованием параметров Warp.
cloudflare warp
Бесплатный VPN-клиент Cloudflare Warp выпущен для Ubuntu, Windows, а также мобильных устройств на базе Android и iOS. На маршрутизаторах MikroTik приложение установить невозможно; однако его параметры можно задействовать, настроив VPN-туннель WireGuard.
Выбор Cloudflare Warp обоснован нулевой стоимостью, шифрованием трафика и отсутствием ограничений скорости.
Создание Cloudflare Warp(1.1.1.1) WireGuard конфигурации
Для генерации WireGuard конфигурации Cloudflare Warp будет использоваться утилита https://github.com/ViRb3/wgcf
Скачать утилиту ViRb3/wgcf
wget https://github.com/ViRb3/wgcf/releases/download/v2.2.19/wgcf_2.2.19_linux_386
Создать Cloudflare Warp account
./wgcf_2.2.19_linux_386 register
создать cloudflare warp account
Сгенерировать WireGuard конфигурацию
./wgcf_2.2.19_linux_386 generate
cloudflare warp в mikrotik сгенерировать wireguard конфигурацию
Настройка Cloudflare Warp(1.1.1.1) в MikroTik
После создания конфигурации WireGuard утилита сохраняет файл wgcf-profile.conf, в котором находятся сгенерированные параметры.
Просмотреть WireGuard конфигурацию
cat wgcf-profile.conf

[Interface]
PrivateKey = 2M6poD88ObeXXXXXXXXXXXXXXXXXXXXXXXX=
Address = 172.16.0.2/32
Address = 2606:4700:110:8de3:eed5:e8bf:f8dd:a79f/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxYYYYYYYYYYYYYYYYYYYYYYYYYYY=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408
Все приведённые параметры конфигурируются непосредственно на стороне маршрутизатора MikroTik.
Создание интерфейса WireGuard клиента
Перейдем в WireGuard→WireGuard
создание интерфейса wireguard клиента
Private Key — скопировать значение параметра PrivateKey из файла wgcf-profile.conf, полученного при генерации конфигурации WireGuard.
MTU — задать параметр из того же файла; в рассматриваемом примере указано значение 1280.
Настройка параметров peer в WireGuard клиенте
Для задания параметров требуется перейти в раздел WireGuard → Peers.
настройка параметров peer в wireguard клиенте
Public Key — скопировать значение параметра PublicKey из файла wgcf-profile.conf, сформированного при создании конфигурации WireGuard.
Endpoint — указать внешний DNS-адрес Cloudflare Warp, приведённый в параметре Endpoint.
Endpoint Port — задать порт подключения, расположенный после DNS-имени в Endpoint (например, engage.cloudflareclient.com:2408).
Allowed Address — вписать 0.0.0.0/0, направив тем самым весь интернет-трафик в Cloudflare Warp.
Persistent Keepalive — интервал, в течение которого после обрыва туннеля выполняются попытки его восстановления; в течение этого времени соединение остаётся помеченным как UP.
Добавить WireGuard интерфейс в список WAN
Переходим в Interfaces→Interface List
добавить wireguard в список wan
Настроить Masquerade для WireGuard
Следует проверить наличие правила NAT типа masquerade, использующего список WAN в поле Out interface list. При отсутствии правила необходимо создать новое и в поле Out interface выбрать ранее сконфигурированный интерфейс WireGuard.
Настройка выполняется в разделе IP → Firewall → NAT.
настроить masquerade для wireguard клиента
Создать таблицу маршрутизации для WireGuard
Настройка выполняется в разделе Routing→Tables
создать таблицу маршрутизации для wireguard
Назначить IP адрес WireGuard клиенту
Перейдем в раздел IP→Addresses
назначить ip адрес wireguard клиенту
Поле Address заполняется значением 172.16.0.2/24, взятым из параметра Address в файле wgcf-profile.conf, созданном при генерации конфигурации WireGuard.
Промаркировать таблицу для выхода в интернет
Функция маркировки (Mangle) позволяет пометить таблицу маршрутизации так, чтобы в неё попадал весь трафик, кроме пакетов, адресованных локальной сети. Тем самым маркируется именно интернет-трафик.
Настройка выполняется в разделе IP → Firewall → Mangle.
настройка мангл для wireguard
настройка mangle для wireguard
Добавить статический маршрут для интернета через WireGuard
Промаркированная таблица маршрутизации перенаправляется в туннель WireGuard, обеспечивая выход во внешний Интернет через сервер Cloudflare Warp.
Конфигурация выполняется в разделе IP → Routes.
добавить статический маршрут для интернета через wireguard
Поле Gateway следует заполнить значением 172.16.0.1, которое предполагается IP-адресом сервера WireGuard. Параметр отсутствует в клиентской конфигурации и вводится вручную.
Полная конфигурация Wireguard
/interface wireguard
add listen-port=13231 mtu=1280 name=Wireguard-Client

/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=engage.cloudflareclient.com endpoint-port=\
2408 interface=Wireguard-Client persistent-keepalive=10s public-key=\
"bmXOC+F1FxYYYYYYYYYYYYYYYYYYYYYYYYYYY="

/ip address add interface=Wireguard-Client address=172.16.0.2 netmask=255.255.255.0
/interface list member
add comment=defconf interface=Wireguard-Client list=WAN

/routing table
add disabled=no fib name=To-WireGuard

/ip firewall mangle
add action=mark-routing chain=prerouting dst-address=!192.168.88.0/24 \
new-routing-mark=To-WireGuard src-address=192.168.88.0/24

/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=172.16.0.1 routing-table=\
To-WireGuard suppress-hw-offload=no
Проверка скорости Cloudflare Warp
cloudflare warp в mikrotik тест скорости
Медленно работает WireGuard VPN
В отдельных случаях пропускная способность туннеля WireGuard снижается до 1–3 Мбит/с. Исправить ситуацию позволяет правило, принудительно уменьшающее размер пакетов, проходящих через VPN-туннель WireGuard:
/ip firewall mangle add out-interface=Wireguard-Client protocol=tcp tcp-flags=syn action=change-mss new-mss=1380 chain=forward tcp-mss=1381-65535
РЕКОМЕНДАЦИЯ
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в углубленном курсе «Администрирование сетевых устройств MikroTik». В курсе много практических лабораторных работ по результату выполнения которых вы получите обратную связь. После окончания обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.