snmp配置
使用snmp远程调用获取设备信息注意点(使用前提):
1 被管理设备上snmp服务正常,且可以被远程调用(修改/etc/snmp/snmpdconf配置文件,大概在15行,将下面一行注释掉:agentAddress udp:127001:161)>>>不要配置这个
2 SNMP默认只能查看两个设备节点,要想查看所有节点还需要进行一些配置。打开/etc/snmp/snmpdconf,配置mibs,使其所有设备信息都可以被获取到
3 保证被管理设备将161端口和162端口设置通过防火墙设置
经过对比,linux安装netsnmp,python使用Easysnmp包,
Net-snmp版本:rpm -qa|grep snmp 572
配置:
装好之后修改/etc/snmp/snmpdconf对其进行配置:
A、修改默认的“community” string com2sec notConfigUser default public 将public修改为你才知道的字符串; 另default字符串如果想指定特定的服务器采集数据的话,将此字段替换成允许采集服务器的IP地址。(默认的话跳过此步)
B、把下面的#号去掉 #view mib2 included isoorgdodinternetmgmtmib-2 fc
C、把下面的语句access notConfigGroup” ” any noauth exact systemview none none 改成: access notConfigGroup ” ” any noauth exact mib2 none none
D、service snmpd restart
E、48服务器snmp可以开机自启:设置snmp的开机启动项,运行vi /etc/rclocal,将以下写入,/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpdconf
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规则。
支持SNMP的网络设备、操作系统和应用程序可以通过该协议与管理软件通信,汇报其当前的行为和状态;同时,用户还可以借助SNMP来控制这些设备和产品,重定向通信流,改变通信数据包的优先级,甚至断开通信连接。因此,入侵者如果具备相应能力,他就能完全接管您的网络和设备,使系统或服务崩溃。 为了保护网络的安全,安全专家作出了以下建议: 首先,关闭SNMP功能、甚至禁用具备SNMP的设备。由于SNMP V1的漏洞,具备和允许SNMP的网络设备很容易成为黑客攻击的目标,而使整个网络系统安全性能下降。因此首先应该仔细检查网络中每台支持SNMP的路由器、交换机、集线器、服务器和打印机等,以及各个应用软件的SNMP是否关闭。当然,关闭SNMP给集中网络管理造成了障碍。 其次,为所有需要使用SNMP的设备和软件安装补丁程序。随着SNMP漏洞的揭示和安全警告的发出,各网络厂商已经开始针对此漏洞进行修补,并已有不少供应商发布了专门的补丁。在开启SNMP之前,下载并安装补丁程序是非常必要的。 第三,修改缺省的community string。网络设备在使用SNMP中都设有community string,它类似于简单的口令验证机制,用来确认是否具有可读或读写的权限。许多用户在购买设备以来,从未修改系统缺省的community string,因此非授权用户使用缺省口令就可以对重要的系统信息、设备的状态等进行修改。 第四,使用防火墙阻断外网对内网的SNMP访问。对进入网络设备的数据进行过滤,尤其是对SNMP的几个端口的访问,拒绝来自非授权地址的SNMP请求,这样能有效地阻止来自于Internet上的非法攻击。如果防火墙或防火墙以外的设备(如路由器)也开启了SNMP,用户首先应该确保它们已经安装了相应补丁程序。 第五,在分离的管理网络中使用SNMP。用户可以借助VLAN或***技术来安全地使用SNMP,在同一物理网络中划分出分离的虚拟网络、并将SNMP限于某个VLAN中能更大程度地增加安全性,而***能提供一个增强的验证机制来阻止非授权的SNMP。
ubuntu默认是不开启snmp服务器的,因此使用cacti是无法抓取到ubuntu服务器的相关信息。为了解决这个问题,我们需要在ubuntu上安装snmp服务。
安装snmp配套的软件:
apt-get install snmpd snmp
修改 /etc/snmp/snmpdconf配置文件:
# secname source community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private
设置 syslocation 和 syscontact参数:
syslocation 17smtcom
syscontact Leejd@GridOKcom
上述设置好之后,重启snmpd服务,然后使用:
snmpwalk -v2c -c public localhost
执行,如果正常的输出了结果,那就说明服务已经启动了。但是你在别的机器上进行snmpwalk操作的话,会返回一个超时的提示,需要修改SNMP的网络访问设置,修改 /etc/default/snmpd:
# snmpd options (use syslog, close stdin/out/err)
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpdpid'
移除第二行行尾的127001,允许外部机器访问,重启snmp服务即可:
snmpwalk -v2c -c public 172201249
看到屏幕滚动了吗?看到了就说明你成功了,可以在cacti里面抓到ubuntu的snmp信息了。
0条评论