Internet控制消息协议(ICMP)具有许多由“类型”字段标识的消息。您需要使用0和8个ICMP代码类型。
=> Zero (0) is for echo-reply
=> Eight (8) is for echo-request.
要启用ICMP ping传入客户端请求,请使用以下iptables规则(您需要向脚本添加以下规则)。
我的默认防火墙策略阻止了一切。
任务:启用或允许ICMP ping传入客户端请求
规则启用ICMP ping传入客户端请求(假设默认iptables策略是丢弃所有INPUT和OUTPUT数据包)
SERVER_IP="202.54.10.20"
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d $SERVER_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -s $SERVER_IP -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT
任务:允许或启用传出ping请求
要启用ICMP ping传出请求,请使用以下iptables规则:SERVER_IP="202.54.10.20"
iptables -A OUTPUT -p icmp --icmp-type 8 -s $SERVER_IP -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d $SERVER_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
如何禁用传出的ICMP请求?
使用以下规则:iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
或者:iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
ICMP echo-request类型将被上述规则阻止。
还可以获取ICMP类型列表,只需在shell提示符下键入以下命令:# /sbin/iptables -p icmp -h
|