OpenVPN + RADIUS + разделение клиентов

RIP, OSFP, BGP, MPLS/VPLS
freeddos
Сообщения: 13
Зарегистрирован: 20 июн 2019, 18:25

OpenVPN + RADIUS + разделение клиентов

Сообщение freeddos » 20 июн 2019, 18:39

Здравствуйте.
Имеем RouteOS 6.44 на микротике и клиенты на Windows.
OpenVPN на Mikrotik работает, авторизация через RADIUS (Windows сервер) тоже работает.
Но нужно например сделать пользователей админов и пользователей пользователей.

Обычной схемой можно реализовать просто пользователей. Настроен на микротике PPP профиль, там указан пул адресов для клиентов и Local Address. Я не использую Secret закладку т.к. локальные пользователи не нужны авторизация через RADIUS.

Например чтобы разделить пользователей я могу завести два Pool адресов, назвать из for_user и for_admin.
Но вот профиль для сервера будет только один. и я ни как не разделю Local Address и не сделаю его разным, и тут проблемы с маршрутизацией.

И маршрутами я просто разделю куда смогут ходить пользователи а куда админы.
Рад буду мыслям и помощи.

PS локальными админами не очень хотелось бы через Secret т.к. всетаки не зря RADIUS прикручивал.

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

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение Chupaka » 20 июн 2019, 19:05

Приветствую.

С радиуса попробуйте возвращать параметр Framed-Pool:
IP pool name (on the router) from which to get IP address for the client.

freeddos
Сообщения: 13
Зарегистрирован: 20 июн 2019, 18:25

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение freeddos » 20 июн 2019, 20:12

Здравствуйте.
Да я так делал, все классно. Возвращается пул адресов нужный который заведен для клиентов.
Но когда клиент подключается то создаётся запись в Route в которой Perf. Source это адрес вписанный в профиле ppp где Local Address.

Клиенты подключаются получают разные адреса, но вот маршрут у всех клиентов на этот адрес который в профиле ppp (потому что в OPVNServer можно выбрать только один профиль).

И на клиенты отказываются подключаться если в конфиге route <подсети выданная через pool> <маска> <ip в профиле ppp Local Address>

Может я не туда копаю

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

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение Chupaka » 20 июн 2019, 23:46

freeddos писал(а):
20 июн 2019, 20:12
Но когда клиент подключается то создаётся запись в Route в которой Perf. Source это адрес вписанный в профиле ppp где Local Address.
Всё верно, так и должно быть.
freeddos писал(а):
20 июн 2019, 20:12
Клиенты подключаются получают разные адреса, но вот маршрут у всех клиентов на этот адрес который в профиле ppp (потому что в OPVNServer можно выбрать только один профиль).
Ну, тоже пока, вроде, всё хорошо.
freeddos писал(а):
20 июн 2019, 20:12
И на клиенты отказываются подключаться если в конфиге route <подсети выданная через pool> <маска> <ip в профиле ppp Local Address>
Вот эту часть не понял. Кто отказывается подключаться и почему?..
freeddos писал(а):
20 июн 2019, 20:12
Может я не туда копаю
Может, попробуйте задачу сформулировать с примерами? А то я пока не понимаю, что вы хотите получить в итоге...

Посмотрите ещё в сторону атрибута Mikrotik-Address-List — в этот List будет добавляться адрес клиента на время его подключения.

freeddos
Сообщения: 13
Зарегистрирован: 20 июн 2019, 18:25

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение freeddos » 21 июн 2019, 08:03

Задача такая что бы разделить маршрутами одних пользователей пускать на одни сервера других на другие.
Есть две группы users и admins они конектяться через radius. Для этих каждой группы radius выдает значение pool этим клиентам.
Сейчас получается клиенты конектяться получают адрес из нужного pool но маршрут имеют с perf source одинаковый (например 192.168.0.1)
В конфиге клиента типа:
route 172.17.0.0 255.255.255.0 192.168.0.1
А в другом
route 172.17.1.0 255.255.255.0 192.168.0.1
Клиенты должны ходить в разные подсети. Но если в конфиге есть параметр route с маршрутом клиент не коннектиться, а если убрать то подключается.

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

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение Chupaka » 21 июн 2019, 10:45

А по-нормальному, фильтром файрвола, это не получится сделать? Добавлять одних клиентов в один адрес-лист, других - в другой, потом разрешить, кому куда надо, и запретить всё остальное.

Про pref source и почему клиент не коннектится с параметром route - всё ещё не понимаю. Наверное, надо изучать логи на клиенте?..

freeddos
Сообщения: 13
Зарегистрирован: 20 июн 2019, 18:25

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение freeddos » 21 июн 2019, 12:17

Просто каким образом может быть для всех одинаковый perf source если он будет вообще в другой подсети.
Например perf source = 192.168.10.1
А клиентам выдаются адреса из пула 192.168.1.0 и 192.168.2.0, значит нужно им расширять маску чтобы они могли достукиваться до общего шлюза?
Framed-IP-Netmask если этот параметр ставить на Radius то нужную маску не получают клиенты.
А без установки Local Address в профиле не работает.

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

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение Chupaka » 21 июн 2019, 14:59

freeddos писал(а):
21 июн 2019, 12:17
Просто каким образом может быть для всех одинаковый perf source если он будет вообще в другой подсети.
Вот таким, это PPP, тут нет привязки шлюзов и подсетей, вот этого всего. Ничего не мешает сделать local-address=1.2.3.4 и раздавать клиентам адреса из пула 5.6.7.(0-255). Это обычная практика.
freeddos писал(а):
21 июн 2019, 12:17
А клиентам выдаются адреса из пула 192.168.1.0 и 192.168.2.0, значит нужно им расширять маску чтобы они могли достукиваться до общего шлюза?
Ну, если клиент не добавляет маршрут к адресу шлюза через VPN-интерфейс - то можно использовать интерфейс в качестве шлюза, в PPP это работает аналогично, в отличие от Ethernet.
freeddos писал(а):
21 июн 2019, 12:17
Framed-IP-Netmask если этот параметр ставить на Radius то нужную маску не получают клиенты.
Framed-IP-Netmask - если его на радиусе указать, на роутере создастся маршрут к адресу клиента с такой маской, не более. Сам клиент об этом ничего не узнает. Это написано в документации

freeddos
Сообщения: 13
Зарегистрирован: 20 июн 2019, 18:25

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение freeddos » 21 июн 2019, 15:52

Я немного не понимаю, подключается клиент.
Он получает адрес: 192.168.0.1 из пула.
При этом таблице route list создается запись типа
dst.address gateway Perf. source
DAC - 192.168.0.1 - <имя интерфейса> - 1.2.3.4

При этом какой маршрут должен быть на клиенте чтобы зарулить трафик в этот VPN интерфейс для подсети например 172.17.0.0

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

Re: OpenVPN + RADIUS + разделение клиентов

Сообщение Chupaka » 21 июн 2019, 16:04

На клиенте должен быть маршрут к подсети 172.17.0.0 через <имя интерфейса на клиенте>. На Шindoшc такие маршруты, кажется, обозначаются как On-link. И тогда нет никаких заморочек с адресом на стороне роутера.

Но такой маршрут не является никакой защитой от того, что клиент куда-нибудь ещё влезет. Ничего клиенту не мешает прописать себе маршрут 0.0.0.0/0 через VPN - и ходить куда заблагорассудится. Поэтому я и прошу сформулировать конечную цель, а не ваше видение решения задачи.

Ответить