Как завернуть трафик в vpn mikrotik
Перейти к содержимому

Как завернуть трафик в vpn mikrotik

  • автор:

Настройка маршрутизации трафика через VPN в RouterOS

В качестве домашней точки доступа я использую маршрутизатор MikroTik hAP ac2. Я выбрал его из-за обилия настроек и возможности реализации таких сценариев которые недоступны его конкрурентам.

mikrotik hap ac2

Один из таких сценариев — настройка автоматического соединение с некоторыми хостами через VPN.

Зачем это может быть нужно:

  • Сайт недоступен из интернета. Например, он находится в корпоративной сети
  • Вы не хотите чтобы провайдер знал что вы посещаете данный сайт
  • У сайта есть ограничения на доступ из вашей локации. Spotify или Telegram

Итак, предположим что у вас уже есть настроенный роутер, вы приобрели доступ к VPN и настроили подключение к нему.

В моем случае используется сервер на Digital Ocean. Для поднятия собственного vpn сервера можно использовать установку в один клик

worked vpn on mikrotik

После настройки соединения с VPN, этот маршрут станет доступным на роутере, но трафик не будет направлен через данный интерфейс. Если мы хотим сделать чтобы весь трафик направлялся через VPN, для этого достаточно сделать интерфейс VPN маршрутом по умолчанию, предварительно удалив стандартный.

/ip firewall nat add action=masquerade chain=srcnat out-interface=vpn-digitalocean 

Второй вариант, как я уже писал выше, это направление через VPN трафика только до определенных заранее хостов.

Для этого нам необходимо:

  • Создать в firewall лист адресов, трафик до которых будет маршрутизировать через VPN
  • Добавить правило для маркировки нашего трафика определенной меткой
  • Создать правило маршрутизации, чтобы пакеты помеченные меткой направлялись через интерфейс VPN
Добавляем лист адресов в firewall
/ip firewall address-list add address=104.154.127.47 list=spotify add address=78.31.8.0/21 list=spotify 

Теперь у нас появился лист адресов, который мы назвали spotify

spotify list

Создаём правило маркировки трафика
/ip firewall mangle add action=mark-routing \ chain=prerouting \ comment="Mark Spotify" \ dst-address-list=spotify \ new-routing-mark=mark_vpn \ passthrough=no \ src-address=10.0.0.0/24 

Мы создали правило, в котором определяем все обращения к хостам из списка spotify ( dst-address-list=spotify ) и довляем к ним метку mark_vpn ( new-routing-mark=mark_vpn ). src-address=10.0.0.0/24 указан для маршрутизации обращений из нашей локальной сети, возможно у вас другие диапазоны, например 192.168.0.0/24 , тогда нужно исправить.

Параметр passthrough=no нужен для уменьшения потребляемых ресурсов при обработке трафика, подробнее в документации.

Для названия метки я выбрал mark_vpn , это нужно для универсальности. В дальнейшем, когда появятся другие листы адресов, для них не придется создавать отдельные правила.

Настраиваем маршрутизацию маркированных пакетов
/ip firewall nat add action=masquerade chain=srcnat out-interface=vpn-digitalocean routing-mark=mark_vpn 

Мы создали правило, которое аналогичному тому что было в «первом сценарии», за исключением того что оно обрабатывает только пакеты которые помечены специальной меткой routing-mark=mark_vpn .

Дополнительная информация

Заворачиваем весь трафик с бриджа в VPN

Представим ситуацию: к вам часто приходят гости или у вы хотите помочь своим соседям с бесплатным Wi-Fi (без пароля), но не хотите, чтобы все запросы шли через аплинк вашего провайдера, в том числе по причине Cookies.

1. Создаем VRF, в который добавляем: L2TP-client до нашего VPN-сервера и интерфейс, с которого будет идти трафик, например, Wi-Fi-интерфейс или целый Bridge:

/ip route vrf add interfaces=Bridge_Free_Wi-Fi,L2TP-client1 routing-mark=free-wifi-to-vpn

2. Добавляем маршрут по умолчанию с указанием routing-mark, обязательно ставьте distance, отличный от 1, иначе можете потерять другие свои PPP-соединения:

/ip route add distance=3 gateway=L2TP-client1 routing-mark=free-wifi-to-vpn

3. Наконец, создаем правило NAT для ната трафика с нашей сети с Wi-Fi, в моем случае: 192.168.222.0/28 (раздается по DHCP) через L2TP-client1 (remote address: 192.168.77.20):

/ip firewall nat add action=src-nat chain=srcnat out-interface=L2TP-client1 src-address=192.168.222.0/28 to-addresses=192.168.77.20

Подключаемся к SSID Wi-Fi, в котором трафик заворачивается в VPN и проверяем результат:

Как завернуть трафик в vpn mikrotik

Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.

Направить весь трафик через VPN Wireguard

Раздел для тех, кто начинает знакомиться с MikroTik

Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку «Действия до настройки роутера».
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.

3 сообщения • Страница 1 из 1
EmilTk Сообщения: 2 Зарегистрирован: 28 сен 2022, 23:46

Столкнулся с проблемой направления всего пользовательского трафика через VPN Wireguard.
Имеется mikrotik mAP Lite, который подключается к VPN серверу Wireguard, и все подключенные к нему клиенты по wi-fi должны ходить в Интернет через VPN туннель.

Интерфейс подключения к серверу WG настроил, с mAP вижу всю сеть в туннеле, но не получается завернуть весь пользовательский трафик через этот интерфейс. Если делать трассировку с выбранного интерфейса wireguard1 то трафик идет через него.

/interface wireless set [ find default-name=wlan1 ] disabled=no mode=ap-bridge ssid=mAP \ wireless-protocol=802.11 /interface wireguard add listen-port=13231 mtu=1420 name=wireguard1 /interface list add name=WAN add name=LAN /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk mode=\ dynamic-keys supplicant-identity=MikroTik /ip hotspot profile set [ find default=yes ] html-directory=hotspot /ip pool add name=dhcp ranges=192.168.88.100-192.168.88.120 /ip dhcp-server add address-pool=dhcp interface=wlan1 name=dhcp1 /routing table add disabled=no fib name=rtab-VPN /interface list member add interface=ether1 list=WAN add interface=wlan1 list=LAN /interface wireguard peers add allowed-address=0.0.0.0/0 endpoint-address= endpoint-port=\ 13321 interface=wireguard1 public-key=" /ip address add address=192.168.88.1/24 interface=wlan1 network=192.168.88.0 add address=10.255.255.11/24 interface=wireguard1 network=10.255.255.0 /ip dhcp-client add interface=ether1 /ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 netmask=24 /ip dns set allow-remote-requests=yes servers=8.8.8.8 /ip firewall filter add action=accept chain=input protocol=icmp add action=accept chain=input connection-state=established add action=accept chain=input connection-state=related add action=drop chain=input in-interface-list=!LAN /ip firewall nat add action=masquerade chain=srcnat out-interface-list=WAN /ip route add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wireguard1 \ routing-table=rtab-VPN scope=30 suppress-hw-offload=no target-scope=10 /routing rule add action=lookup-only-in-table disabled=no dst-address=192.168.88.0/24 \ src-address=192.168.88.0/24 table=main add action=lookup-only-in-table disabled=no dst-address=0.0.0.0/0 src-address=\ 192.168.88.0/24 table=rtab-VPN 

Подскажите, пожалуйста, что я делаю не так, как правильно настроить маршрут для клиентов Wi-Fi через шлюз wireguard1?

Mikrotik отправляем выборочно трафик через VPN

В продолжении этой статьи, в которой мы научили Mikrotik подключаться к VPN серверу по протоколу L2TP, в этой заметке рассмотрим выборочное (по списку) перенаправление исходящего трафика через VPN сервер.
В двух словах для чего это может понадобится.
Реальная история, есть прекрасный OpenSource проект архиватора 7-zip, в погоне за блокировкой Telegram местный провайдер прихлопнул и его:).
На этом примере рассмотрим, как получить доступ к 7-zip, соответственно при условии, что данный ресурс доступен из VPN сервера:)

Немного вводных данных:

  • Считаем, что VPN клиент на Mikrotik настроен и работает
  • Имя интерфейса L2TP клиента — marvins
  • Имя списка с IP адресами — rkn
  • Адрес локальной сети — 10.200.6.0/24

Суть материала — мы создадим список (Address List) ресурсов (IP адреса) под именем rkn, далее весь исходящий трафик будет просматриваться и при совпадении из списка rkn данный трафик будет помечаться маркером и при наличии этого маркера будет пересылаться через VPN соединение:)

В списке у нас будет фигурировать всего один IP адрес, для теста нам этого хватит:

/ip firewall address-list add list=rkn address=159.65.89.65

Либо ручками: IP—>Firewall—>Address List
Добавляем mangle правило, которое будет маркировать трафик:

/ip firewall mangle add action=mark-routing chain=prerouting dst-address-list=rkn new-routing-mark=\ rkn passthrough=yes src-address=10.200.6.0/24

Или руками:) IP—>Firewall—>Mangle

img-4

Теперь нам осталось настроить роутинг маркированного трафика:

/ip route add distance=1 gateway=marvins routing-mark=rkn

Ну или руками:) IP—>Routes

Проверяйте — должно работать:)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *