cmd中添加snmpd被控

📊 Windows SNMP服务被控端一键配置脚本

这段脚本用于在Windows系统中通过命令行快速配置SNMP服务,设置团体名(Community)允许的管理主机(Permitted Managers),免去手动打开服务的繁琐步骤。适合批量部署或远程配置cacti/zabbix等监控系统的被控端。

📋 脚本逐行详解

# 停止Windows防火墙服务(避免阻挡SNMP的UDP 161端口)
net stop sharedaccess

# 添加SNMP团体名(Community),用于身份验证
# 参数说明:/v 团体名称 /t 数据类型 /d 权限(4=读写, 2=只读) /f 强制覆盖
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\ValidCommunities /v badusnmp /t REG_DWORD_LITTLE_ENDIAN /d 4 /f

# 设置允许管理此SNMP代理的主机IP(白名单)
# 参数说明:/v 序号(从1开始) /t 字符串类型 /d 允许的IP地址
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers /v 1 /t REG_SZ /d 120.132.38.250 /f

# 重启SNMP服务使配置生效
net stop SNMP
net start SNMP

# 退出命令行窗口
exit

🔴 红色文字为自定义内容,请根据实际情况修改:

  • badusnmp — 替换为您的团队名称/团体名,需与监控端(如cacti)配置保持一致
  • 120.132.38.250 — 替换为您cacti主控端IP地址,可添加多个(依次增加/v 2、/v 3...)

🔧 SNMP权限说明

权限值含义适用场景
4 读写(READ WRITE) - 可获取数据并修改设备配置 需要远程修改SNMP参数的场景
2 只读(READ ONLY) - 仅能获取监控数据 常规监控(cacti/zabbix采集数据)
1 无权限 禁用该团体名

📌 补充说明

  • 管理员权限:所有命令需要以管理员身份运行CMD,否则会拒绝访问。
  • 预装SNMP功能:Windows默认不安装SNMP服务,需先安装:
    # Windows 7/8/10 安装SNMP命令(管理员权限) dism /online /enable-feature /featurename:SNMP
  • 防火墙放行:即使停止了sharedaccess,也可能有其他防火墙软件拦截,建议检查UDP 161端口是否开放。
  • 团体名建议:避免使用public/private等默认名,提高安全性。
  • 多IP设置:如需允许多个管理端,依次添加:
    reg add ... /v 2 /t REG_SZ /d 192.168.1.100 /f reg add ... /v 3 /t REG_SZ /d 10.0.0.50 /f

✅ 验证配置: 运行 services.msc 打开服务管理器,找到SNMP Service,右键属性 → 安全 选项卡,即可看到已配置的团体名和接受主机。也可在监控端用 snmpwalk -v 2c -c 团体名 被控端IP 测试连通性。

posted @ 2015-03-26 18:00  一起走过的路  阅读(351)  评论(0)    收藏  举报