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-каналов с разными точками выхода и несколько таблиц маршрутизации, направляя пакеты к различным сайтам через разные туннели.

Previous Story

КОМАНДА ALIAS

Next Story

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

Latest from Blog

Zabbix – Docker – Raspberry Pi

Для начала установим Portainer – веб-интерфейс для управления docker-контейнерами. Бесплатно, удобно, подойдет новичкам в docker. Установка

Сетевая папка/диск в Linux

x.x.x.x адрес шары /mnt/shara точка монтирования user пользователь с доступом к шаре 1234 пароль пользователя Для

Памятка SSH

В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые

0 £0.00