apt-get install snmpd snmp (一般系统自带snmp)
vi /etc/snmp/snmpd.conf
配置之前的说明:我在网上看到的所有配置都是com2sec,group,access这三个配置,但是从默认的snmp.conf文件中有一段话:
没必要使用 com2sec/group/access配置,使用ro(w)user,ro(w)community结合合适的views,就可以覆盖大多数需求了。
snmpd默认监听本地IP的UDP161端口,等待snmp请求,对应下图第15行配置。
可以注释第15行配置,打开第17行配置,表示监听所有接口的连接。
格式:view viewName type oid[mask]
参数说明: viewName : view名称
type : 有两个值:include和exclude(包括或者排除)
oid:可以访问的oid(mib子树)
[mask]:对oid的掩码 (可选参数)
格式:ro(w)community communityName source
参数说明:rocommunity定义一个只读权限的共同体,rwcommunity定义一个读写 权限的共同体,rocommunity6或 rwcommunity6表示监听IPv6。
communityName:共同体名称
source:可以访问的IP地址范围,默认为”default”,即任何IP都能访问。
可选参数:-V viewName 限制共同体只能访问viewName下的节点
修改完配置之后,重启snmpd:
sudo service snmpd restart
连接测试:(该节点表示获取主机内存大小)
snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.4.3.0
得到以上结果说明snmpd配置成功。
虽然上面已经可以正常获取我们想要的信息,但是输出结果很不直观,这时我们需要配置MIB库。
方法1:
sudo apt-get install snmp-mibs-downloader
若安装不成功,则采用方法2
方法2:下载两个deb包:
sudo dpkg -i smistrip_0.4.8+dfsg2-15_all.deb
sudo dpkg -i snmp-mibs-downloader_1.1+nmu1_all.deb
然后修改snmp的配置文件
vi /etc/snmp/snmp.conf
注释掉 :mib 这一行
执行
snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.4.3.0
得到结果:
vi /etc/snmp/snmpd.conf
格式:extend oid 标识符 脚本执行路径(可选) 脚本 键值(可选)
例如上图自定义的MIB,可以通过
snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.22
访问
创建用户使用createUser关键字来进行。后面的参数依次是用户名、验证方式、验证码、加密方式、加密码。
创建的用户需要指明用户的权限,使用关键字rouser和rwuser来操作。
rouser用于指定用户的权限为只读,如果后面加上priv来指明需要加密。可以使用auth来指明需要认证。
rwuser用于指定用户的权限为读写,其他的与上面一致。