Скрипт проверки доступности RADIUS сервера

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Kami2019
Сообщения: 2
Зарегистрирован: 28 июн 2019, 14:37

Добрый день

Беглым поиском не смог найти казалось бы простую вещь, как из скрипта проверить доступность RADIUS сервера.
Это необходимо для принятия решения запретить локальную авторизацию пользователей (если радиус доступен) или разрешить (если радиус сервер не доступен). Т.е. сделать максимально похоже на работу Cisco.
Готовых решений, к сожалению, не нашел.

Как запретить\разрешить локальных пользователей скриптом - понятно, а вот как проверить доступность RADIUS сервера из скрипта, не получается найти.

Прошу помощь студии.
Спасибо


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Так просто пингом ... из скрипта.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Kami2019
Сообщения: 2
Зарегистрирован: 28 июн 2019, 14:37

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

В идеале нужен аналог radtest из пакета freeradius:

radtest <user_login> <user_password> <radiusIP> 1812 <secret>

На крайний случай аналог nmap:

# nmap -Pn -sU -p 1812 10.3.42.250

Nmap scan report for 10.3.42.250
Host is up.
PORT STATE SERVICE
1812/udp open|filtered radius


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Возможно Вам поможет сначала пинг, а если он есть то вторым этапом /tool fetch с Микротика с http-запросом на Ваш Radius-сервер типо вот такого (как рекомендовал Podarok66 в одном из соседних постов):

{:global fin; :local tmp [/tool fetch url=https://yandex.ru/time/ as-value output=user]; :set fin ($tmp -> "status");}

Вместо Яндекса ставьте url на свой Радиус. Работать будет только на последних версиях Рос (после 6.41 кажется, там появилась возможность "as-value" из /tool fetch.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
vladimir.IP-9
Сообщения: 1
Зарегистрирован: 14 ноя 2020, 20:55

Удалось ли найти решение? Такая же задача стоит


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

А вы решение постом выше пробовали?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить