Linux下SNMPSET配置华为远程ICMP
- pingCtlTable 介绍
OID | 名称 | 作用 | 数据类型 | 选项 |
---|---|---|---|---|
1.3.6.1.2.1.80.1.2.1.3 | pingCtlTargetAddressType | ICMP目的地址类型 | INTEGER | (1)IPV4, (2)IPV6 |
1.3.6.1.2.1.80.1.2.1.4 | pingCtlTargetAddress | ICMP目的地址 | STRING | X.X.X.X |
1.3.6.1.2.1.80.1.2.1.5 | pingCtlDataSize | ICMP包大小 | Unsigned32 | 0-65507 |
1.3.6.1.2.1.80.1.2.1.7 | pingCtlProbeCount | ICMP包数量 | Unsigned32 | 1-15 |
1.3.6.1.2.1.80.1.2.1.8 | pingCtlAdminStatus | ICMP测试组状态 | INTEGER | enabled(1), disabled(2) |
1.3.6.1.2.1.80.1.2.1.10 | pingCtlFrequency | ICMP测试间隔时间 | INTEGER | X≥0 |
1.3.6.1.2.1.80.1.2.1.16 | pingCtlType | ICMP执行操作 | OBJECT IDENTIFIER | OID信息:1.3.6.1.2.1.80.3.1 |
1.3.6.1.2.1.80.1.2.1.18 | pingCtlSourceAddressType | ICMP源地址类型 | INTEGER | (1)IPV4, (2)IPV6 |
1.3.6.1.2.1.80.1.2.1.19 | pingCtlSourceAddress | ICMP源地址 | STRING | X.X.X.X |
1.3.6.1.2.1.80.1.2.1.20 | pingCtlIfIndex | ICMP测试源接口 | INTEGER | InterfaceIndexOrZero |
1.3.6.1.2.1.80.1.2.1.23 | pingCtlRowStatus | 管理测试行状态 | INTEGER | (1)Active, (4)createAndActive,(6)delet |
- 详细介绍可以查看华为官方MIB文档:https://support.huawei.com/mibtoolweb/enterpriseMibInfo/zh#PBI2-6691593_PBI2-21317229
- Linux对于SNMPset的参数
数据类型全称 | Linux下简写 |
---|---|
INTEGER | I |
Unsigned32/ Gauge32 | u |
TIMETICKS | t |
IPADDRESS | a |
OBJID | o |
STRING | s |
HEX STRING | x |
DECIMAL STRING | d |
BITS | b |
Unsigned64 | U |
Signed64 | I |
float | F |
double | D |
-
Linux下snmpset配置命令
snmpset [OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]
-示例制定源地址10.10.10.1、目的地址10.10.10.2、site64、每3秒执行一次ping测、每次ping包10个
snmpset -v 2c -c xxxxx 10.10.254.10 1.3.6.1.2.1.80.1.2.1.3.1.49.1.51 i 1 1.3.6.1.2.1.80.1.2.1.4.1.49.1.51 s 10.10.10.2 1.3.6.1.2.1.80.1.2.1.5.1.49.1.51 u 64 1.3.6.1.2.1.80.1.2.1.7.1.49.1.51 u 10 1.3.6.1.2.1.80.1.2.1.8.1.49.1.51 i 1 1.3.6.1.2.1.80.1.2.1.10.1.49.1.51 u 3 1.3.6.1.2.1.80.1.2.1.16.1.49.1.51 o 1.3.6.1.2.1.80.3.1 1.3.6.1.2.1.80.1.2.1.18.1.49.1.51 i 1 1.3.6.1.2.1.80.1.2.1.19.1.49.1.51 s 10.10.10.2 1.3.6.1.2.1.80.1.2.1.23.1.49.1.51 i 4 注意: (1)图中所有内容为一行,切勿分开写入 (2)1.3.6.1.2.1.80.1.2.1.10.1.49.1.51 默认是0,代表只执行一次。 如果需要重复执行需要写如间隔时间,单位为s (3)1.3.6.1.2.1.80.1.2.1.8.1.49.1.51 默认是根据pingResultsOperStatus状态决定。第一次开启时写如1即可 (4)1.3.6.1.2.1.80.1.2.1.23.1.49.1.51 创建测试行,第一次需要写入4;写入后,自动转为1;删除为6 (5).1.49.1.51 为设备扩展OID,最后一位为可变地址。(目前我只测试了几个,有兴趣的话可以继续测试)
-
使用python脚本进行格式化输入
我这里只是做一个初步的展示,如果有需求可以自行更改内部变量参数。
#!/bin/bash/ import sys import os Option = sys.argv[1] print(Option) pingCtlTargetAddressType = 1 pingCtlTargetAddress = Option[0] pingCtlDataSize = Option[1] pingCtlProbeCount = Option[2] pingCtlAdminStatus = Option[3] pingCtlFrequency = Option[4] pingCtlType = "1.3.6.1.2.1.80.3.1" pingCtlDescr = Option[5] pingCtlSourceAddressType = 1 pingCtlSourceAddress = Option[6] # pingCtlIfIndex = Option[7] pingCtlRowStatus = Option[7] Public = Option[8] MIBpingCtlTargetAddressType = "1.3.6.1.2.1.80.1.2.1.3.1.49.1.51" MIBpingCtlTargetAddress = "1.3.6.1.2.1.80.1.2.1.4.1.49.1.51" MIBpingCtlDataSize = "1.3.6.1.2.1.80.1.2.1.5.1.49.1.51" MIBpingCtlProbeCount = "1.3.6.1.2.1.80.1.2.1.7.1.49.1.51" MIBpingCtlAdminStatus = "1.3.6.1.2.1.80.1.2.1.8.1.49.1.51" MIBpingCtlFrequency = "1.3.6.1.2.1.80.1.2.1.10.1.49.1.51" MIBpingCtlType = "1.3.6.1.2.1.80.1.2.1.16.1.49.1.51" MIBpingCtlDescr = "1.3.6.1.2.1.80.1.2.1.17.1.49.1.51" MIBpingCtlSourceAddressType = "1.3.6.1.2.1.80.1.2.1.18.1.49.1.51" MIBpingCtlSourceAddress = "1.3.6.1.2.1.80.1.2.1.19.1.49.1.51" # MIBpingCtlIfIndex = "1.3.6.1.2.1.80.1.2.1.20.1.49.1.51" MIBpingCtlRowStatus = "1.3.6.1.2.1.80.1.2.1.23.1.49.1.51" os.system(f"snmpset -v 2c -c {Public} {MIBpingCtlTargetAddressType} i {pingCtlTargetAddressType} {MIBpingCtlTargetAddress} s {pingCtlTargetAddress} {MIBpingCtlDataSize} u {pingCtlDataSize} {MIBpingCtlProbeCount} u {pingCtlProbeCount} {MIBpingCtlAdminStatus} i {pingCtlAdminStatus} {MIBpingCtlFrequency} u {pingCtlFrequency} {MIBpingCtlType} o {pingCtlType} {MIBpingCtlDescr} s {pingCtlDescr} {MIBpingCtlSourceAddressType} i {pingCtlSourceAddressType} {MIBpingCtlSourceAddress} s {pingCtlSourceAddress} {MIBpingCtlRowStatus} i {pingCtlRowStatus}")
-
脚本演示
Setsnmp.py [Dst,DataSize,Count,Status,Frequency,Descr,Srt,RowStatus]