该文章仅解决 AD 对接Centos 配置的snmp 不回包,主要问题在于 AD 发包版本为1C 而配置为V2C 下面是排查流程,如果要看最后的解决方法看最后面 1、排查网络是否存在问题 由于服务器上存在防火墙 怀疑被拦截 使用命令,证明并没有进行拦截 iptables -L
查看 snmp的配置文档 cat /etc/snmp/snmpd.conf 这里我使用的视图或者说权限最开始是 .1 后来改为精准的 view SXF_AD_view included .1.3.6.1.2.1.1view SXF_AD_view included .1.3.6.1.2.1.25.1.1view SXF_AD_view included .1.3.6.1.3.25 但是依旧出现错误 这里在后台进行抓包测试 192.168.6.3 AD 访问服务器地址(注意不是管理地址) tcpdump host 192.168.6.3 and port 161 -i any -nn -c 100
证明网络正常的,但是服务器没有回包 因为这里使用到了 .1.3.6.1.2.1.25.3 OID 这里使用命令进行查询一下 snmpwalk -v 2c -c Sxf_AD_community localhost .1.3.6.1.2.1.25.3 如果返回 No Such Object,说明代理未实现该 OID,需通过 pass 指令动态返回数据。
但是这里返回的是Timeout: No Response from localhost 表示 SNMP 代理 (snmpd) 完全未响应请求
snmpwalk -v 2c -c Sxf_AD_community localhost .1.3.6.1.2.1.25.3 [root@DSCCP92 snmp]# ss -ulnp | grep snmpUNCONN 0 0 *:161 : users ("snmpd",pid=11101,fd=6))[root@DSCCP92 snmp]# snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.1.0Timeout: No Response from localhost.[root@DSCCP92 snmp]# systemctl status snmpd● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled) Active: active (running) since 一 2025-03-31 13:33:45 CST; 2min 21s ago Main PID: 11101 (snmpd) CGroup: /system.slice/snmpd.service └─11101 /usr/sbin/snmpd -LS0-6d -f 3月 31 13:33:45 DSCCP92.local systemd[1]: Stopped Simple Network Management Protocol (SNMP) Daemon..3月 31 13:33:45 DSCCP92.local systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....3月 31 13:33:45 DSCCP92.local snmpd[11101]: NET-SNMP version 5.7.23月 31 13:33:45 DSCCP92.local systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
停止服务systemctl stop snmpdpkill -9 snmpd 卸载软件包(保留配置文件可选)yum remove -y net-snmp net-snmp-utils 彻底删除残留文件和目录rm -rf /etc/snmp/ /var/lib/net-snmp/ /var/run/snmpd.pid
安装最新版本yum install -y net-snmp net-snmp-utils 生成默认配置文件(若未自动生成)cp /etc/snmp/snmpd.conf.rpmnew /etc/snmp/snmpd.conf # 或从备份恢复 cd /etc/snmp/ cat > /etc/snmp/snmpd.conf <<'EOF'
> # 基础配置
> com2sec notConfigUser default public
> com2sec SXF_AD 192.168.6.3 Sxf_AD_community
>
> group notConfigGroup v2c notConfigUser
> group SXF_AD_group v2c SXF_AD
>
> view all included .1
>
> access notConfigGroup "" any noauth exact all none none
> access SXF_AD_group "" any noauth exact all none none
>
> syslocation "Unknown"
> syscontact "Admin <admin@example.com>"
> dontLogTCPWrappersConnects yes
> EOF继续测试 [root@DSCCP92 snmp]# systemctl restart snmpd[root@DSCCP92 snmp]# snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.1.0SNMPv2-MIB::sysDescr.0 = STRING: Linux DSCCP92.local 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64[root@DSCCP92 snmp]# snmpget -v 2c -c Sxf_AD_community localhost .1.3.6.1.2.1.1.1.0SNMPv2-MIB::sysDescr.0 = STRING: Linux DSCCP92.local 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 [root@DSCCP92 snmp]# # 检查OID是否在MIB树中注册[root@DSCCP92 snmp]# snmptranslate .1.3.6.1.2.1.25.3.3.1.2HOST-RESOURCES-MIB::hrProcessorLoad 一切检查完毕,以为正常,但是还是出现回包问题
这里对之前在AD上抓的包进行检查,突然发现,发送的snmp协议包版本是 V1 这里在服务器后台 和 AD 上都确认了一下,确实是版本错误出现的问题
|