Instalación del Agente SNMP en Linux
Primero es necesario saber si existe una versión anterior de SNMP y desactivarla.
# snmpd –v
Si el resultado del comando envía una versión de SNMP, quiere decir que antes de comenzar
tenemos que desactivar la versión preinstalada del agente.
Para estar seguros de que el agente esta activado, utilizamos el siguiente comando:
# lsof –i –P –n | grep snmp
Si no muestra nada en la salida el agente esta desactivado y podemos comenzar, en caso
contrario si el agente esta activado ejecutamos el siguiente comando para desactivar el
proceso:
# kill [número de proceso]
# lsof –i –P –n | grep snmp
Una vez realizada la operación anterior, podemos iniciar la instalación del agente SNMP. En
esta ocasión utilizamos la versión net-snmp-5.4.1
Pasos:
1. Copiar el archivo net-snmp-5.4.1.tar.gz al directorio /export/home del servidor (puede
ser en cualquier otra ruta pero por facilidad utilizaremos esta)
2. Desempaquetar y descomprimir el archivo .tar.gz
# tar –zxvf net-snmp-5.4.1.tar.gz
3. Cambiarnos al directorio que se crea, para realizar la instalación.
# cd net-snmp-5.4.1
# ls –l
4. Ejecutar el archivo configure con los siguientes parámetros
# ./configure - -prefix=/usr/local/snmp_541 - -with-perl-modules - -with-default-
snmp-version=3 - -with-logfile=/var/log/snmpd.log
Al ejecutarse aparecen una serie de preguntas para realizar la configuración, algunas
de ellas son las siguientes:
…….sys-contact=
…….sys-location= Mexico
…….comunidad= TwMfChCdTbIk
…….persistent-directory= /usr/local/snmp_541/var/net-snmp
Con los parámetros anteriores, se especifico que la ruta de instalación seria
/usr/local/snmp_541
Si no marca ningún error, aparecerá lo siguiente:
Net-SNMP configuration summary:
---------------------------------------------------------
SNMP Versions Supported: 1 2c 3
Net-SNMP Version: 5.4.1
Building for: linux
Network transport support: Callback Unix TCP UDP
SNMPv3 Security Modules: usm
Agent MIB code: default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs
agentx disman/event disman/schedule utilities host
Embedded Perl support: enabled
SNMP Perl modules: building -- embeddable
SNMP Python modules: disabled
Authentication support: MD5 SHA1
Encryption support: DES AES
---------------------------------------------------------
5. Compilar
# make
6. Instalar
# make install
7. Realizar el archivo de configuración
# /usr/local/snmp_541/bin/snmpconf -g basic_setup
Aquí también aparecen una serie de preguntas como las siguientes:
************************************************
*** Beginning basic system information setup ***
************************************************
Do you want to configure the information returned in the system MIB group (contact info,
etc)? (default = y): n
**************************************
*** BEGINNING ACCESS CONTROL SETUP ***
************************************** Aquí se
Do you want to configure the agent's access control? (default = y): configura
Do you want to allow SNMPv3 read-write user based access (default = y): n la versión
Do you want to allow SNMPv3 read-only user based access (default = y): n a utilizar
Do you want to allow SNMPv1/v2c read-write community access (default = y): n
Do you want to allow SNMPv1/v2c read-only community access (default = y):
Configuring: rocommunity
Description:
a SNMPv1/SNMPv2c read-only access community name
arguments: community [default|hostname|network/bits] [oid]
The community name to add read-only access for: TwMfChCdTbIk
The hostname or network address to accept this community name from [RETURN for all]:
The OID that this community should be restricted to [RETURN for no-restriction]:
Finished Output: rocommunity public
Do another rocommunity line? (default = y): n
****************************************
*** Beginning trap destination setup ***
****************************************
Do you want to configure where and if the agent will send traps? (default = y): n
****************************************
*** Beginning monitoring setup ***
****************************************
Do you want to configure the agent's ability to monitor various aspects of your system?
(default = y): n
The following files were created:
snmpd.conf
These files should be moved to /usr/local/share/snmp if you
want them used by everyone on the system. In the future, if you add
the -i option to the command line I'll copy them there automatically for you.
Or, if you want them for your personal use only, copy them to
//.snmp . In the future, if you add the -p option to the
command line I'll copy them there automatically for you.
8. Mover el archivo snmpd.conf si queremos que sea para todos los usuarios
# mv snmpd.conf /usr/local/snmp_541/share/snmp
9. Asignar los permisos necesarios
# chown root:sys /usr/local/snmp_541/share/snmp/snmpd.conf
10. Activar el servicio
# /usr/local/snmp_5.4.1/sbin/snmpd
11. Verificar que se activó el agente
# lsof –i –P –n |grep snmp
Para que active la versión 5.4.1 en lugar de la versión anterior.
Pasos:
Copias el contenido este archivo en la ruta /etc/init.d con el nombre de snmpd
#!/bin/bash
# ucd-snmp init file for snmpd
#
# chkconfig: - 50 50
# description: Simple Network Management Protocol (SNMP) Daemon
#
# processname: /usr/sbin/snmpd
# config: /etc/snmp/snmpd.conf
# config: /usr/share/snmp/snmpd.conf
# pidfile: /var/run/snmpd
# source function library
. /etc/init.d/functions
if [ -e /etc/sysconfig/snmpd.options ]; then
. /etc/sysconfig/snmpd.options
else
OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
fi
RETVAL=0
prog="/usr/local/snmp_541/sbin/snmpd"
start() {
echo -n $"Starting $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
daemon /usr/local/snmp_541/sbin/snmpd $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/snmpd
fi;
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
killproc /usr/local/snmp_541/sbin/snmpd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/snmpd
fi;
echo
return $RETVAL
}
reload(){
echo -n $"Reloading $prog: "
killproc /usr/local/snmp_541/sbin/snmpd -HUP
RETVAL=$?
echo
return $RETVAL
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/snmpd ] && restart
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
status)
status snmpd
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac
exit $RETVAL
Verificas que tenga los permisos de ejecución en los 3 grupos.
chmod ugo+x snmpd
Después te posicionas en la carpeta /etc/rc3.d
Una vez aquí haces una liga:
ln -s ../init.d/snmpd S50snmpd
Enseguida das de alta el servicio en la lista de configuración de chkconfig esto para
que se active solo en este nivel.
chkconfig --add snmpd
y
chkconfig --level 3 snmpd on
Por ultimo levantas el servicio:
/etc/init.d/snmpd start
Verificas que halla levantado
lsof –i –P-n |grep snmpd