서버 관리하면서 snmpd.conf를 보다가 이는 어떤 파일인가 궁금한 목적에서 찾아 보았습니다.
SNMP는 Simple Network Namegement Protocol로 간이 망 관리 프로토콜
SNMP 를 사용하는 이유
1. IP기반의 네트워크 장비로부터 정기적으로 장비의 정보를 자동으로 수집하거나 실시간 모니터링을 위해 설정
2. 1번 기능을 바탕으로 네트워크 관리자, 인프라 관리자 등 관리자가 장비를 효율적으로 모니털이하기 위해 사용
3. SNMP는 OSI 7계층의 Application계층 프로토콜이며, 단순 응답 형식의 프로토콜이기 때문에
UDP프로토콜을 사용하며, agent는 "UDP 161 / SNMP trap 162"를 사용하고, 관리서버는 UDP 162 사용
4. 모니터링을 하기 위해선 모니터링 프로그램을 설치해야하고 대표적인 오픈소스는 zabbix가 있음
5. 모니터링 프로그램 설치된 곳이 관리서버가 되고, 관리서버와 agent는 SNMP버전, Community, PDU 일치 시켜줘야함
6. 편리한 대신 보안 취약점이 존재하므로 운영 시 대응방안 마련해야 함
SNMP 설치 방법
1. apt-get install snmp snmpd명령어로 SNMP 설정하기 위한 프로그램 설치
2. 설치를 하게 되면 /etc/snmp경로에 snmpd.conf파일 생성
해당 경로에 snmpd.conf파일을 수정 전에 백업!
백업 명령어
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak
vi편집기로 snmpd.conf를 실행
vi /etc/snmp/snmpd.conf
snmpd.conf에서 아래 내용 외에 글을 필요가 없어서 전체 삭제 해주셔도 무방
# First, map the community name "public" into a"security name"
# sec.name source community
com2sec test localhost public
com2sec test 모니터링 서버 IP public
# 위에는 localhost이고 아래는 모니터링 서버 정보와 일치시켜 줍니다.
#### # Second, map the security name into a group name:
# groupName securityModel securityName
group rogroup v1 network
group rogroup v2c network
# securityModel은 SNMP 버전을 입력하면 됩니다. v1:SNMP버전1 / v2c:SNMP버전2
# groupName과 securityName은 모니터링 서버와 일치시켜 줍니다.
#### # Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
####
# Finally, grant the group read-only access to the systemview view.
# group contextsec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
access rogroup "" any noauth exact all none none
# read, write 등 그룹에 권한을 주는 것이므로 본인에 맞게 수정하시면 됩니다.
위에 글을 참고해서 snmpd.conf를 수정하셨으면 저장을 해주시고,
systemctl enable snmpd 명령어를 입력하여 부팅 시 자동 실행을 할 수 있게 설정해 주시고
systemctl start snmpd 명령어로 snmpd 서비스를 실행시켜 줍니다.
systemctl status snmpd로 fail없이 active가 정상인지 확인해 주시면 됩니다.
SNMP 설치 후 테스트는 snmpwalk를 사용할 것입니다. 방법은 아래와 같습니다.
snmpwalk -v 1|2c|3(snmp버전) -c community source 가 테스트 시 기본 구성입니다.
localhost로 SNMP를 테스트 오른쪽과 같습니다. -> snmpwalk -v 2c -c public localhost
snmpwalk -v 2c -c public agent_IP
localhost로 테스트가 정상적으로 안 되시면 snmpd.conf를 재확인 하시기 바랍니다.
정상적으로 되셨다면 모니터링 서버에 해당 agent_IP를 통해 연결만 하시면 됩니다.
하지만 지금 이 상태로는 연결할 수 없습니다.
왜냐하면 SNMP 포트를 허용해주지 않았기 때문이죠
방화벽에서 SNMP 포트인 UDP 161을 허용해주어야 합니다.
허용 설정 방법은 " ufw allow 161/udp " 입니다.
systemctl restart snmpd 명령어를 치시고 다시 연결하면
모니터링 서버에서 해당 agent IP를 입력하면 정상적으로 SNMP가 연동될 것입니다.
리눅스 SNMP 설치(ubuntu)
SNMP는 Simple Network Namagemet Protocol로 간이 망 관리 프로토콜입니다. SNMP를 사용하는 이유는 1. IP 기반의 네트워크 장비로부터 정기적으로 장비의 정보를 자동으로 수집하거나 실시간 모니터링을 위
freewings.tistory.com
'etc.' 카테고리의 다른 글
[보안개발] XSS 방지란? 방어? (0) | 2023.07.07 |
---|---|
[git] git stash - 커밋하지 않고 변경사항 저장하기 (매우 유용) (0) | 2023.05.22 |
Spring + NextJS 개발환경 연동할 때 생기는 이슈! (1) | 2022.11.25 |
웹 브라우저에서 임시로 화면 변경하기 / 디자인 모드 Design Mode ? (0) | 2022.07.18 |
[vsCode ] Visual Studio Code 코드 정리, 자동 줄 바꿈 (0) | 2021.03.24 |
댓글