基于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告警。