Добавляем модуль python для FreeRadius3

Случилось так, что стандартными средствами FreeRadius авторизации ну никак не «разрулить» те условия, которые необходимы. Решение: включим/поставим модуль python для FreeRadius и будем использовать его для авторизации и выдачи абонентам сетевых настроек.

Далее пути указаны для Ubuntu.

1) Сделаем симлинк (читай включим модуль) для модуля pyhton в папке

2) В файле настроек пропишем путь для файла написанного на языке python, который будет отвечать за авторизацию, и имя собственно модуля, например work:

Так-же нужно расскоментировать те функции, которые будут вызываться модулем. Например:

 

3) Создадим модуль work. Можно на основе example. В моём случае он адаптирован под python3 (в «базе» он поставляется пот python 2.7):

И чуть изменим файл radiusd.py:

В файле default включим модули в секциях authorize и authenticate:

Запускаем:

В логах наблюдаем:

Вывод списка неподдерживаемых элементов данных Zabbix скриптом

Задачу можно решить скриптом на python:

Новый проект. DHCP сервер с выборкой из БД на Python

Задачей было написать аналог проекта DHCP2DB , но только на Python вместо C.

В принципе уже как прототип работает. Может отдавать IP адрес как обычным устройствам, так и свичам работающим по опции 82.

Ссылка на GIT: https://github.com/donpadlo/dhcp2dbpy

Полное описание проекта тут

Telnet клиент на Python

Например можно реализовать так:

Пример простого DHCP сервера на Python

В целях самообразования, написал скрипт на Python, который выдает запрашивающему IP адрес. Всё жестко прибито гвоздями. Делал для изучения работы DHCP /  Python не более того.

dhcp_parse_packet.py:

 

1 6 7 8 9 10 14