当前位置: 首页 > news >正文

linux对外提供snmp服务

        之前都是使用net-snmp去snmpwalk交换机来获取信息,今天记录一下使用snmpd来支持别人snmpwalk自己。本文主要是记录snmpd.conf的使用,snmpd程序为net-snmp默认携带的程序。

一、配置文件引用关系

        当我们存储配置的时候,往往会有基本部分(这部分配置后不再变动)和配置部分(根据需要会频繁变化),而snmpd.conf本身也是支持配置引用的:

includeFile 文件路径/被引用的配置文件名例如:includeFile /opt/etc/snmpd_custom.conf

二、配置文件配置说明

(1)配置监听

agentAddress udp:161,udp6:[::]:161解释:
(1)这句话表示监控所有ipv4和ipv6接口的udp端口161
(2)如果不想支持ipv6,就把udp6那部分去掉就可以了
(3)可以指定本地网口具体地址,例如:udp:127.0.0.1:161

(2)配置视图(View)

添加你想要支持的节点,分为两类,一类是标准的,一类是私有的view defview included .1.3.6.1.2.1.1.1
view defview included .1.3.6.1.2.1.1.2
view defview included .1.3.6.1.2.1.1.5
view defview included .1.3.6.1.2.1.1.6
view defview included .1.3.6.1.2.1.2.2.1.2
view defview included .1.3.6.1.2.1.2.2.1.3
view defview included .1.3.6.1.2.1.2.2.1.6
view defview included .1.3.6.1.2.1.2.2.1.7
view defview included .1.3.6.1.2.1.2.2.1.8
view defview included .1.3.6.1.2.1.2.2.1.10
view defview included .1.3.6.1.2.1.2.2.1.16
view defview included .1.3.6.1.4.1.6866.10.6.1
view defview included .1.3.6.1.4.1.6866.10.6.2
view defview included .1.3.6.1.4.1.6866.10.6.3.1
view defview included .1.3.6.1.4.1.6866.10.6.3.2
view defview included .1.3.6.1.4.1.6866.10.6.3.3

(3)配置默认值

默认配置我主要是修改的系统信息相关的(1)系统描述: sysdescr       Test sysdescr
(2)主机名:   sysName        localhost
(3)物理位置: sysLocation    Beijing, China
(4)厂商标识: sysObjectID    1.3.6.1.4.1.6866.10.6

(4)配置v1/v2c/v3(usm)

(1)v1和v2c的配置:IPv4配置:com2sec $(安全名字) $(限制IP) $(团体名)IPv6配置:com2sec6 $(安全名字) $(限制IP) $(团体名)解释$(限制IP):default表示允许所有,支持单IP或网段,用于限制可以访问的源地址范围,有多条可配置多条。例子:com2sec secname default publiccom2sec6 secname6 default public如果要配置v1:格式:group $(组名) v1 $(引用安全名)access $(引用组名) "" v1 noauth exact $(引用读视图) none none例子:group groupv1 v1 secnamegroup groupv1 v1 secname6access groupv1 "" v1 noauth exact defview none none如果要配置v2,与上述一样格式:group $(组名) v2c $(引用安全名)access $(引用组名) "" v2c noauth exact $(引用读视图) none none例子:group groupv2c v2c secnamegroup groupv2c v2c secname6access groupv2c "" v2c noauth exact defview none none注意,access里面,当配置v1和v2c的时候,一定是noauth,最后两个none,一个是写视图,一个是通知视图,这两个我没用到,所以是none(2)v3的配置格式:group $(组名) usm $(用户名)例子:group groupv3 usm testuser格式:access $(引用组名) "" usm $(noauth | auth | priv) exact $(引用读视图) none none例子:access groupv3 "" usm auth exact defview none none解释:noauth:不认证不加密auth:认证不加密priv:认证加密对于v3的认证类型、认证密码、加密类型、加密秘密需要在/var/net-snmp/snmpd.conf配置,配置完之后,启动服务,服务会基于配置文件生成加密配置格式:createUser $(引用用户名) 认证类型 认证密码 加密类型 加密密码例子:如果前面配置的用户是不认证不加密:createUser testuser如果前面配置的用户是认证不加密:createUser testuser MD5 pwd123456如果前面配置的用户是认证加密:createUser testuser MD5 pwd123456 AES pwd12345678认证类型和加密类型的支持看你的net-snmp版本,可以通过snmpwalk -h查看,我的是5.9.1版本:认证类型:MD5 | SHA | SHA-224 | SHA-256 | SHA-384 | SHA-512加密类型:DES | AES | AES-192 | AES-256

(5)配置拓展

我的拓展是采用二进制的,我用c写了一个程序,需要什么自己些什么就可以extend .1.3.6.1.2.1.1.1 myBinary /opt/bin/hf_snsvr sysdescr
extend .1.3.6.1.4.1.6866.10.6.1 myBinary /opt/bin/hf_snsvr sysuptime
extend .1.3.6.1.4.1.6866.10.6.2 myBinary /opt/bin/hf_snsvr sysload
extend .1.3.6.1.4.1.6866.10.6.3.1 myBinary /opt/bin/hf_snsvr cpucore
extend .1.3.6.1.4.1.6866.10.6.3.2 myBinary /opt/bin/hf_snsvr cpufreq
extend .1.3.6.1.4.1.6866.10.6.3.3 myBinary /opt/bin/hf_snsvr cpuload

三、服务启动说明

(1)启动服务:snmpd -p /opt/run/snmpd.pid -c /opt/etc/snmpd.conf

        -p:指向pid文件的存储路径

        -c:指向snmpd.conf配置的存储路径

(2)需要注意,如果用killall snmpd,程序会正常退出,如果程序运行着,修改了/var/net-snmp/里面的snmpd.conf文件,killall snmpd的时候,程序会重写这个文件,所以要么先退了snmpd程序,再修改/var/net-snmp下的配置,要么killall -9 snmpd

        本篇文章是根据我自己的实际使用来记录的,没有去解释snmpd.conf里面的没条命令每个字段的具体含义。

        感谢大家参考、欢迎大家提问、期待大家指正!谢谢~

http://www.dtcms.com/a/337727.html

相关文章:

  • Pytest项目_day18(读取ini文件)
  • Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
  • 如何解决机器翻译的“幻觉“问题(Hallucination)?
  • 当AI学会“思考”:大语言模型背后的智能本质与伦理边界
  • 【提示词技巧】通用提示词原则介绍
  • Linux学习-软件编程(进程间通信1)
  • ROS 2 中用于建图的一些 topic
  • PyTorch神经网络工具箱(优化器)
  • buuctf:护网杯_2018_gettingstart、oneshot_tjctf_2016
  • llamafactory使用qlora训练
  • VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战
  • 使用LLaMA-Factory对大模型进行微调-详解
  • OSG+Qt —— 笔记2- Qt窗口绘制棋盘及模型周期运动(附源码)
  • linux:告别SSH断线烦恼,Screen命令核心使用指南
  • 第四章:大模型(LLM)】07.Prompt工程-(1)Prompt 原理与基本结构
  • 大数据分析-读取文本文件内容进行词云图展示
  • Zephyr 中的 bt_le_per_adv_set_data 函数的介绍和应用方法
  • [机器学习]09-基于四种近邻算法的鸢尾花数据集分类
  • 具身智能赋能轮椅机器人的认知革命与人机共生新范式
  • 【软考架构】第4章 信息安全的抗攻击技术
  • 从「行走」到「思考」:机器人进化之路与感知—决策链路的工程化实践
  • 微电网管控系统中python多线程缓存与SQLite多数据库文件连接池实践总结(含源码)
  • 安川YASKAWA焊接机器人保护气智能节气阀
  • 蓝牙 GFSK RX Core 架构解析
  • Linux下的软件编程——IPC机制
  • 重复(Repeat)和迭代(Iteration)区别、递归(Recursion)
  • 超级云平台:重构数字生态的“超级连接器“
  • 想找出版社出书?这样选就对了!
  • 哈工深无人机目标导航新基准!UAV-ON:开放世界空中智能体目标导向导航基准测试
  • 【论文阅读】-《GeoDA: a geometric framework for black-box adversarial attacks》