ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•
GUI ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹ค์–‘ํ•œ MIB Browser๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ MIB๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ CLI ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋งŒ ์ตํžˆ๊ฒŒ ๋˜๋ฉด, ๋ณด๋‹ค ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” Net-SNMP๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ Net-SNMP๋ฅผ ์šฐ๋ถ„ํˆฌ ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๊ณ , ์œ ์šฉํ•œ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค. 

 

SNMP?

 `SNMP`๋Š” ์ด์ „ ๊ธ€์—์„œ ๊ฐ„๋žตํžˆ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ธ์ง€์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์—ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ๋‚˜์˜ค๋Š” ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” `SNMP`์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด์™€ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์— ๋Œ€ํ•ด ์ดํ•ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

 `SNMP`์˜ ๊ธฐ๋Šฅ ์ค‘ manager, agent๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” `Net-SNMP`๊ฐ€ ์žˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ ๊ณผ๊ฑฐ์—๋Š” ์••์ถ•๋œ ์†Œ์Šค ํŒŒ์ผ์„ ์ง์ ‘ ์„ค์น˜ํ•˜์—ฌ์•ผ ํ–ˆ์ง€๋งŒ, ํ˜„์žฌ๋Š” ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.

 

install & configure

$ sudo apt update
$ sudo apt install snmp snmpd

 ์„ค์น˜ ํ™˜๊ฒฝ์€ `ubuntu 16.04`์ด๋‹ค. ์œ„์˜ ๋ช…๋ น์–ด์™€ ๊ฐ™์ด ๊ฐ„๋‹จํžˆ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, `snmp`๋Š” `Net-SNMP`๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. `snmpd`๋Š” ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด `snmp`๋ฅผ ๋ฐ๋ชฌํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

$ sudo vim /etc/snmp/snmpd.conf

14 # Listen for connections from the local system only
15 # agentAddress upd:127.0.0.1:161
16 # Listen for connections on all interfaces (both IPv4 *and* IPv6)
17 agentAddress upd:161,upd6:[::1]:161

$ sudo service snmpd restart

 ์œ„์™€ ๊ฐ™์ด `/etc/snmp/snmpd.conf`์— 15๋ฒˆ ๋ผ์ธ์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , 17๋ฒˆ ๋ผ์ธ์˜ ์ฃผ์„์„ ํ•ด์ œํ•˜์—ฌ์•ผ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ํ•ด๋‹น ํŒŒ์ผ์—์„œ 41๋ฒˆ ๋ผ์ธ ์ดํ›„(ACCESS CONTROL)์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค. (ex: rocommunity test 192.168.0.0/16). ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ •ํ•˜์˜€๋‹ค๋ฉด, `snmpd`๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์„ ๋ฐ˜์˜ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

$ netstat -na | grep udp
upd	0		0 0.0.0.0:161		0.0.0.0:*
upd6	0		0 ::1:161		:::*

 ์ •์ƒ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์—ˆ๋‹ค๋ฉด, netstat์—์„œ ์œ„์™€ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ ๋ฐ˜์˜๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ฐฉํ™”๋ฒฝ์„ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด `sudo ufw allow 161`์„ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ถ”๊ฐ€ ์„ค์ •์„ ์ง„ํ–‰ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

Net-SNMP command

 ๋ช…๋ น์–ด๋Š” ํฌ๊ฒŒ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์Šค์นผ๋ผ, ๋ฒกํ„ฐ๋กœ ๋‚˜๋‰œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ช…๋ น์–ด๋“ค์ด ์žˆ์ง€๋งŒ ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์šฉ๋„๋‚˜ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

(๊ฐ ๋ช…๋ น์–ด๋“ค์€ ๋Œ€๋ถ€๋ถ„ `-v snmp version`, `-c community name`, `ip addr or hostname`์„ ๋ช…์‹œํ•˜์—ฌ์•ผ ํ•œ๋‹ค.)

 

snmpstatus

$ snmpstatus -v 2c -c public localhost

[UDP: [127.0.0.1]:161->[0.0.0.0]:47309]=>[Linux kwon-virtualBox 4.15.0-132-generic #136~16.04.1-ubuntu SMP Tue 12 18:22:20 UTC 2021 x86_64] Up: 0:49:04.77 Interface: 2, Recv/Trans packets: 0/0 | IP: 0/0

  ์œ„์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ๊ฐ„๋‹จํžˆ ํŠน์ • ํ˜ธ์ŠคํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

snmpget

$ snmpget -v 2c -c public localhost sysName.0

 ํŠน์ • ์ธ์Šคํ„ดํŠธ ๋งŒ์„ ์กฐํšŒํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

snmpwalk

$ snmpwalk -v 2c -c public localhost

 `snmpget`๊ณผ ๋‹ฌ๋ฆฌ ํ˜ธ์ŠคํŠธ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

access remote host

 ๊ฒฝ์šฐ์— ๋”ฐ๋ผ, ๋‚ด๊ฐ€ ์ง€์ •ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ(IP ๋˜๋Š” IP ๋Œ€์—ญ)์— ๋Œ€ํ•ด์„œ๋งŒ SNMP ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •์„ ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

$ sudo vim /etc/snmp/snmpd.conf

14 # Listen for connections from the local system only
15 agentAddress upd:127.0.0.1:161
16 # Listen for connections on all interfaces (both IPv4 *and* IPv6)
17 agentAddress upd:161,upd6:[::1]:161

51 #rocommunity public default -V systemonly
52 #rocommunity6 public default -v systemonly
53 rocommunity ETH0 192.168.0.0/16

$ sudo service snmpd restart

 remote host์— public community๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•˜๊ณ , `ETH0`๋ผ๋Š” rocommunity๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๋˜ํ•œ, ํŠน์ • IP ๋Œ€์—ญ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ์„ค์ •์˜ ๊ฒฝ์šฐ remote host๋กœ snmp ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” `snmpstatus -v 2c -c ETH0 remote host ip`๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” agent์˜ IP ๋Œ€์—ญ์ด `192.168.0.0` ๋Œ€์—ญ์ด์–ด์•ผ ํ•œ๋‹ค.

 

 ์ฆ‰, community์˜ ์ด๋ฆ„์„ ๊ด€๋ฆฌ์ž ๋˜๋Š” ์‚ฌ์šฉ์ž๋งŒ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  IP ๋Œ€์—ญ์„ ์ œํ•œํ•œ๋‹ค๋ฉด snmp v3์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ์™ธ๋ถ€ ์ ‘๊ทผ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€