在 CentOS 7.x 上使用 snmpd 服務

參考網站:
八克里: 在 CentOS 7 安裝 snmpd 服務(CentOS 7 SNMP install)
How To Install and Configure SNMP on RHEL 7 or CentOS 7

為了使用 cacti 和 nagios 來監測系統主機,隨時掌握主機及服務的存活狀態,所以加裝 snmpd 服務。
1. 安裝 snmpd 所需套件
# yum install net-snmp net-snmp-utils

2. 備份原設定檔 /etc/snmp/snmpd.conf
# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.$(date +%F)[@more@]
3. 修改 /etc/snmp/snmpd.conf 設定檔
# grep -v “^$” /etc/snmp/snmpd.conf | grep -v ‘^ *#’
com2sec notConfigUser  default       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup “”      any       noauth    exact  systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes


將 41/47/48/55/56/62 行註解
# sed -i ’41s/^/#/’ /etc/snmp/snmpd.conf
# sed -i ’47s/^/#/’ /etc/snmp/snmpd.conf
# sed -i ’48s/^/#/’ /etc/snmp/snmpd.conf
# sed -i ’55s/^/#/’ /etc/snmp/snmpd.conf
# sed -i ’56s/^/#/’ /etc/snmp/snmpd.conf
# sed -i ’62s/^/#/’ /etc/snmp/snmpd.conf

取消  112,116~117,122~126,129~130,141~145,147 前面的註解
# sed -i ‘112s/^#//’ /etc/snmp/snmpd.conf
# sed -i ‘116,117s/^#//’ /etc/snmp/snmpd.conf
# sed -i ‘122,126s/^#//’ /etc/snmp/snmpd.conf
# sed -i ‘129,130s/^#//’ /etc/snmp/snmpd.conf
# sed -i ‘141,145s/^#//’ /etc/snmp/snmpd.conf
# sed -i ‘147s/^#//’ /etc/snmp/snmpd.conf
取消 151 行前面註解,並將rwview 改成 none
# sed -i -e ‘151s/^#//’ -e ‘s/rwview/none/’ /etc/snmp/snmpd.conf

4. 啟動 snmpd 服務及設定開機時啟動
# systemctl start snmpd.service
# systemctl enable snmpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.

5. 檢查 snmpd 是否有正常啟動
# netstat -auntp | grep snmp
tcp        0      0 127.0.0.1:199           0.0.0.0:*               LISTEN      1822/snmpd
udp        0      0 0.0.0.0:161             0.0.0.0:*                           1822/snmpd

6. 防火牆上的設定,最好要設定可以連線的範圍
# firewall-cmd –permanent –add-port=161/udp
success

# firewall-cmd –reload
success

# firewall-cmd –list-all
public (default, active)
  interfaces: eno16777736
  sources:
  services: dhcpv6-client ftp samba ssh
  ports: 21/tcp 161/udp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

7. 進行本機上的測試
# snmpwalk -v 1 -c public -O e 127.0.0.1
# snmpwalk -c public -v 2c 127.0.0.1