ํฐ์คํ ๋ฆฌ ๋ทฐ
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์ ๋ณด์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์์๋ ์ธ๋ถ ์ ๊ทผ์ ๋ง์ ์ ์๋ค.
'๐๏ธโโ๏ธ ๊ธฐ๋ฐ ๋ค์ง๊ธฐ > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋คํธ์ํฌ: SMTP(Postfix) ์๋ฒ ๊ตฌ์ถ (4) | 2021.02.28 |
---|---|
๋คํธ์ํฌ: SNMP (0) | 2021.02.07 |
๋คํธ์ํฌ: ARP (0) | 2021.01.18 |
๋คํธ์ํฌ: ์ค์์น (1) | 2020.12.10 |
๋คํธ์ํฌ: ํ๋ธ (0) | 2020.12.09 |