Фильрация при VPN подключении

Базовая функциональность RouterOS
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Фильрация при VPN подключении

Сообщение drongo »

Добрый день. Есть белый ip. Стоит задача организовать vpn доступ к компу в локальной сети. Создал профиль, дал пул адресов 192.168.13.0-192.16.13.20 (отличный от локальной сети), в PPP - Profiles настроил профиль где указал Local и Remote адрес брать из пула 192.168.13.0. настроил пользователей. Создал правило на порты 500, 1701, 4500
По части подключения к сети все работает нормально. При подключении на вкладке РРP - Active Connections я вижу IP адрес клиента (Caller ID) и адрес из пула 192.168.3.10 к примеру.Теперь необходимо сделать так, чтобы подключившиеся пользователи видели только один комп в сети.
Как закрыть компы локалки? В логах правила файервола вижу, что соединение с интернетовского адреса клиента по порту 1701 идет на мой белый ip адрес на порт 1701.
Что-то еще надо настроить? Подскажите. Спасибо
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Добрый.
drongo писал(а): 03 авг 2021, 10:56 настроил профиль где указал Local и Remote адрес брать из пула 192.168.13.0.
В Local лучше указать любой адрес статикой, чтобы не расходовать из пула по два адреса на одно подключение
drongo писал(а): 03 авг 2021, 10:56 Теперь необходимо сделать так, чтобы подключившиеся пользователи видели только один комп в сети.
Как закрыть компы локалки?
Ну, самое красивое - это, видимо, в профиле им указать incoming-filter - и в этой цепочке в файрволе разрешить пакеты к этому одному компу и дропнуть всё остальное
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

а подробнее можно?
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

в Incoming Filter выбрать надо input, forward, output. И как потом правило создать? Может есть пример "на пальцах"?
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

В общем что сделал. В профилях создал incoming-filter "Test_filter"
В файерволе создал правило, где в chain вписал "Test_filter", dst-addr вбил адрес компа в локалке. Action - Accept
Второе правило в chain вписал "Test_filter", dst-addr вбил подсеть локалки. Action - drop. Никаких изменений.
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Во втором правиле не надо указывать dst-address совсем.

Никаких изменений по сравнению с чем? Клиент переподключился? В счётчиках правил что-нибудь меняется?
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Клиент нормально подключается, но правила эти не отрабатывают. счетчики не меняются. Логи пустые. И вроде как даже до этих правил дело не доходит. На общем правиле доступа по портам 500, 1701, 4500 в логах я вижу что клиент со своим адресом например 1.1.1.1 по порту 1701, приконнектился на мой белый ip 2.2.2.2 по порту 1701. Если я это правило выключу, то клиент отваливается. Не переходит он на цепочrу с incoming filter
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Ага, всё понятно. Правила для перехода в цепочку incoming filter создаются в цепочке ppp :)

Поэтому надо ещё добавить в forward (и, опционально, input/output) правило

/ip fi fi add chain=forward action=jump jump-target=ppp
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Спасибо. Но до конца не разобрался. Сделал правило

Код: Выделить всё

chain=forward action=jump jump-target=ppp
и все пакеты, которые ходят в микротике все заворачиваются по этому правилу. Количество пакетов растет с геометрической прогрессией. Дальше добавляю правила

Код: Выделить всё

chain=Test dst-addr IP_адрес_компа_в_локалке action=accept
chain=Test dst-addr подсеть_в_локалке action=drop
При таких правилах все работает, но начинает выкидывать из winbox'а и отваливается интернет

Изменил первое правило

Код: Выделить всё

chain=forward In.Interface = l2tp-in1 action=jump jump-target=ppp
Предварительно забиндил интерфейс. И теперь все заработало как надо. Интернет не отваливается, доступом рулить могу как хочу.
Но биндится интерфейс на пользователя, которого я создал PPP-Secrets. Как быть если пользователей 10 штук к примеру?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Что-то непонятное у вас творится там. У меня правило в цепочке ppp для перехода в Test уже содержит в себе in-interface=l2tp-in1, без всякого забиндживания...

Смотрите все правила, что у вас там получаются в итоге, потому что гадать по фотографии маленького куска - такое себе занятие...
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Все нормально. Вроде бы. В общем правило по умолчанию у меня тоже создавалось нормально для jump на Test. Проблема была в правиле forward. Я вбивал туда in.interface = l2tp-in1, поэтому работало. Но если подключается второй пользователь, то ниче не работало :) А нужно было просто убрать интерфейс и вбить src.addr подсетку, которую я давал в pool для remote address. Иначе по этому правилу отрабатывался весь трафик и микротик вешался. Вроде как все заработало. Правильно ли я все сделал?
1.JPG
1.JPG (52.33 КБ) 1614 просмотров
И еще вопрос. Есть ли возможность в микротике сделать так, чтобы пользователь впн каким-то образом мог взаимодействовать с Active Directory чтобы можно было настраивать правила доступа к шаре?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

drongo писал(а): 05 авг 2021, 15:23 Я вбивал туда in.interface = l2tp-in1, поэтому работало. Но если подключается второй пользователь, то ниче не работало :) А нужно было просто убрать интерфейс и вбить src.addr подсетку, которую я давал в pool для remote address. Иначе по этому правилу отрабатывался весь трафик и микротик вешался. Вроде как все заработало. Правильно ли я все сделал?
Непонятно, почему всё вешалось. Непонятно, почему и у кого ничё не работало при подключении второго пользователя.
drongo писал(а): 05 авг 2021, 15:23 Есть ли возможность в микротике сделать так, чтобы пользователь впн каким-то образом мог взаимодействовать с Active Directory чтобы можно было настраивать правила доступа к шаре?
К какой шаре и при чём тут роутер? Права доступа к шаре вы настраиваете на сервере, там же авторизуется клиент - ВПН тут не при делах.
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Вешалось не знаю почему. Видимо с правилами намудрил и весь трафик валил на ррр. Не работало при подключении второго пользователя, т.к. ему тоже надо было при моей настройке забиндить интерфейс. когда указал ip адреса удаленные все заработало. Про пользователя я имею в виду может ли микротик сопоставить пользователя, под которым подключается юзер к сети по впну, с юзером в домене?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

drongo писал(а): 05 авг 2021, 16:41 Вешалось не знаю почему. Видимо с правилами намудрил и весь трафик валил на ррр.
Так и задумано: весь трафик валит в ppp, потом там отсеивается для нужных интерфейсов.
drongo писал(а): 05 авг 2021, 16:41 Не работало при подключении второго пользователя, т.к. ему тоже надо было при моей настройке забиндить интерфейс.
Ну, ваши настройки - это без профиля, автоматически создающего нужные правила, поэтому пропускаем :)
drongo писал(а): 05 авг 2021, 16:41 Про пользователя я имею в виду может ли микротик сопоставить пользователя, под которым подключается юзер к сети по впну, с юзером в домене?
Допустим, может (через RADIUS-авторизацию в домене). Но ведь он никакому серверу не может сказать "да это точно этот юзер, зуб даю!" - так что в любом случае задачу надо решать не с этой стороны
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Спасибо большое за помощь. Было бы неплохо, если бы мог серверу напрямую про юзера сказать :)

Подскажите, может есть какая-то литература по микротику на русском языке?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Про литературу я, увы, не подскажу - предпочитаю мануалы в оригинале :)
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Добрый день. Чтобы не создавать новую тему спрошу в этой.
Вопрос с пользователями, которые подключаются по vpn.
Удаленные пользователи получают Ip адреса из пула адресов при подключении по vpn. Создано правило, что пользователям из диапазона адресов доступ только к определенному сервису в локалке. Так все работает, все хорошо. Но, есть необходимость дать больше свободы определенным пользователям, которые подключаются по vpn. Т.е. как на микротике можно рулить не диапазоном адресов, а самими пользователями?
Для пользователей, которых я руками вбиваю на вкладка Secrets я указываю руками ip вдрес и потом уже создаю правило, что всем адресам доступ к одному ресурсу, а определенному адресу что руками прописал доступ к примеру во всю локалку. Но так работает только если пользователь руками вбит в микротике.
Также пользователи подключаются по vpn с использование radius сервера, здесь я уже не могу рулить ни адресом, ни пользователем (во всяком случае я не умею и не знаю как это сделать :)). Radius нужен для доступа к общим ресурсам в сети, и без radius здесь не обойтись.
Прошу попмощи. Можно ли на файерволе создать правило, чтобы фильтр был по пользователю? Или может есть какая другая методика?
Спасибо
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

И снова здравствуйте :)

С RADIUS можно вернуть атрибут Mikrotik-Address-List (https://wiki.mikrotik.com/wiki/Manual:R ... dictionary), это сработает как указание Address List в профиле данного юзера, т.е. адрес клиента на время подключения будет добавлен в этот Address List - и уже на основании этого можно создавать правила файрвола.
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Не совсем понял. Как микротик сопоставит этот адрес с конкретным пользвоателем? Юзеры на radius сервере запрашиваются, на микротике пользователей нет.
Допустим, имеет пул адресов 192.168.60.10-192.168.60.30. На микротике настроен radius. В сети есть radius сервер. Пользователь подключается, микротик обращается к серверу, там проходит проверка пользователя, ему выдается ip адрес. Все хорошо. Но как микротик может понять, что адрес 192.168.60.15 принадлежит именно этому пользователю. Можно как-то из radius вернуть еще и имя пользователя? или такое микротик не умеет?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Вы из RADIUS для нужного пользователя возвращаете, например, "Mikrotik-Address-List := allow-lan". После подключения роутер добавит адрес этого пользователя в Address List с именем allow-lan, и вы в фильтре файрвола можете этот список использовать как-нибудь так:

/ip firewall filter add chain=forward src-address-list=allow-lan dst-address=192.168.0.0/16 action=accept

Вернёте для двух пользователей этот параметр - оба эти адреса будут занесены в Address List при их подключении.
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

А как из radius получить пользователя?
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Что значит "получить пользователя"? Вы же его получаете, пользователь - это логин, с которым происходит подключение.
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Микротик об этом пользователе ничего не знает. Он пересылает запрос к radius серверу, и тот уже отвечает что пользователь верный
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Фильрация при VPN подключении

Сообщение Chupaka »

Да, всё так и есть. А в чём вопрос-то? :)
drongo
Сообщения: 52
Зарегистрирован: 27 ноя 2020, 12:33

Re: Фильрация при VPN подключении

Сообщение drongo »

Будет примерно 15-20 пользователей, которые будут удаленно подключаться по vpn к микротику и иметь доступ к общим ресурсам в локальной сети. Например подключилось 3 юзера, в сети к примеру 3 сервера. Юзер1 должен иметь доступ к серверу1 на котором расположены документы и больше ничего не видеть. Юзер2 должен видеть сервер1 и сервер2, а юзер3 должен иметь доступ ко всей сети.
На микротике же по пулу адресов я могу разрешить доступ к определенному серверу, либо ко всей сети. А мне надо в идеале сделать так, чтобы правило в микротике было по юзеру
Ответить