功能说明/ ubuntu安装snmp服务操作步骤说明
这里使用ubuntu 20.04来安装部署使用snmp
1、安装
我们需要安装下面三个软件包:
snmpd:snmp服务端软件
snmp:snmp客户端软件
snmp-mibs-downloader:用来下载更新本地mib库的软件
执行下面的命令安装这三个软件:
[root@VM-0-14-centos /]# sudo apt-get install snmpd snmp snmp-mibs-downloader
手动执行下面的命令来下载mib库
[root@VM-0-14-centos /]# sudo download-mibs
会有很多输出信息
这样的话,第一步安装工作也就完成了
2、配置
其实在安装完snmpd软件后,系统是为我们自动开启了这个服务的
[root@VM-0-14-centos /]# sudo service snmpd status
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
      Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; vendor preset: enabled)
      Active: active (running) since Tue 2025-04-15 10:09:09 UTC; 2min 49s ago
    Main PID: 24542 (snmpd)
       Tasks: 1 (limit: 1039)
      Memory: 7.4M
      CGroup: /system.slice/snmpd.service
              └─24542 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd.pid
 
 Apr 15 10:09:09 vultr systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
 Apr 15 10:09:09 vultr systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
    
在开始配置前,我们先来进行一些简单的测试,看看服务是否正常:
[root@VM-0-14-centos /]# snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux vultr 5.4.0-208-generic #228-Ubuntu SMP Fri Feb 7 19:41:33 UTC 2025 x86_64"
    
没有问题,有信息返回,那么接下来就直接进行各种配置了,不过在开始配置前先备份一下配置文件
[root@VM-0-14-centos /]# cd /etc/snmp
[root@VM-0-14-centos /etc/snmp]# sudo cp snmpd.conf snmpd.conf.ori
[root@VM-0-14-centos /etc/snmp]# ls snmpd*
snmpd.conf  snmpd.conf.ori
    
当然,需要注意的是,后面所讲的,使用的都是SNMPv2,其实这已经可以满足我们的需求了
3、配置节点
修改/etc/snmp/snmpd.conf文件,大概在45行,将下面的两行注释掉:
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
增加下面一行:
view systemonly included .1
4、配置MIB库
虽然上面已经可以正常获取我们想要的信息,但是输出结果很不直观,这时我们配置一下MIB库就可以了,不过需要注意的是
这个配置是对客户端软件的配置(只不过现在还是在我的同一台服务器主机上进行操作)
修改/etc/snmp/snmp.conf文件,将下面这行注释掉:
mibs :
然后重启snmp服务,再通过命令观察:
[root@VM-0-14-centos /etc/snmp]# sudo service snmpd restart
[root@VM-0-14-centos /etc/snmp]# snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.4.3.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 2457596 kB
5、配置snmp服务,允许远程主机访问
默认情况下,snmp服务只是对本地开启(161端口只对本机开放,161端口号是snmp服务的端口号),是无法通过远程获取该主机的snmp信息的,我们需要修改一下,让snmp服务对外开放
修改/etc/snmp/snmpd.conf文件,大概在15行,将下面一行注释掉
agentaddress 127.0.0.1,[::1]
如果防火墙在运行的话,也记得开放下端口161(snmp默认端口就是161),查看ubuntu防火墙命令使用说明
重新启动snmp服务,再通过命令观察
[root@VM-0-14-centos /]# sudo service snmpd start
6、配置共同体(可选),默认值是public
其实所谓共同体,把它理解为一个密码就行了,前面我们在使用snmpwalk命令获取主机的信息时,有一个-c public的参数,其实就是指定了这个共同体为public,这是默认的配置
如果在实际中,我们不想使用默认的值,也可以把它修改一下
修改配置文件/etc/snmp/snmpd.conf,大概在52行,将下面的两行:
rocommunity public default -V systemonly
rocommunity6 public default -V systemonly
修改为:
rocommunity wgcloud default -V systemonly
rocommunity6 wgcloud default -V systemonly
重新启动snmp服务
[root@VM-0-14-centos /]# sudo service snmpd restart
到此,snmp服务安装就完成了
本文引自连接