Я пытаюсь вызвать сервис OpenVPN, который аутентифицирует пользователей через Radius.Сервер Radius сделан мной, поэтому я могу поиграть с кодом и лучше понять внутренности.
При успешном входе в систему я получаю учетные данные с сервера OpenVPN.Сохраняя эти сессии, я могу подсчитать количество открытых сессий, которые есть у каждого пользователя, потому что я хочу лишить их возможности войти в систему несколько раз.Я мог бы навязать это в конфигурации сервера OpenVPN, но я мог бы добавить некоторые другие серверы в будущем, и я хочу сделать это со стороны Radius - если это возможно.
Моя проблема на стороне Radius, как только я обнаружунесколько входов в систему, что мне делать?
Я мог бы попытаться получить доступ к консоли управления OpenVPN из своего кода радиуса, но ... должен быть лучший способ.
Я также попытался отправитьSession-Timeout
в ответном сообщении Access-Accept
на что-то более низкое, чтобы заставить их чаще проходить аутентификацию и выполнять мои проверки, но эта настройка, похоже, не влияет на плагин radius, используемый OpenVPN:
NAS-Identifier=openvpn_udp
Service-Type=5
Framed-Protocol=1
NAS-Port-Type=5
NAS-IP-Address=10.50.0.14
OpenVPNConfig=/etc/openvpn/server.conf
overwriteccfiles=true
nonfatalaccounting=false
server
{
acctport=1813
authport=1812
name=10.50.0.13
retry=1
wait=1
sharedsecret=testing123
}
Есть идеи, как сделать это лучше?