SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于网络设备管理的标准协议,广泛应用于网络监控和管理系统中。它允许管理员收集和组织网络设备信息,修改设备行为,并监控网络状态。
在基于Debian的系统(如Ubuntu):
sudo apt-get update
sudo apt-get install snmp snmpd snmp-mibs-downloader
在基于RHEL的系统(如CentOS):
sudo yum install net-snmp net-snmp-utils
主配置文件通常位于:
- /etc/snmp/snmpd.conf
(Debian/Ubuntu)
- /etc/snmp/snmpd.conf
(RHEL/CentOS)
# 允许哪些主机可以访问SNMP代理
rocommunity public 192.168.1.0/24
# 系统信息
sysLocation "Server Room"
sysContact admin@example.com
# 监控磁盘空间
disk / 10%
disk /var 5%
# 监控进程
proc httpd
proc mysqld
# 监控负载
load 12 14 14
# 创建只读视图
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
# 创建读写视图
view all included .1
# 创建SNMPv3用户
createUser snmpadmin SHA "authpass123" AES "privpass123"
rouser snmpadmin priv -V all
# 使用SNMPv1/v2c
snmpwalk -v 2c -c public localhost system
# 使用SNMPv3
snmpwalk -v 3 -u snmpadmin -l authPriv -a SHA -A "authpass123" -x AES -X "privpass123" localhost system
snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
snmpstatus -v 2c -c public localhost
.1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.3.0
.1.3.6.1.2.1.1.5.0
.1.3.6.1.4.1.2021.11.9.0
(用户), .1.3.6.1.4.1.2021.11.10.0
(系统).1.3.6.1.4.1.2021.4.5.0
(总内存), .1.3.6.1.4.1.2021.4.6.0
(空闲内存)# Debian/Ubuntu
sudo systemctl start snmpd
sudo systemctl stop snmpd
sudo systemctl restart snmpd
# RHEL/CentOS
sudo service snmpd start
sudo service snmpd stop
sudo service snmpd restart
sudo systemctl status snmpd
sudo systemctl enable snmpd
SNMP是网络管理的重要工具,Linux系统通过snmpd服务提供SNMP功能。正确配置和使用SNMP可以极大地简化网络设备监控和管理工作。在生产环境中,应特别注意SNMP的安全配置,优先使用SNMPv3并遵循安全最佳实践。