Freeradius 2.x.x - Monitoração
Publicado por Tiago MDR (última atualização em 04/07/2010)
[ Hits: 8.105 ]
Download 1277760709.freeradius_status.sh (versão 2)
Olá a todos do vivaolinux!
Aqui vai a minha primeira contribuição para o site através de um script simples para a monitoração do Freeradius (no caso a versão utilizada é a 2.1.8).
Antes de mais nada, estou assumindo que você tenha um servidor de Freeradius pronto e funcionando.
Como a maioria já deve saber, a partir da versão 2 do Freeradius o SNMP não é mais suportado e a monitoração só é possivel via comando :(
Antes de executar o script abaixo, ***LEIA*** o Wiki http://wiki.freeradius.org/Status e o README dos scripts no fonte do Freeradius. Isso é importante devido a dois fatores:
1º - É necessario ativar essa monitoração (conforme descrito no link acima); e
2º - O comando descrito no site NÃO funciona. Eu, pelo menos, tentei de tudo quanto é forma, mas não deu certo, sendo assim, caso tenha curiosidade, com algumas modificações o comando passa a funcionar:
echo "Message-Authenticator = 0x00, FreeRADIUS-Statistics-Type = 35, FreeRADIUS-Stats-Client-IP-Address = 127.0.0.1, FreeRADIUS-Stats-Server-IP-Address = 127.0.0.1, FreeRADIUS-Stats-Server-Port = 1812" | radclient 127.0.0.1:18120 status adminsecret
O comando acima retornará, os seguintes valores de amostra:
Received response ID 52, code 2, length = 224
FreeRADIUS-Total-Access-Requests = 25
FreeRADIUS-Total-Access-Accepts = 69
FreeRADIUS-Total-Access-Rejects = 16
FreeRADIUS-Total-Access-Challenges = 0
FreeRADIUS-Total-Auth-Responses = 85
FreeRADIUS-Total-Auth-Duplicate-Requests = 0
FreeRADIUS-Total-Auth-Malformed-Requests = 0
FreeRADIUS-Total-Auth-Invalid-Requests = 0
FreeRADIUS-Total-Auth-Dropped-Requests = 0
FreeRADIUS-Total-Auth-Unknown-Types = 0
FreeRADIUS-Total-Accounting-Requests = 15
FreeRADIUS-Total-Accounting-Responses = 15
FreeRADIUS-Total-Acct-Duplicate-Requests = 0
FreeRADIUS-Total-Acct-Malformed-Requests = 0
FreeRADIUS-Total-Acct-Invalid-Requests = 0
FreeRADIUS-Total-Acct-Dropped-Requests = 0
FreeRADIUS-Total-Acct-Unknown-Types = 0
ATENÇÃO: O "adminsecret" é a chave padrão para checar o status do servidor, ela pode ser alterada posteriormente.
PS1: O freeradius que utilizo atualmente foi instalado via yum em um Fedora Core 12 x64.
PS2: Coloquei os comentarios em inglês e não tive tempo de coloca-los em portugues.
Sem mais, segue o script.
Versão 2 - Enviado por Tiago MDR em 28/06/2010
Changelog: - Correção de erros ortográficos :)
- Teste realizado no Debian Lenny
Download 1277760709.freeradius_status.sh
#!/bin/sh
# Sample script to collect Freeradius 2.x.x monitoration data.
# -------------------------------------------------------------------------
# Tested under Fedora Core / CemtOS 5.2 / RHEL
# -------------------------------------------------------------------------
# Author: Tiago Milson De Rizzo
# -------------------------------------------------------------------------
# Last updated Apr/26/2010
# -------------------------------------------------------------------------
# Usage: ./freeradius_status.sh parameter
# Example: ./freeradius_status.sh Access-Accepts
STATS="/root/scripts/radius_stats.txt"
ECHO="/bin/echo"
RADCLIENT="/usr/bin/radclient"
###################################
#Infos for:
#Server parameters
FREERAD_STS_CLI_SRV_IP="127.0.0.1"
FREERAD_STS_SRV_IP="127.0.0.1"
FREERAD_STS_SRV_PORT="1812"
#The port 18120 needs to be enabled in the server. The Freeradius 2.x.x documentation
#Tells how to do it http://wiki.freeradius.org/Status
##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##
##THE COMMAND LISTED IN THE http://wiki.freeradius.org/Status IS WRONG!!!!!
##IF YOU NEED TO EXECUTE THE CODE BY HAND, USE THE ONE LISTED BELOW THE "GENERATE STATISTICS" COMMENT
##REWRITING IT AS NEEDED
#radclient parameters
FREERAD_SRV_IP="127.0.0.1"
FREERAD_SRV_STS_PORT="18120"
FREERAD_SECRET="adminsecret"
###################################
# check for valid command line parameters in the radclient output
[ -z "$1" ] && exit;
[ "$1" != 'Access-Accepts' \
-a "$1" != 'Access-Rejects' \
-a "$1" != 'Access-Challenges' \
-a "$1" != 'Auth-Responses' \
-a "$1" != 'Auth-Duplicate-Requests' \
-a "$1" != 'Auth-Malformed-Requests' \
-a "$1" != 'Auth-Invalid-Request' \
-a "$1" != 'Auth-Dropped-Requests' \
-a "$1" != 'Auth-Unknown-Types' \
-a "$1" != 'Accounting-Requests' \
-a "$1" != 'Accounting-Responses' \
-a "$1" != 'Acct-Duplicate-Requests' \
-a "$1" != 'Acct-Malformed-Requests' \
-a "$1" != 'Acct-Invalid-Requests' \
-a "$1" != 'Acct-Dropped-Requests' \
-a "$1" != 'Acct-Unknown-Types' \
] && exit;
#Generate statistics
$ECHO "Message-Authenticator = 0x00, FreeRADIUS-Statistics-Type = 35, FreeRADIUS-Stats-Client-IP-Address = $FREERAD_STS_CLI_SRV_IP, FreeRADIUS-Stats-Server-IP-Address = $FREERAD_STS_SRV_IP, FreeRADIUS-Stats-Server-Port = $FREERAD_STS_SRV_PORT" | \
${RADCLIENT} $FREERAD_SRV_IP:$FREERAD_SRV_STS_PORT status $FREERAD_SECRET > $STATS
#Grab the file statistics and from the file generated
tail -17 ${STATS}| /usr/bin/awk "/$1/ { result=\$3 } END { print result ? result : 0 }"
Comando Executar Gerenciadores leves
Shell script para duplicação de CD's
Seletor de wallpaper para fluxbox modo grafico
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (11)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









