Cacti 使用udp ping与iptables的问题

Wednesday, December 31, 2008

在centos5.2使用cacti监控网络,默认防火墙开启的情况下,需要设置本机80端口的开放,udp161端口的开发以及icmp的相关链接的开发,否则cacti会收不到数据。

cacti使用udp ping,就是发送一个udp到对方的高端口,然后对方自动产生并返回一个icmp的包,cacti如果收到这个包,就会再次发送snmp的请求过去,对方收到后返回对应的数据。

用tcpdump看到的icmp的信息的,
tcpdump host 192.168.0.11 and 192.168.0.10

14:18:34.423454 IP demo2.1028 > demo.33439: UDP, length 27
14:18:34.424331 IP demo > demo2: ICMP demo udp port 33439 unreachable, length 63
14:18:36.985281 IP demo2.1028 > demo.33439: UDP, length 27
14:18:36.986240 IP demo > demo2: ICMP demo udp port 33439 unreachable, length 63
14:18:39.423301 arp who-has demo tell demo2
14:18:39.423324 arp reply demo is-at 00:0c:29:7b:19:84 (oui Unknown)

解决方法
命令行添加:
iptables -A INPUT -p udp -m udp --dport 161 -j ACCEPT
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dports 80 -j ACCEPT

或修改/etc/sysconfig/iptables
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p udp -m udp -m multiport --dports 631,161 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 22,80 -j ACCEPT

具体情况请对号入座。
使用配置文件修改后重启iptables或restore
shell > service iptables restart

shell > iptables-restore

reference:http://linux.chinaunix.net/bbs/viewthread.php?tid=910326

Posted by Michael.Ding at 4:03 PM

0 comments:

Post a Comment