基于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通。
在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服务结果。
在C上配置snmptrapd服务
配置要求:所有B发往本机的snmptrap,全部转发给A。
通过netstat检查本机udp监听162端口。
至此A成功收到来自B的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告警。
评论
发表评论