Linux Iptables允许或阻止ICMP ping请求

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

发表评论 / Comment

用心评论~