2安装以上的几个rpm包 若系统中没有安装以上包,则先安装。 使用命令:rpm –ivh
3启动snmp服务 若安装成功,则可使用命令: $ service snmpd start
4验证snmp服务 (1)使用snmpwalk命令,查看本机localhost的主机名: 1) 安装SNMP
略,请参阅LINUX系统SNMP安装说明,一般情况下Linux中 的均已经自动安装了SNMP服务。以下命令可以检测SNMP服务是否安装以及安装的文件包。
[root@idc ~]# rpm -qa |grep snmp
net-snmp-libs-512-11EL47
net-snmp-512-11EL47
2) 配置SNMP
按照如下方式修改/etc/snmp/snmpdconf文件
A、修改默认的community string(SUM中SNMP读值密码)
com2sec notConfigUser default public
将public修改为你才知道的字符串
将“default”改为你想哪台机器可以看到你 的snmp信息,比如SUM所在IP为:10101010, 就改成这个IP。不改表示所有机器充许。
B、把下面的#号去掉
#view mib2 included isoorgdodinternetmgmtmib-2 fc
启用全部功能可以使用如下一行(如果没有可以加入一行):
view all included 1 80
C、把下面的语句
access notConfigGroup "" any noauth exact systemview none none
改成:
access notConfigGroup "" any noauth exact mib2 none none
或是:
access notConfigGroup "" any noauth exact all none none
3) 启动与停止SNMP
一般使用:service snmpd start|stop|restart命令。或是:
#/etc/rcd/initd/snmpd restart
4) 防火墙
如果Linux启动了防火墙,请开放UDP的161端 口。确保Linux的iptables防火墙对SUM监控服务器开放 了udp 161端口的访问权限
可使用iptables L n 查看当前iptables规则
可编辑/etc/sysconfig/iptables文 件来修改iptables规则。1下载net-snmp -53pre4targz包
编译,安装
[root@banyuenet net-snmp -521]# /configure –prefix=/usr/local/net-snmp -521
[root@banyuenet net-snmp -521]#make
[root@banyuenet net-snmp -521]#make install
2创建放配置 文件的目录
[root@banyuenet net-snmp -521]# mkdir /etc/snmp
3拷贝配置 文件
将解压出来的包中的EXAMPLEconf拷贝到刚创建的目/etc/snmp 中,并命名为snmpdconf
[root@banyuenet net-snmp -521]# cp -R EXAMPLEconf /etc/snmp /snmpdconf
4修改配置 文件
[root@banyuenet net-snmp -521]# vi /etc/snmp /snmpdconf
找到如下行,将其改为你想要的字符串,和网络
# secname source community
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
例如
com2sec local localhost COMMUNITY
com2sec mynetwork 19216810/24 abcpublic
注意要用19216810/24 MS不能用19216811/24另外改后要重启snmp 才能生效
5开启snmp
[root@banyuenet net-snmp -521]# /usr/local/net-snmp -521/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd -a -c /etc/snmp /snmpdconf
6重启
[root@banyuenet net-snmp -521]# killall -9 snmpd
root@banyuenet net-snmp -521]# /usr/local/net-snmp -521/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd -a -c /etc/snmp /snmpdconf
这样下来应该行了,
大概的思路吧一、安装snmp服务 1、检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2106-55el5i386rpm lm_sensors-2106-55el5i386rpm net-snmp-libs安装snmp服务
CentOS/RedHat下可以只用yum命令进行安装。
$ yum –y install net-snmp net-snmp-devel
若要使用snmpwalk进行安装检测,则还需要安装net-snmp-utils包
$ yum –y install net-snmp-utils
Ubuntu可以通过apt-get install snmp snmpd 进行安装
设置安全的验证方式
将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问您的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,云监控目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3,当然,只要按照以下的介绍进行配置,不论是v2c版本还是v3版本,都可以保证一定的安全性,您可以根据情况来选择。
注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本,而Net-SNMP是用来实现SNMP协议的程序套件,目前它的最新版本是刚才提到的5421。
v2c
先来看如何配置v2c版本的SNMP代理,我们来创建snmpd的配置文件,默认情况下它是不存在的,我们来创建它,如下:
sdo:~ # vi /usr/local/snmp/share/snmp/snmpdconf
然后我们需要创建一个只读帐号,也就是read-only community,在snmpdconf中添加以下内容:
rocommunity sdomonitor 114801329 rocommunity sdomonitor 5821516926 rocommunity sdomonitor 5821516927
如果想要检测服务是否成功开启,则还需要在snmpdconf中添加:
rocommunity sdomonitor 127001
注意,这里的"rocommunity"表示这是一个只读的访问权限,云监控只可以从您的服务器上获取信息,而不能对服务器进行任何设置。
紧接着的"sdomonitor"相当于密码,很多平台喜欢使用"public"这个默认字符串。这里的"sdomonitor"只是一个例子,您可以设置其它字符串作为密码。
最右边的"6019524983"代表指定的监控点IP,这个IP地址是云监控专用的监控点,这意味着只有云监控有权限来访问您的SNMP代理程序。
所以,以上这段配置中,只有"sdomonitor"是需要您进行修改的,同时在云监控上添加服务器的时候,需要提供这个字符串。
v3
当然,我们建议您使用v3版本来进行身份验证。对于一些早期版本的Linux分发版,其内置的SNMP代理程序可能并不支持v3,所以我们建议您按照前边介绍的方法,编译和安装最新的Net-Snmp。
v3支持另一种验证方式,需要创建一个v3的帐号,我们同样修改以下配置文件:
sdo:~ # vi /usr/local/snmp/share/snmp/snmpdconf
然后添加一个只读帐号,如下:
rouser sdomonitor auth
可以看到,在v3中,"rouser"用于表示只读帐号类型,随后的"sdomonitor"是指定的用户名,后边的"auth"指明需要验证。
接下来,我们还要添加"sdomonitor"这个用户,这就是v3中的特殊机制,我们打开以下配置文件:
sdo:~ # vi /var/net-snmp/snmpdconf
这个文件会在snmpd启动的时候被自动调用,我们需要在它里边添加创建用户的指令,如下:
createUser sdomonitor MD5 mypassword
这行配置的意思是创建一个名为"sdomonitor"的用户,密码为"mypassword",并且用MD5进行加密传输。这里要提醒的是:
密码至少要有8个字节
这是SNMP协议的规定,如果小于8个字节,通信将无法进行。
值得注意的是,一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除,当然,snmpd会将这些配置以密文的形式记录在其它文件中,重新启动snmpd是不需要再次添加这些配置的,除非您希望创建新的用户。
以上配置中的用户名、密码和加密方式,在云监控添加服务器的时候需要添加。
启动snmp服务
$ service snmpd start
用以下命令检查服务是否启动成功
$ snmpwalk -v 2c -c sdomonitor 127001 system
如果要关闭,则可以直接kill这个进程,如下:
$ killall -9 snmpd 或者$ service snmpd stop
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)