现有两台机器,服务器A有公网IP 1.1.1.1和内网IP 192.168.0.1,服务器B只有内网IP 192.168.0.2。需要从公网通过snmp协议来监控服务器A和B。由于161端口被服务器A自己使用,所以只能通过端口映射的方式映射服务器A的10161端口到服务器B的161端口来监控服务器B。
具体指令如下:
iptables -t nat -A PREROUTING -d 1.1.1.1/32 -p udp -m udp --dport 10161 -j DNAT --to-destination 192.168.0.1:161
iptables -t nat -A POSTROUTING -d 192.168.0.2/32 -p udp -m udp --dport 161 -j SNAT --to-source 192.168.0.1
/etc/init.d/iptables save
/etc/init.d/iptables restart
测试方法:在某一台公网机器上输入以下指令,如有信息输出,则映射完成。
snmpwalk -v 2c -c public 1.1.1.1:10161
如果需要指定snmp监控的服务器的IP,譬如,只允许2.2.2.2的服务器通过snmp协议来获取服务器B的信息,可修改命令如下:
iptables -t nat -A PREROUTING -s 2.2.2.2/32 -d 1.1.1.1/32 -p udp -m udp --dport 10161 -j DNAT --to-destination 192.168.0.1:161
iptables -t nat -A POSTROUTING -d 192.168.0.2/32 -p udp -m udp --dport 161 -j SNAT --to-source 192.168.0.1
/etc/init.d/iptables save
/etc/init.d/iptables restart
测试方法:在2.2.2.2的服务器输入snmpwalk指令可以获得输出,在其他服务器上无法获得输出即为到达目标。
除非注明,本博客文章均为原创,转载请以链接形式标明本文地址
本文地址: http://blog.cnwyhx.com/?p=127