Ubuntu系统下安装和配置snmp

目录

一、安装SNMP
1.1、下载Net-SNMP的源代码

选择一个SNMP版本,比如5.7.1,下载地址如下:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/,如下图所示:
在这里插入图片描述在这里插入图片描述
  下载完成之后得到如下图所示的一个压缩包
在这里插入图片描述
  
1.2、把压缩包传输到远程的Linux服务器

把压缩包使用FTP传输工具传输到远程的Linux服务器
在这里插入图片描述
  上传成功后在linux的root目录下就可以看到压缩包了,如下图所示:
在这里插入图片描述
  也可以在linux命令行窗口使用ls命令罗列出Root目录所有的文件进行查看,如下图所示:
在这里插入图片描述
  
1.3、对源代码包进行解压缩

使用命令"tar xzvf net-snmp-5.7.1.tar.gz"对下载的源代码包进行解压缩,如下图所示:
在这里插入图片描述
  解压成功后得到一个net-snmp-5.7.1文件夹,如下图所示:
在这里插入图片描述  
1.4、通过configure来生成编译规则

使用命令"cd net-snmp-5.7.1"进入net-snmp-5.7.1目录,如下图所示:
在这里插入图片描述
  net-snmp-5.7.1目录下的configure是可执行文件,如果想指定程序包的安装路径,那么首先建立相应的文件夹来存放安装信息,可以写成./configure –-prefix=/指定的路径名。参数–prefix用来告诉系统安装信息存放的路径,如果没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下

执行命令"./configure --prefix=/usr/local/snmp --with-mib-modules=‘ucd-snmp/diskio ip-mib/ipv4InterfaceTable’",注意,以上的–with-mib-modules=ucd-snmp/diskio选项,可以让服务器支持磁盘I/O监控。如下图所示:
在这里插入图片描述
  回车出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下
    1、default version of-snmp-version(3):
    2、System Contact Information (@@no.where)(配置该设备的联系信息):
    3、System Location (Unknown)(该系统设备的地理位置):
    4、Location to write logfile (日志文件位置):
    5、Location to Write persistent(数据存储目录):
在这里插入图片描述

1、default version of-snmp-version:
在这里插入图片描述

2、Systemcontact information(配置该设备的联系人):
在这里插入图片描述

3、System location (该设备的位置):
在这里插入图片描述

4、Location to write logfile (日志文件位置): /var/log/snmpd.log
在这里插入图片描述

5、Location to Write persistent(数据存储目录): /var/net-snmp
在这里插入图片描述
  
1.5、编译和安装

执行编译并安装"make && make install"命令,如下图所示:
在这里插入图片描述在这里插入图片描述 
ubuntu下需要安装一个依赖包libperl-dev,不装此依赖包的话会导致编译过不去,报错.(本人使用的是ubuntu 16.04,没测试过别的版本,如果有同样问题,可做参考.)
可以使用sudo apt-get install libperl-dev
来安装,如果提示有依赖冲突,aptitude可以解决问题,
1.sudo apt-get install aptitude,
2.sudo aptitude install libperl-dev
先选择n,再降级依赖包,之后选择y,就可以成功安装了依赖包了.

1.6、配置snmpd.conf

使用"ls"命令查看/usr/local/snmp目录下是否存在etc目录,如果不存在etc目录,就创建一个,如下图所示:
在这里插入图片描述
  
  查看结果显示不存在etc目录,在/usr/local/snmp目录下创建一个etc目录,创建etc目录命令"mkdir /usr/local/snmp/etc",如下图所示:
在这里插入图片描述

找到SNMP源码目录(net-snmp-5.7.1)下EXAMPLE.conf文件,如下图所示:
在这里插入图片描述

复制EXAMPLE.conf文件到到/usr/local/snmp/etc目录,并重命名为snmpd.conf:“cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf”
在这里插入图片描述

使用vi编辑器打开snmpd.conf文件:“vi /usr/local/snmp/etc/snmpd.conf”,编辑snmpd.conf文件中的内容
在这里插入图片描述
  
  按下键盘上的字母【I】或者【Insert】键进入vi编辑器的编辑模式
在这里插入图片描述

要配置snmpd.conf中内容如下:

1、配置允许网络访问

找到【AGENT BEHAVIOUR】,如下图所示:
在这里插入图片描述
  修改如下:添加"agentAddress udp:161"配置项,如下图所示:
在这里插入图片描述
  2、选择v2c SNMP协议的版本

找到【ACTIVE MONITORING】,如下图所示:
在这里插入图片描述
  修改如下:
在这里插入图片描述
  3、设置访问权限

找到【ACCESS CONTROL】如下图所示:
在这里插入图片描述
  找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部,如下图所示:
在这里插入图片描述
  4、保存snmpd.conf后退出

按下键盘左上角上的【Esc】键退出vi编辑器的编辑模式,然后输入命令":wq"保存文件并退出,如下图所示:
在这里插入图片描述
  经过以上的4个步骤,针对SNMP的snmpd.conf文件的配置工作算是全部完成了。
1.7、启动snmp服务

由于我们刚才修改SNMP的snmpd.conf文件,所以在启动snmp服务之前,先使用命令"ps aux | grep snmp | grep -v grep |awk ‘{print $2}’| xargs kill"关闭snmp的相关服务,如下图所示:
在这里插入图片描述
  
  使用"netstat -an |grep 161"查看snmp的服务是否启动,如下图所示:
在这里插入图片描述
 有时也会出现如下情况,对最终结果不影响:
在这里插入图片描述

启动snmp服务:"/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf",如下图所示:
在这里插入图片描述
  
1.8、测试SNMP

获取本机的系统名字,使用命令:"snmpget -v 2c -c public localhost sysName.0"或者"snmpget -v 2c -c public 本机的ip地址 sysName.0"或者"snmpget -v 2c -c public 本机的ip地址 .1.3.6.1.2.1.1.5.0"进行测试,

执行以下的几个命令都可以获取到本机的系统名字:

snmpget -v 2c -c public localhost sysName.0
    snmpget -v 2c -c public 127.0.0.1 sysName.0
    snmpget -v 2c -c public 192.168.1.229 sysName.0
    snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
    snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
    snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0

如下图所示:
在这里插入图片描述

能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令"snmpget --version"查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号,如下图所示:
在这里插入图片描述
  
1.9、开启UDP 161端口的访问权限

完成snmpd的配置并且SNMP测试通过之后,要确保Linux的iptables防火墙对外开放了udp 161端口的访问权限,可以使用"iptables –L –n"查看当前iptables规则,如下图所示:
在这里插入图片描述

可以看到,目前iptables防火墙并没有对外开放udp 161端口的访问权限,也就是说,此时外面的计算机是无法访问Linux下的SNMP服务的,可以使用"iptables -I INPUT -p udp --dport 161 -j ACCEPT"命令添加UDP 161端口到iptables防火墙中,然后执行"iptables save"命令保存防火墙的更改,如下图所示:
在这里插入图片描述
此处的保存命令,应该改为“iptables-save”,这样就不会出现上方的错误:
在这里插入图片描述

我们可以在window系统下使用Snmputil.exe工具测试对Linux下的SNMP访问,测试Linux的UDP 161端口是否对外开放,如下图所示:
在这里插入图片描述

"snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0"命令返回192.168.1.229这台Linux服务器的名字,可以看到,Linux服务器的名称已经正常返回输出到命令行窗口了。
二、卸载SNMP

如果安装后想卸载SNMP,可以执行"make uninstall"命令,卸载步骤如下:

1、使用"netstat -an |grep 161"查看snmp服务是否启动

2、如果已经启动就使用命令"ps aux | grep snmp | grep -v grep |awk ‘{print $2}’| xargs kill"关闭snmp的相关服务

3、进入SNMP源码目录(net-snmp-5.7.1)

4、执行"make uninstall"命令卸载SNMP

5、删除/usr/local下的snmp目录以及snmp目录里面的所有文件,usr/local/snmp是SNMP的安装路径

如下图所示:
在这里插入图片描述

开始卸载SNMP,如下图所示:
在这里插入图片描述
  
  snmp卸载完成,如下图所示:
在这里插入图片描述

删除/usr/local下的snmp目录以及snmp目录里面的所有文件,如下图所示:
在这里插入图片描述
  
  转载自:https://www.cnblogs.com/xdp-gacl/p/4016524.html

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在 Ubuntu 18.04 上安装 Cacti: 1. 更新系统软件包: ``` sudo apt update sudo apt upgrade ``` 2. 安装必需的软件包: ``` sudo apt install lamp-server^ snmp php-xml php-mbstring php-gd php7.2-snmp ``` 3. 配置 MySQL 数据库: ``` sudo mysql_secure_installation ``` 4. 创建 Cacti 数据库: ``` sudo mysql -u root -p CREATE DATABASE cacti; GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit; ``` 5. 导入 Cacti 数据库模板: ``` sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql ``` 6. 配置 Cacti: ``` sudo nano /etc/cacti/debian.php ``` 找到以下行并修改数据库信息: ``` $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cactiuser'; $database_password = 'password'; $database_port = '3306'; $database_ssl = false; ``` 7. 配置 Apache2 Web 服务器: ``` sudo nano /etc/apache2/sites-available/cacti.conf ``` 添加以下内容: ``` Alias /cacti /usr/share/cacti/site <Directory /usr/share/cacti/site> Options +FollowSymLinks AllowOverride None Order deny,allow Deny from all # 添加以下行 Allow from localhost </Directory> ``` 8. 启用 Cacti 配置文件和 Apache2 配置文件: ``` sudo ln -s /etc/cacti/apache.conf /etc/apache2/conf-available/cacti.conf sudo a2enconf cacti sudo systemctl reload apache2 ``` 9. 创建 Cron 作业: ``` sudo nano /etc/cron.d/cacti 添加以下行: */5 * * * * www-data php /usr/share/cacti/site/poller.php >/dev/null 2>&1 ``` 10. 配置 SNMP: ``` sudo nano /etc/snmp/snmpd.conf ``` 找到以下行并取消注释: ``` agentAddress udp:161 ``` 11. 重启 SNMP 和 Apache2 服务: ``` sudo systemctl restart snmpd sudo systemctl restart apache2 ``` 现在你可以通过访问 `http://your-ip-address/cacti` 来打开 Cacti 网页界面,并按照安装向导进行配置。默认用户名为 `admin`,默认密码为空。 希望这能帮助到你成功安装 Cacti!如有任何问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值