首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >陷阱-底层配置?

陷阱-底层配置?
EN

Unix & Linux用户
提问于 2018-12-07 18:51:27
回答 1查看 695关注 0票数 0

我正在尝试让我的Ubuntu 16.04服务器将SNMPTraps发送到我的HP服务器。造成这种情况的原因是,网络上有一些旧设备在失败时不能发送SNMP警告,但仍然可以通过网络连接的卡访问。因此,我的Ubuntu服务器连接到该卡来评估失败的节点。我已经使用Bash和Expect实现了这一点,所以现在我要做的是发送一个snmptrap作为我的脚本的一部分。我的问题是:

问题

Does snmptrap command需要底层配置吗?或者它是从命令行运行的,就像我们(或者仅仅是我)把 telnet <#>command看作理所当然的那样?

我之所以这样问,是因为我正试图在企业网络上实现这一点,而我的OVO服务器目前还没有收到陷阱。所以我想缩小范围,如果它是几个防火墙之一,或者这个问题,如前面提到的,是一个潜在的配置问题。

上下文:

我的expect脚本基本上将网络连接卡管理的每一张卡的状态返回到bash,作为OK 1的数组-0,表示for响应。所以巴什会:

代码语言:javascript
复制
errors=$((expect ~/assets/connect))
for i in ${!errors[@]}:
do
    if [[ ${errors[$i]} -eq 1 ]]:
        then:
        snmptrap #stuff goes here; the relevant source IP is saved elsewhere & available - I want the SNMP trap to send a "node $i" down. 
    fi
done
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-12-07 20:02:25

snmptrap不需要任何特定的配置。

要验证您的脚本是否正在发送陷阱,可以使用tcpdump监视通信量。SNMP陷阱是UDP,通常用于端口162,因此这将有效:

代码语言:javascript
复制
tcpdump -i  udp dst port 162

然后,在另一个屏幕或终端中,首先本地测试snmp233命令,然后嵌入到脚本中:

代码语言:javascript
复制
snmptrap -v 2c -c public ov.example.com '' 1.3.6.1.4.1.6032.1 1.3.6.1.4.1.6032.1 s "this is just a generic message" 

您应该看到类似于以下输出的输出:

代码语言:javascript
复制
14:52:32.966387 IP server.example.com.43066 > ov.example.com.snmp-trap:  V2Trap(114)  system.sysUpTime.0=31777102 S:1.1.4.1.0=E:6032.1 E:6032.1="this is just a generic message"

如果您在tcpdump中看到输出,那么您就知道snmptrap正在本地主机上工作,因为包正在离开systemm。如果是这样的话,在接收器上运行相同的tcpdump命令,看看是否接收到了陷阱。在这种情况下,如果您从多个源接收到陷阱,通过主机进行过滤是很方便的:

代码语言:javascript
复制
tcpdump -i  udp and src host  dst port and dst port 162

如果您没有看到接收方上的数据包,但是您看到它们离开发送方,那么网络中就会有某种东西阻塞它们。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/486653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档