操作环境:radhat 7
一,临时禁止/开启
修改文件的/ proc / SYS /净/的IPv4 / icmp_echo_ignore_all,0表示允许,1表示禁止
利用重定向临时修改文件值
允许:echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_all
禁止:echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
是通过禁止ICMP报文的所有请求,从而达到禁止平的效果
二,永久禁止/开启
修改文件:/etc/sysctl.conf文件中
在该文件下添加或修改:net.ipv4.icmp_echo_ignore_all = 1(0:允许,1:禁止)
修改后使用命令:sysctl -p使配置生效
如下,可以看到的/ proc / SYS /网/的IPv4 / icmp_echo_ignore_all文件的值也改变了
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@localhost ~]# vi /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.icmp_echo_ignore_all=0
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 0
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0
三,通过设置的iptables的实现
注意:
1,radhat 7防火墙服务默认使用的是firewalld,而不是iptables
2,方法三不能和上面的方法一和方法二组合使用
3,由于方法三是对防火墙进行的设置,所以使用方法三禁止平后只会阻止来自外网的坪请求,内网主机的平请求仍然会正常响应。使用方法一和方法二禁止平后不仅会阻止外网的平请求也会阻止内网的平请求。
禁止:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
允许:
iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
-A:添加防火墙规则●输入:入站规则。
-p icmp:指定包检查的协议为ICMP协议。
--icmp-type 8:指定ICMP类型为8。
-s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码。
-j:指定目标规则,即包匹则应到到做什么,“DROP”表示丢弃。