Como configurar corretamente o snmpd?

4

Eu instalei snmp no CentOS 7.2 , assim:

yum -y install net-snmp net-snmp-utils

Eu fiz um backup do meu arquivo snmpd.conf :

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

depois limpei o texto com isto:

echo "" > /etc/snmp/snmpd.conf

e adicionado ao snmpd.conf , o seguinte:

rocommunity "#random$" monitoring_server_ip

O monitoring_server_ip é o servidor que tem permissão para se conectar a esse servidor snmpd.

snmpd reiniciado

/bin/systemctl restart snmpd

Quando eu executo o snmpwalk no meu servidor 7.2 do CentOS

snmpwalk -v2c -c public localhost system

Eu então obtenho:

Timeout: No Response from localhost

O que é preciso, porque há apenas um IP-adres que pode fazer isso, como definimos anteriormente.

ps mostra que snmp está sendo executado

/usr/sbin/snmpd -LS0-6d -f

Esta é minha primeira vez jogando com snmp e qualquer ajuda é muito apreciada!

saída de iptables -L -n | grep udp mostra isso:

...
Chain IN_public_allow (1 references)
   94  target     prot opt source               destination
   95  ACCEPT     udp  --  XX.XXX.XXX.XXX        0.0.0.0/0            udp dpt:161 ctstate NEW
...

Todo o destino estava muito 0.0.0.0/0 ?

Netstat mostra a seguinte porta:

 netstat -ulnp | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           19062/snmpd

também isto:

netstat -lu | grep snmp
udp        0      0 0.0.0.0:snmp            0.0.0.0:*

Além disso, no meu firewall, adicionei que apenas um endereço IP pode acessar meu servidor snmp:

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="XX.XXX.XXX.XX" port protocol="udp" port="161" accept"
    
por blade19899 10.03.2016 / 17:02

1 resposta

4

O modelo de segurança com2sec não é mais obrigatório.

Em snmpd.conf , deve ser suficiente:

rocommunity "#randomsometinh$"  2.2.2.2

onde 2.2.2.2 é o endereço IP de monitoramento permitido para conexão. Costumo preferir atribuir um único IP, do que dar acesso a um / 24 inteiro. Portanto, essa configuração significa que o serviço SNMP responderá às solicitações do endereço 2.2.2.2.

Você também pode ter que comentar a linha que restringe o daemon snmpd ao localhost por razões de segurança.

# agentAddress  udp:127.0.0.1:161

Depois de alterar o arquivo de configuração, faça:

service restart snmpd

Para confirmar se está escutando localmente:

$ netstat -lu | grep snmp
udp        0      0 *:snmp                  *:* 

E da rede / IP permitida, para percorrer toda a árvore MIB. Assumindo que 2.2.2.1 é a máquina que está sendo monitorada:

snmpwalk -c "#randomsometinh$" -v2c 2.2.2.1

ou para solicitar o sysUpTime OID :

snmpwalk -c "#randomsometinh$" -v2c 2.2.2.1 1.3.6.1.2.1.1.3
snmpget -c #randomsometinh$ -v2c 2.2.2.1 1.3.6.1.2.1.1.3.0

O snmpget tem que ter 0 para a instância / índice do objeto específico.

P.S: 2.2.2.2 é o servidor de monitoramento e 2.2.2.1 é o servidor / host snmpd a ser monitorado.

    
por 10.03.2016 / 17:10

Tags