基于iptables的snmp协议打通

处理甲公司集成乙公司某系统。系统通过发布snmp服务,通过snmpwalk/snmptrap可以获取数据。
但是乙公司不提供给甲公司电脑直接访问,通过一台中间机器采集。
甲公司服务器A Sindows server 2012
乙公司服务器B Windows server ?
中间服务器C Centos 7

A--C--B

A无法直接pingB
B无法直接pingA
C可以与A或Bping通。

一)snmpwalk集成方法

解决方法:
在A上配置静态路由,去往B的下一跳是与A通信的C的网卡一IP。
在B上配置静态路由 ,去往A的下一跳是与B通信的C的网卡二IP。
在C上配置内核转发(ipv4 forward =1),iptables NAT。

数据流向:
在A上执行snmpwalk -v2c -c commnunity IP(B) OID  系统将包通过网卡发往C

在 C上配置NAT,将snmp uDP源IP换成C,目标IP不变。snmp包被路由出网卡二。

B返回结果给C。

在C上配置NAT,将snmp UDP目标换成A,snmp包被路由出网卡一。

至此A成功采集B的snmp服务结果。


二)B发往A的snmptrap解决方法:



在C上配置snmptrapd服务

配置要求:所有B发往本机的snmptrap,全部转发给A。
通过netstat检查本机udp监听162端口。

至此A成功收到来自B的snmptrap告警。



评论

此博客中的热门博文

adjust the mouse scroll speed in Ubuntu?

将实际坐标转为火星坐标