La monitorización y el control de todo lo que pasa en un servidor es muy importante. No me voy a andar por las ramas, vamos a lo práctico y aprenderemos haciéndolo (no mirándolo).
[root@amanita ~]# yum install net-snmp net-snmp-utils
Por defecto el servidor SNMP (Simple Network Management Protocol), que de simple tiene poco, está configurado para permitir consultas de solo lectura (community public) a unos valores muy básicos por eso vamos a configurarlo de forma que nos permita obtener más datos del servidor, la configuración de net-snmp está en el fichero snmpd.conf. Haz una copia de seguridad del archivo de configuración por defecto antes de crear este:
[root@amanita ~]# vi /etc/snmp/snmpd.conf
# Listas de control de acceso (ACL)
## sec.name source community (alias clave de acceso)
com2sec local 127.0.0.1/32 clave
com2sec miredlocal 192.168.0.0/24 clave
#Se asigna ACL al grupo de lectura escritura
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
#Se asigna ACL al grupo de solo lectura
group MyROGroup v1 miredlocal
group MyROGroup v2c miredlocal
group MyROGroup usm miredlocal
# Ramas MIB que se permiten ver
## name incl/excl subtree mask(optional)
view all included .1 80
# Establece permisos de lectura y escritura
## group context sec.model sec.level prefix read write notif
access MyROGroup “” any noauth exact all none none
access MyRWGroup “” any noauth exact all all all
# Informacion de Contacto del Sistema
syslocation Servidor Linux en Madrid
syscontact Administrador ([email protected])
Activamos el servicio para que arranque cuando lo haga el sistema operativo:
[root@amanita ~]# chkconfig snmpd on
Arrancamos el servidor:
[root@amanita ~]# /etc/init.d/snmpd start
Recuerda que el protocolo SNMP utiliza los puertos 161/UDP y adicionalmente el 199/TCP/UDP para smux (SNMP Unix Multiplexer) que es una característica para extender las funcionalidades de SNMP. Ambos puertos solo usan IPv4.
En este caso no vamos a abrir esos puertos en el firewall porque no queremos acceder a este servidor desde otra parte de la red con SNMP ya que él mismo será el servidor de monitorización, no obstante, si instalas SNMP en otro servidor deberías añadir la siguientes líneas en el archivo /etc/sysconfig/iptables, justo debajo de las líneas de SSH (puerto 22/TCP):
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 161 -s 192.168.0.3 –j ACCEPT
Donde la IP es la del servidor de monitorización, recuerda que esa red debe estar definida en la opción “com2sec mired” en el archivo de configuración snmpd.conf.
Después de añadir la regla recargamos la configuración de iptables (/etc/init.d/iptables restart)
Comprobamos que tenemos funcionando correctamente nuestro servidor SNMP con el comando snmpwalk:
[root@amanita ~]# snmpwalk -Os -c clave -v 1 localhost
sysDescr.0 = STRING: Linux amanita.phaloides.priv 2.6.18-1.2849.fc6 #1 SMP Fri Nov 10 12:36:14 EST 2006 i686
sysObjectID.0 = OID: netSnmpAgentOIDs.10
sysUpTimeInstance = Timeticks: (12030) 0:02:00.30
sysContact.0 = STRING: Administrador ([email protected])
sysName.0 = STRING: amanita.phaloides.priv
sysLocation.0 = STRING: Servidor Linux en Madrid
sysORLastChange.0 = Timeticks: (3) 0:00:00.03
sysORID.1 = OID: snmpMIB
sysORID.2 = OID: tcpMIB
sysORID.3 = OID: ip
sysORID.4 = OID: udpMIB
sysORID.5 = OID: vacmBasicGroup
[…]
Con el anterior comando consultar muchos aspectos de la máquina, desde la versión del kernel hasta los paquetes instalados, uso de disco, uso de red, etc.