ubuntu 12.04 snmp,debian和ubuntu

老铁们,大家好,相信还有很多朋友对于ubuntu 12.04 snmp和debian和ubuntu的相关问题不太懂,没关系,今天就由我来为大家分享分享ubuntu 12.04 snmp以及debian和ubuntu的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

在ubuntu14.04上配置SNMPv3协议的方法

在Ubuntu 14.04上配置SNMPv3协议的详细步骤如下:

SNMPv3作为增强版的SNMP协议,为网络设备管理提供了更高的安全性与远程配置功能,尤其是在SNMP原始版本安全性较低的背景下。要配置SNMPv3,首先确保安装了SNMP服务器和客户端,可通过命令`sudo apt-get install snmpd snmp`完成。

配置SNMPv3的外部访问权限是一个重要步骤。默认情况下,snmpd仅允许本地访问。在`/etc/default/snmpd`文件中,将`SNMPDOPTS`的设置修改为`-Lsd-Lf/dev/null-u snmp-I-smux-p/var/run/snmpd.pid-c/etc/snmp/snmpd.conf`,以允许外部守护进程访问。

接着,为SNMPv3创建用户并设置相应的身份验证和加密参数。在`/etc/snmp/snmpd.conf`中,添加如下内容:

createUser user1 MD5 user2password

createUser user2 MD5 user2password DES user2encryption

createUser user3 MD5 user3password DES user3encryption

用户1没有权限,用户2仅需身份验证,用户3则需要身份验证和数据加密。

最后,为了接收来自任何接口的连接请求,将`agentAddress`的配置从`udp:161,udp6:[::1]:161`改为相同的地址。保存更改并重启snmpd守护进程,命令为`sudo/etc/init.d/snmpd restart`。

通过这些步骤,你已经在Ubuntu 14.04上成功配置了SNMPv3,现在可以使用它来更安全地管理网络设备了。

如何在Ubuntu CentOS和Cisco系统中配置SNMPv3

简单网络管理协议(SNMP)是一种广泛使用的协议,用于收集设备内部正在进行中的信息。比如说,CPU和RAM的使用率,服务器的负载率,网络接口的流量状态,和的设备的很多其他性能都可以用SNMP来查询。

当前,SNMP有3个版本:v1, v2c and v3。SNMP

v1和v2c,可方便地进行配置,这在以前的文章中讨论过。SNMPv3增加了一些额外的功能,包括身份验证和加密方案(例如,MD5,SHA,AES和

DES)。这使得我们在Internet上运行SNMP查询时,SNMPv3的更安全,更可取的。

同SNMP v1或v2c相比,SNMPv3的配置有一点不同。下面详细解释了配置是如何进行的。

在Ubuntu和Debian配置SNMPv3

使用net-snmp-config tool工具进行配置。下面的例子中创建了一个只读权限的SNMPv3账户,用户名为“snmpv3user”密码为“snmpv3pass”。默认身份验证方法是MD5加密,默认DES使用。这些设定也可根据需要改变。

root@server:~# apt-get install snmp snmpd

root@server:~# service snmpd stop

root@server:~# net-snmp-config--create-snmpv3-user-ro-A snmpv3pass snmpv3user

## OUTPUT##

adding the following line to/var/lib/snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/usr/share/snmp/snmpd.conf:

rouser snmpv3user

root@server:~# service snmpd start

SNMPv3测试

使用snmpwalk测试SNMP的配置。成功的测试结果应当有大量的输出数据。下面的例子使用上文建立的V3账户演示了snmpwalk的使用。Ubuntu和Debian的本地服务器IP地址192.168.1.1。

### SAMPLE OUTPUT###

iso.3.6.1.2.1.1.1.0= STRING:"Linux server 3.5.0-23-generic#35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.8072.3.2.10

iso.3.6.1.2.1.1.3.0= Timeticks:(68028) 0:11:20.28

iso.3.6.1.2.1.1.7.0= INTEGER: 72

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.2.1= OID: iso.3.6.1.6.3.10.3.1.1

iso.3.6.1.2.1.1.9.1.2.2= OID: iso.3.6.1.6.3.11.3.1.1

iso.3.6.1.2.1.1.9.1.2.3= OID: iso.3.6.1.6.3.15.2.1.1

iso.3.6.1.2.1.1.9.1.2.4= OID: iso.3.6.1.6.3.1

iso.3.6.1.2.1.1.9.1.2.5= OID: iso.3.6.1.2.1.49

iso.3.6.1.2.1.1.9.1.2.6= OID: iso.3.6.1.2.1.4

iso.3.6.1.2.1.1.9.1.2.7= OID: iso.3.6.1.2.1.50

iso.3.6.1.2.1.1.9.1.2.8= OID: iso.3.6.1.6.3.16.2.2.1

iso.3.6.1.2.1.1.9.1.3.1= STRING:"The SNMP Management Architecture MIB."

iso.3.6.1.2.1.1.9.1.3.2= STRING:"The MIB for Message Processing and Dispatching."

iso.3.6.1.2.1.1.9.1.3.3= STRING:"The management information definitions for the SNMP User-based Security Model."

iso.3.6.1.2.1.1.9.1.3.4= STRING:"The MIB module for SNMPv2 entities"

iso.3.6.1.2.1.1.9.1.3.5= STRING:"The MIB module for managing TCP implementations"

iso.3.6.1.2.1.1.9.1.3.6= STRING:"The MIB module for managing IP and ICMP implementations"

iso.3.6.1.2.1.1.9.1.3.7= STRING:"The MIB module for managing UDP implementations"

iso.3.6.1.2.1.1.9.1.3.8= STRING:"View-based Access Control Model for SNMP."

iso.3.6.1.2.1.1.9.1.4.1= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.2= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.3= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.4= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.5= Timeticks:(0) 0:00:00.00

### And the walk goes on and on###

删除SNMPv3账户

当net-snmp-config tool运行过程中,该账户的有关信息会存储在var/lib/snmp/snmpd.conf和/usr/share/snmp/snmpd.conf.两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/usr/share/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

之后不要忘记重启snmpd

root@server:~# service snmpd start

在CentOS或者RHEL中配置SNMPv3

相比Ubuntu,在 CentOS和 RHEL中配置SNMP v3用户的过程有点不同,但基本是相同的。

首先,使用yum安装必要的软件

[root@server~]# yum install net-snmp-utils net-snmp-devel

安装完成之后,先停止snmpd,再创建具有只读属性的SNMP账户。.

[root@server~]# service snmpd stop

[root@server~]# net-snmp-create-v3-user-ro-A snmpv3pass-a MD5-x DES snmpv3user

## OUTPUT##

adding the following line to/var/lib/net-snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/etc/snmp/snmpd.conf:

rouser snmpv3user

[root@server~]# service snmpd start

SNMPv3测试

snmpwalk是测试SNMP配置和输出出色的工具。成功的测试结果应当有大量的输出数据。

[root@server~]# snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.2-v3

### OUTPUT###

SNMPv2-MIB::sysDescr.0= STRING: Linux server.example.tst 2.6.32-71.el6.i686#1 SMP Fri Nov 12 04:17:17 GMT 2010 i686

SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks:(28963) 0:04:49.63

SNMPv2-MIB::sysORLastChange.0= Timeticks:(1) 0:00:00.01

SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1

SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

SNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

SNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIB

SNMPv2-MIB::sysORID.6= OID: IP-MIB::ip

SNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIB

SNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup

SNMPv2-MIB::sysORDescr.1= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.2= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.3= STRING: The SNMP Management Architecture MIB.

SNMPv2-MIB::sysORDescr.4= STRING: The MIB module for SNMPv2 entities

SNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementation

## and the output continues##

删除SNMPv3账户

SNMPv3账户信息被包含在两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/net-snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000

0x736e6d7076337573657200 0x736e6d7076337573657200 NULL

.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513

.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/etc/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

root@server:~# service snmpd start

防火墙调节(可选)

下面的例子中的防火墙规则可以被用于限制被允许进行SNMP查询的源IP地址。两个IP地址(例如,192.168.1.100/101)被置于白名单中。

root@server:~# iptables-A INPUT-s 192.168.1.100/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-s 192.168.1.101/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-p udp–dport 161-j DROP

思科交换机和路由器配置SNMPv3

思科交换机和路由器同样支持SNMPv3。下面的例子将创建一个访问控制列表(ACL)限制允许做SNMP查询的源IP地址。但是,这步被跳过了。

设置访问控制列表(ACL)(可选)

## global config mode##

ip access-list standard SNMP_ACL

permit 192.168.1.100

permit 192.168.1.100

SNMPv3配置

下面的配置创建一个名为v3Group与认证AuthNoPriv安全级别v3的组。前面定义的可选访问列表也支持设定。

## global config mode##

## With ACL##

snmp-server group v3Group v3 auth access SNMP_ACL

## Without ACL##

snmp-server group v3Group v3 auth

用户v3user被创建并添加在v3Group下。 MD5的密码和AES加密密钥也被定义。

snmp-server user v3user v3Group v3 auth md5 snmpv3pass priv aes 128 snmpv3pass

SNMPv3测试

SNMP用户和相关组可以在Cisco设备中查看。

### privileged EXEC mode##

show snmp user

User name: v3user

Engine ID:************************

storage-type: nonvolatile active

Authentication Protocol: MD5

Privacy Protocol: AES128

Group-name: v3Group

任何Linux设备中的snmpwalk的都可以用来验证配置和检查输出。

snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.3-v3

iso.3.6.1.2.1.1.1.0= STRING:"Cisco IOS Software”

Technical Support:

Copyright(c) 1986-2012 by Cisco Systems, Inc.

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.9.1.1166

iso.3.6.1.2.1.1.7.0= INTEGER: 78

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.2.1.0= INTEGER: 54

iso.3.6.1.2.1.2.2.1.1.1= INTEGER: 1

iso.3.6.1.2.1.2.2.1.1.2= INTEGER: 2

iso.3.6.1.2.1.2.2.1.1.3= INTEGER: 3

## output truncated##

observium 支持windows服务器吗

支持的。

Observium社区版本是一个在 QPL开源许可证下的免费工具,这个版本是对于较小部署的最好解决方案。该版本每6个月进行一次安全性更新。

第2个版本是 Observium专业版,该版本采用基于 SVN的发布机制。会得到每日安全性更新。该工具适用于服务提供商和企业级部署。

更多信息可以通过其官网获得。

系统需求

要安装 Observium,需要具有一个最新安装的服务器。Observium是在 Ubuntu LTS和 Debian系统上进行开发的,所以推荐在 Ubuntu或 Debian上安装 Observium,因为可能在别的平台上会有一些小问题。

该文章会引导你在 Ubuntu 12.04上安装 Observium。对于小型的 Observium安装,建议使用 256MB内存和双核处理器的配置。

安装需求

在安装 Observuim之前,你需要确认安装所有的依赖关系包。

首先,使用下面的命令更新你的服务器:

sudo apt-get update

然后你需要安装下列运行 Observuim所需的全部软件包。

Observium需要使用下面所列出的软件才能正确的运行:

LAMP服务器

fping

Net-SNMP 5.4+

RRDtool 1.3+

Graphviz

对于可选特性的要求:

Ipmitool-仅在当你想要获取服务器上的 IPMI(Intelligent Platform Management Interface智能平台管理接口)基板控制器时。

Libvirt-bin-仅在当你想要使用 libvirt进行远程 VM主机监控时。

sudo apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-mcrypt php5-json php-pear snmp fping mysql-server mysql-client python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick libvirt ipmitool

为 Observium创建 MySQL数据库及其用户。

现在你需要登录到 MySQL中并为 Observium创建数据库:

mysql-u root-p

在用户验证成功之后,你需要按照下面的命令创建该数据库。

CREATE DATABASE observium;

数据库名为 Observium,稍后你会需要这个信息。

现在你需要创建数据库管理员用户。

CREATE USER observiumadmin@localhost IDENTIFIED BY'observiumpassword';

接下来,你需要给该管理员用户相应的权限来管理创建的数据库。

GRANT ALL PRIVILEGES ON observium.* TO observiumadmin@localhost;

你需要将权限信息写回到磁盘中来激活新的 MySQL用户:

FLUSH PRIVILEGES;

exit

下载并安装 Observium

现在我们的系统已经准备好了,可以开始Observium的安装了。

第一步,创建 Observium将要使用的文件目录:

mkdir-p/opt/observium&& cd/opt

按本教程的目的,我们将会使用 Observium的社区/开源版本。使用下面的命令下载并解压:

wget

tar zxvf observium-community-latest.tar.gz

现在进入到 Observium目录。

cd observium

将默认的配置文件'config.php.default'复制到'config.php',并将数据库配置选项填充到配置文件中:

cp config.php.default config.php

nano config.php

/ Database config

$config['db_host']='localhost';

$config['db_user']='observiumadmin';

$config['db_pass']='observiumpassword';

$config['db_name']='observium';

现在为 MySQL数据库设置默认的数据库模式:

php includes/update/update.php

现在你需要创建一个文件目录来存储 rrd文件,并修改其权限以便让 apache能将写入到文件中。

mkdir rrd

chown apache:apache rrd

为了在出现问题时排错,你需要创建日志文件。

mkdir-p/var/log/observium

chown apache:apache/var/log/observium

现在你需要为 Observium创建虚拟主机配置。

<VirtualHost*:80>

DocumentRoot/opt/observium/html/

ServerName observium.domain.com

CustomLog/var/log/observium/access_log combined

ErrorLog/var/log/observium/error_log

<Directory"/opt/observium/html/">

AllowOverride All

Options FollowSymLinks MultiViews

</Directory>

</VirtualHost>

下一步你需要让你的 Apache服务器的 rewrite(重写)功能生效。

为了让'mod_rewrite'生效,输入以下命令:

sudo a2enmod rewrite

该模块在下一次 Apache服务重启之后就会生效。

sudo service apache2 restart

配置 Observium

在登入 Web界面之前,你需要为 Observium创建一个管理员账户(级别10)。

# cd/opt/observium

#./adduser.php admin adminpassword 10

User admin added successfully.

下一步为发现和探寻任务设置一个 cron任务,创建一个新的文件‘/etc/cron.d/observium’并在其中添加以下的内容。

33*/6*** root/opt/observium/discovery.php-h all>>/dev/null 2>&1

*/5**** root/opt/observium/discovery.php-h new>>/dev/null 2>&1

*/5**** root/opt/observium/poller-wrapper.py 1>>/dev/null 2>&1

重载 cron进程来增加新的任务。

#/etc/init.d/cron reload

好啦,你已经完成了 Observium服务器的安装拉!使用你的浏览器登录到 IP>,然后上路吧。

阅读剩余
THE END