snmpd를 올바르게 구성하는 방법은 무엇입니까?

snmpd를 올바르게 구성하는 방법은 무엇입니까?

snmpCentOS에 7.2다음과 같이 설치 했습니다 .

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

snmpd.conf내 파일을 백업했습니다.

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

그런 다음 다음과 같이 텍스트를 지웠습니다.

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

그리고 snmpd.conf다음을 추가하세요:

rocommunity "#random$" monitoring_server_ip

monitoring_server_ip서버가 이 snmpd 서버에 연결할 수 있습니까 ?

snmpd 다시 시작

/bin/systemctl restart snmpd

7.2CentOS 서버에서 snmpwalk를 실행 하면

snmpwalk -v2c -c public localhost system

그러면 나는 다음을 얻습니다:

시간 초과: 로컬 호스트가 응답하지 않습니다.

앞서 정의한 것처럼 하나의 IP 주소만 이 작업을 수행할 수 있으므로 이는 정확합니다.

pssnmp실행 중

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

이번이 처음으로 플레이해보았는데 snmp도움을 주시면 정말 감사하겠습니다!

출력에는 다음이 iptables -L -n | grep udp표시됩니다.

...
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
...

모든 목적지도 마찬가지입니까 0.0.0.0/0?

Netstat에는 다음 포트가 표시됩니다.

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

이:

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

또한 내 방화벽에는 하나의 IP 주소만 내 snmp 서버에 액세스할 수 있다고 추가하십시오.

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="XX.XXX.XXX.XX" port protocol="udp" port="161" accept"

답변1

com2sec 보안 모델은 더 이상 필수가 아닙니다.

다음을 snmpd.conf수행하면 충분합니다.

rocommunity "#randomsometinh$"  2.2.2.2

여기서 2.2.2.2는 연결을 허용하는 모니터링 IP 주소입니다. 나는 일반적으로 전체 /24에 대한 액세스 권한을 부여하는 것보다 단일 IP를 할당하는 것을 선호합니다. 따라서 이 구성은 SNMP 서비스가 2.2.2.2 주소의 요청에 응답한다는 것을 의미합니다.

보안상의 이유로 snmpd 데몬을 localhost로 제한하는 줄을 주석 처리해야 할 수도 있습니다.

# agentAddress  udp:127.0.0.1:161

구성 파일을 변경한 후 다음을 수행하십시오.

service restart snmpd

로컬에서 수신 중인지 확인합니다.

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

그리고 허용된 네트워크/IP에서 전체 MIB 트리를 탐색합니다. 2.2.2.1이 모니터링되는 시스템이라고 가정합니다.

snmpwalk -c "#randomsometinh$" -v2c 2.2.2.1

또는 요청시스템 가동 시간 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

snmpget은 특정 객체 인스턴스/인덱스에 대해 0을 지정해야 합니다.

추신: 2.2.2.2는 모니터링 서버이고, 2.2.2.1은 모니터링할 snmpd 서버/호스트입니다.

관련 정보