snmp.jpg

一、SNMP 介绍

​ 简单网络管理协议 (SNMP)是一种行业标准协议,它使标准 SNMP 管理系统能够远程管理网络上的设备。SNMP 管理系统可以管理的设备之一是访问策略管理器系统。访问策略管理器系统支持的 SNMP 版本包括:SNMP v1、SNMP v2c 和 SNMP v3。

​ SNMP 协议端口 :SNMP Get 使用 UDP 161 端口 , SNMP Trap 使用 udp 162 端口。

​ SNMP 实现包括 SNMP Agent 和 SNMP Trap。

  • SNMP Agent :指定允许指定地址(SNMP管理系统地址)根据 MIB 文件中的 OID 来 F5 BIGIP 获取设备参数信息。
  • SNMP Trap :指定当 F5 BIGIP 设备触发哪些故障警告,并将这些信息发送给指定地址(SNMP管理系统地址)。

1、MIB文件下载

从导航窗格中,展开 About ,然后单击 Downloads 。跳转到 MIB 文件下载页面进行下载。

image-20211222104152418.png

二、F5 SNMP v2 配置

1、Agent 配置

(1)Agent Configuration 配置

​ 使用 Agent 配置允许指定客户端可以通过 SNMP 协议访问 F5 BIG-IP。

​ 导航至 System ›› SNMP : Agent : Configuration ,在 Client Allow List 的 Address 行输入允许地址或者网段,点击 Add 添加,点击 Update 完成 agent 配置。

image-20211222105423352.png

(2)Agent Access 配置

​ 导航至 System ›› SNMP : Agent : Access (v1, v2c) 可以进行 Agent Access 配置。

1
2
3
4
5
6
7
Type		: 指定记录是应用于IPv4地址还是IPv6地址。默认值是IPv4。
Community : 指定访问MIB的社区字符串(密码)。
Source : 指定访问MIB的源地址。默认为 ALL。
OID :指定记录的对象标识符(OID)。可以不填写。
Access :指定用户对MIB的访问级别。默认值为只读。
Read Only:指定用户可以查看MIB,但不能修改MIB。
Read/Write:指定用户可以查看和修改MIB。

image-20211222114939886.png

2、Trap 配置

导航至 System ›› SNMP : Traps : Destination

1
2
3
4
5
6
7
Version 	 : 	指定陷阱目标应用于哪个简单网络管理协议(SNMP)版本,v1、v2c或v3。
Comminity : 指定访问MIB的社区字符串(密码)。
Destination : 指定陷阱目标的地址。
Port : 指定陷阱目标的端口。默认填写为162.
Network : 指定陷阱网络。系统将SNMP陷阱发送到指定的网络。您必须能够通过该接口路由到目的地。选择是管理和其他。
Management : 指定系统从管理IP地址(或群集管理IP地址,如果这是群集配置)发送陷阱。
Other : 指定系统根据路由表将陷阱发送出接口。

image-20211222151110568.png

3、验证

(1)验证 SNMP 管理系统是否可以通过 OID 获取F5 BIG-IP 参数信息。

使用的测试OID如下:

.1.3.6.1.4.1.3375.2.1.6.2.0 : 用于获取主机名

使用命令如下,获取到对应信息则说明配置完成。

1
2
3
4
5
6
7
#格式如下:
snmpwalk -c <communitystring> -v <2c> <BIG-IP IP Address> OID

#获取主机名测试:
snmpwalk -v 2c -c Ad123min 192.168.10.84 .1.3.6.1.4.1.3375.2.1.6.2.0
#输出如下:
F5-BIGIP-SYSTEM-MIB::sysSystemNodeName.0 = STRING: bigip2.com

(2)验证 SNMP 管理系统是否可以通过 OID 进行配置更改。

注意:Agent Access 要配置为 Read/Write,默认为 Read Only。

本次测试目的为变更虚拟服务状态,具体操作为变更 BIG-IP 地址为 192.168.10.84 上的虚拟服务 vs_ntp 状态。使用的测试OID如下:

.1.3.6.1.4.1.3375.2.2.10.1.2.1.1 : 用于获取虚拟服务名称

.1.3.6.1.4.1.3375.2.2.10.1.2.1.9 : 用于获取虚拟服务状态

a. 查看虚拟服务 vs_ntp 当前状态

1
2
3
4
5
6
7
8
9
10
11
12
root@(bigip2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show ltm virtual vs_ntp 

------------------------------------------------------------------
Ltm::Virtual Server: vs_ntp
------------------------------------------------------------------
Status
Availability : available
State : enabled
Reason : The virtual server is available
CMP : enabled
CMP Mode : all-cpus
Destination : 192.168.10.245:any

由以上输出得出结果: vs_ntp 当前状态为 enabled。

b. 查询虚拟服务查询成员 vs_ntp 名称对应的完整OID值。

1
2
3
4
# 使用命令如下:
snmpwalk -c Ad123min -v 2c 192.168.10.84 .1.3.6.1.4.1.3375.2.2.10.1.2.1.1 -On
# 输出结果:
.1.3.6.1.4.1.3375.2.2.10.1.2.1.1.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 = STRING: /Common/vs_ntp

由以上输出可以获取到虚拟服务 vs_ntp 名称对应的完整 OID 为 .1.3.6.1.4.1.3375.2.2.10.1.2.1.1.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 。

c. 根据虚拟服务 vs_ntp 完整名称 OID 值获取虚拟服务 vs_ntp 当前状态。

将查询虚拟服务名称 OID 变更为查询虚拟服务状态的 OID,后面的部分保持不变。

变更后查询虚拟服务 vs_ntp 状态的 OID 为: .1.3.6.1.4.1.3375.2.2.10.1.2.1.9.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 。

1
2
3
4
# 查询 vs_ntp 当前状态
snmpwalk -c Ad123min -v 2c 192.168.10.84 .1.3.6.1.4.1.3375.2.2.10.1.2.1.9.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 -On
# 输出如下
.1.3.6.1.4.1.3375.2.2.10.1.2.1.9.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 = INTEGER: true(1)

根据以上输出可一查看当前虚拟服务状态是开启状态,和步骤 a 结果一致。

d. 将虚拟服务 vs_ntp 状态变为 disabled 状态

1
2
3
4
5
# 变更虚拟服务 vs_ntp 状态
snmpset -c Ad123min -v 2c 192.168.10.84 .1.3.6.1.4.1.3375.2.2.10.1.2.1.9.14.47.67.111.109.109.111.110.47.118.115.95.110.116.112 i 0

# 输出如下,则变更成功,否则检验SNMP Access 读写权限。
F5-BIGIP-LOCAL-MIB::ltmVirtualServEnabled."/Common/vs_ntp" = INTEGER: false(0)

注:i后面的参数: 0 false ; 1 true;

e. 验证虚拟服务 vs_ntp 当前状态

1
2
3
4
5
6
7
8
9
10
11
12
root@(bigip2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show ltm virtual vs_ntp

------------------------------------------------------------------
Ltm::Virtual Server: vs_ntp
------------------------------------------------------------------
Status
Availability : available
State : disabled
Reason : The virtual server is available
CMP : enabled
CMP Mode : all-cpus
Destination : 192.168.10.245:any

由以上输出得出结果: vs_ntp 当前状态为 disabled,验证至此完成。

三、F5 SNMP v3 配置

1、Agent 配置

(1)Agent Configuration 配置

​ 使用 Agent 配置允许指定客户端可以通过 SNMP 协议访问 F5 BIG-IP。

​ 导航至 System ›› SNMP : Agent : Configuration ,在 Client Allow List 的 Address 行输入允许地址或者网段,点击 Add 添加,点击 Update 完成 agent 配置。

image-20211222105423352.png

(2)Agent Access 配置

​ 导航至 System ›› SNMP : Agent : Access (v3) 可以进行 Agent Access 配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
User Name	:指定要授予其对 SNMP v3 MIB 访问权限的用户的名称。
Authentication: 指定用户的身份验证方法和密码。
Type:指定用户的身份验证方法。
MD5:指定对用户进行身份验证的MD5算法。
SHA:指定用于对用户进行身份验证的安全哈希算法(SHA)。
None:指定无用户身份验证。
Passward:指定用户的密码。
Confirm :确认用户的密码。密码和确认条目必须匹配。
Privacy : 指定用于为此用户传递身份验证信息的隐私协议。
Protocol:指定加密协议。
AES:指定系统使用AES(高级加密标准)加密用户信息。
DES:指定系统使用DES(数据加密标准)加密用户信息。
None:指定系统不加密用户信息。
OID :指定记录的对象标识符(OID)。可以填写.1。
Access :指定用户对MIB的访问级别。默认值为只读。
Read Only:指定用户可以查看MIB,但不能修改MIB。
Read/Write:指定用户可以查看和修改MIB。

image-20211222153850735.png

2、Trap 配置

导航至 System ›› SNMP : Traps : Destination

1
2
3
4
5
6
7
8
9
10
11
12
13
Version 	 : 	指定陷阱目标应用于哪个简单网络管理协议(SNMP)版本,v1、v2c或v3。
Destination : 指定陷阱目标的地址。
Port : 指定陷阱目标的端口。默认填写为162。
Network : 指定陷阱网络。系统将SNMP陷阱发送到指定的网络。您必须能够通过该接口路由到目的地。选择是管理和其他。
Management : 指定系统从管理IP地址(或群集管理IP地址,如果这是群集配置)发送陷阱。
Other : 指定系统根据路由表将陷阱发送出接口。
Security Level :指定要处理SNMP消息的安全级别。
Auth, No Privacy:使用身份验证但不加密来处理SNMP消息。使用此值时,还必须为安全名称、身份验证协议和身份验证密码设置提供值。
Auth & Privacy:使用身份验证和加密处理SNMP消息。使用此值时,还必须提供安全名称、身份验证协议、身份验证密码、隐私协议和隐私密码设置的值。
Authentication Protocol : 指定系统用于验证SNMP v3陷阱的算法。您可以选择MD5或SHA。
Authentication Password : 指定系统用于处理SNMP v3陷阱的密码。此密码的长度必须至少为8个字符。
Privacy Protocol : 指定系统用于加密SNMP v3陷阱的算法。您可以选择AES或DES。
Privacy Password : 指定系统用于处理加密SNMP v3陷阱的密码。此密码的长度必须至少为8个字符。

image-20211222161727617.png

3、验证

(1)验证 SNMP 管理系统是否可以通过 OID 获取F5 BIG-IP 参数信息。

使用的测试OID如下:

.1.3.6.1.4.1.3375.2.1.6.2.0 : 用于获取主机名

使用命令如下,获取到对应信息则说明配置完成。

1
2
3
4
5
6
# 格式如下:
snmpwalk -c <communitystring> -v <version> -l <level> -a <auth> -A <passward> -x <Privacy> -X <passward> <BIG-IP IP Address> OID
# 获取主机名测试:
snmpwalk -v3 -u Ad123min -a SHA -A "Ad123min" -x AES -X "Ad123min" -l authPriv 192.168.5.122 .1.3.6.1.4.1.3375.2.1.6.2.0
# 输出如下:
F5-BIGIP-SYSTEM-MIB::sysSystemNodeName.0 = STRING: bigip1.com