今天我们将介绍Linux操作系统中的SNMP。简单的网络管理协议SNMP是为获取信息和设置it实体的配置而设计的。这些实体可以是交换机、路由器、PC机、机柜、打印机等。SNMP在2000年代非常流行。今天它也很流行,但用于收集信息。特别是今天使用snmp进行的监视,稍后将对其进行检查。Snmp有一个索引数据库,名为管理信息库(MIB),用于数据分类。供应商通常发布他们的mib。例如 可以找到Cisco MIB http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml . 收集snmp信息的系统一般称为网络管理站。提供有关您自己的信息或应用设置的系统称为托管设备。代理是在托管设备上运行并负责snmp的工具。
安装SNMP Ubuntu、Debian、Mint
我们可以将SNMP服务安装到 deb
基于如下分布。包名为 snmpd
.
$ sudo apt install snmpd snmp -y

安装SNMP Fedora、CentOS、RedHat
首先在Fedora、CentOS、RHEL中安装snmp守护程序、库和工具。
$ sudo yum install net-snmp-utils.x86_64 net-snmp.x86_64
列出Snmpd服务状态
安装SNMP包之后,我们可以检查服务或守护进程的状态。我们将使用 systemctl
针对调用的服务的命令 snmpd
.
$ systemctl status snmpd

SNMP服务配置文件snmpd.conf
SNMP服务配置文件位于 /etc/snmp
. 它被命名为 snmpd.conf
. 它包含有关服务的所有详细信息,如 sysContact
, sysLocation
,公共和私人密码。我们也可以创建用户和限制用户和OIB访问等,为了改变这个配置,我们需要 root
特权。
相关文章: Snmpwalk命令行示例

配置远程连接
安全性是todat IT环境的一个重要方面。为了使SNMP成为默认安装,该服务仅通过 127.0.0.1
或 localhost
. 因为默认安装的密码如下 public
和 private
. 远程攻击者可以访问snmp服务。在启用远程访问更改之前 public
和 private
密码。
查找下一行
agentAddress udp:127.0.0.1:161
更改为侦听所有接口
agentAddress udp:161,udp6:[::1]:161
更改sysContact和sysLocation
我们还可以通过 sysContact
和 sysLocation
属性。我们会在里面找到答案的 snmpd.conf
把我们想要的东西整理好。
sysLocation InPoftutsysContact [email protected]

重新启动SNMP服务以重新加载新配置
我们做了一些配置。为了使它们有效,我们应该重新加载配置。最实际的重新加载配置的方法是重新启动 snmpd
服务如下。
$ sudo systemctl restart snmpd
测试SNMP服务
我们可以用其中一个snmp工具测试我们的新配置和snmp服务。在本例中,我们将使用 snmpwalk
它将列出所有snmp数据。
$ snmpwalk -v 2c -c public localhost

我们可以看到我们的新数据,如联系方式和位置信息被激活并相应列出。