0

mikrotik

Настройка выборочного доступа к сайтам через VPN на роутерах Mikrotik

В нашем случае будет использоваться OpenVPN сервер на базе бесплатного VPS от Oracle с расположением в США. Вы можете использовать любой доступный вариант, а о настройке Mikrotik в качестве VPN-клиента для различных типов подключения вы можете более подробно прочитать в нашей статье.

При создании подключения в обязательном порядке снимите флаг Add Default Route, нам не требуется направлять весь трафик в VPN-канал, а маршрутизацию мы настроим позже вручную.

Mikrotik-VPN-internet-001.pngДля того, чтобы клиенты нашей локальной сети могли выходить в интернет через VPN-подключение, следует настроить NAT. Для этого перейдем в IP – Firewall – NAT и создадим новую запись со следующими параметрами: Chain – srcnatSrc. Address – диапазон вашей локальной сети, Out. Interface – интерфейс вашего VPN-подключения, в нашем случае это выглядит так:

Mikrotik-VPN-internet-002.pngЗатем перейдите на закладку Action и укажите требуемое действие: masquerade. Также можно быстро выполнить все это в командной строке:

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ovpn-out1 src-address=192.168.186.0/24

Следующим шагом создадим список сайтов, которые должны будут выходить в интернет через VPN-подключение и добавим в него какой-нибудь сайт. Для этого перейдем в IP – Firewall – Address Lists и добавим новую запись. В поле Name следует указать имя списка, либо выбрать его, если список существует, в Address укажите IP-адрес или доменное имя, в последнем случае роутер сам будет определять требуемые IP-адреса.

Mikrotik-VPN-internet-003.pngЭта же настройка через консоль:

/ip firewall address-list
add address=2ip.ru list=US_only

Теперь промаркируем все необходимые пакеты, для этого переместимся в IP – Firewall – Mangle и добавим новое правило: на закладке General укажем Chain – preroutingIn. Interface – bridge1, на закладке Advanced выберем Dst. Address List – US-only, а на закладке Action укажем Action – mark routingNew Routing Mark – произвольное имя метки – в нашем случае ORA и ниже снимаем флаг Passthrough.

Mikrotik-VPN-internet-004.pngЭто же действие в консоли:

/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=US_only in-interface=bridge1 new-routing-mark=ORA passthrough=no

Таким образом мы добавим к пакетам, направляемым к сайтам из списка специальную метку, на основании которой будет приниматься решение о их маршрутизации.

И наконец перейдем к самой маршрутизации, перейдем в IP – Routes и создадим новый маршрут. В качестве адреса назначения Dst. Address укажем 0.0.0.0/0, а в поле Gateway укажем интерфейс VPN-соединения, ниже выберем поле Routing Mark и укажем там нашу метку ORA.

Mikrotik-VPN-internet-005.pngЧерез командную строку данное действие можно выполнить так:

/ip route
add distance=1 gateway=ovpn-out1 routing-mark=ORA

Только что мы создали дополнительную таблицу маршрутизации, в которую будут попадать все промаркированные нами пакеты. Если шлюз, указанный в данной таблице недоступен, то пакет перейдет в основную таблицу маршрутизации – main – и уйдет в интернет через шлюз провайдера. Если это по каким-либо причинам нежелательно, то следует выполнить еще одну настройку. Перейдем в IP – Routes – Rules и создадим новое правило: Routing mark – ORAAction – lookup only in tableTable – выберите имя, соответствующее вашей метке маршрутизации, в нашем случае также ORA.

Mikrotik-VPN-internet-006.pngВ консоли для создания правила выполните:

/ip route rule
add action=lookup-only-in-table routing-mark=ORA table=ORA

Таким образом мы замкнем промаркированные пакеты в собственной таблице маршрутизации и при недоступности VPN-соединения эти сайты также окажутся недоступны. Через основного провайдера эти пакеты отправлены не будут.

Теперь самое время проверить, что все работает как надо. Мы не даром добавили в список сайт 2ip, перейдем на него и убедимся, что доступ к нему был осуществлен через наш VPN c выходом в США.

В дальнейшем вам потребуется только добавлять необходимые сайты в список, либо убирать из него. Также вы можете настроить несколько VPN-каналов с разными точками выхода и несколько таблиц маршрутизации, направляя пакеты к различным сайтам через разные туннели.

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

2

ПЕРЕХВАТ ПАКЕТОВ НА MIKROTIK

Привет, Мир! Сейчас расскажем об одном полезном методе траблшутинга и поиска проблем на роутерах MikroTik. Суть данного метода заключается в том, чтобы отлавливать
alias
Previous Story

КОМАНДА ALIAS

Next Story

Миграция данных в Облако репликацией

Latest from Blog

Docker: собираем веб сервер

Ниже предоставлен готовый набор окружения веб сервера на базе контейнеров Docker. Включает в себя MySQL, PHP, NGINX, composer, SSL сертификаты и механизм резервного копирования в облако. Код доступен на github. Компоненты сервера Для

Как с помощью docker запустить окружение для разработки nginx + php + mysql

Создание проекта Compose Подготовка контейнерной среды разработки веб-приложения отождествляется с созданием проекта Compose. Для этого начинать нужно с создания каталога проекта Compose.Его имя – new_compose_project. Создадим каталог, после чего перейдем к нему. Введем в

обновить Debian 11 до Debian 12 Bookworm

Подготовка системы к обновлению Перед обновлением рекомендую ознакомиться с официальным руководством Upgrades from Debian 11 (bullseye). Мои дальнейшие действия соответствуют некоторым рекомендациям из этого документа. В первую очередь проверьте все бэкапы. И по

Мониторинг докер-хостов, контейнеров и контейнерных служб

Я искал self-hosted мониторинговое решение с открытым кодом, которое может предоставить хранилище метрик, визуализацию и оповещение для физических серверов, виртуальных машин, контейнеров и сервисов, действующих внутри контейнеров. Опробовав Elastic Beats, Graphite и
Go toTop

Don't Miss

mikrotik

Настраиваем Honeypot на роутерах Mikrotik

Современный интернет такое место, где вы сразу же становитесь предметом
mikrotik

Настройка черного и белого списков в роутерах Mikrotik

Ограничение доступа к тем или иным ресурсам сети интернет на