RedHat 7.0及CentOS 7.0禁止Ping的三种方法
操作环境:
RedHat 7.0(CentOS 7.0的操作方法与此一致)
方法一 临时禁用ICMP协议
修改文件/proc/sys/net/ipv4/icmp_echo_ignore_all的值。
切换到root,输入命令:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样就将/proc/sys/net/ipv4/icmp_echo_ignore_all文件里面的0临时改为了1,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果,网络中的其他主机Ping该主机时会显示“请求超时”,但该服务器此时是可以Ping其他主机的。
如果想启用ICMP响应,则输入:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
注0:由于/proc/sys/net/ipv4/icmp_echo_ignore_all这个文件是只读的,即使我们使用root用户登陆,vim打开/proc/sys/net/ipv4/icmp_echo_ignore_all,将里面的0该为1之后使用qw!强制保存也无法完成修改。因此上面这个方法只是临时的,一旦服务器重启就又会回到默认的0状态(假设修改前/proc/sys/net/ipv4/icmp_echo_ignore_all里面的值就是0)。如果想永久修改(当然也可以改回来,只是不再受服务器关机或重启的影响)请使用方法二或方法三。
方法二 永久禁用ICMP协议:
禁用ICMP协议,输入:
vim /etc/sysctl.conf
添加一条信息:
net.ipv4.icmp_echo_ignore_all = 1
保存并退出。
输入:
sysctl -p
使配置生效。
启用ICMP协议,输入:
vim /etc/sysctl.conf
将:
net.ipv4.icmp_echo_ignore_all = 1
修改为:
net.ipv4.icmp_echo_ignore_all = 0
如果没有net.ipv4.icmp_echo_ignore_all = 1就添加:
net.ipv4.icmp_echo_ignore_all = 0
保存并退出。
输入:
sysctl -p
使配置生效。
注1:如果想启用ICMP响应,不能直接在/etc/sysctl.conf里删除net.ipv4.icmp_echo_ignore_all> = 1之后sysctl -p. 这样做仍然是禁止Ping的状态,此时使用命令:vim /proc/sys/net/ipv4/icmp_echo_ignore_all查看发现其值仍然是1, 即仍处于拒绝ICMP响应的状态。
方法三 配置IPTABLES防火墙
Iptables防火墙是集成于Linux内核的IP信息包过滤系统。方法三不能和上面的方法一和方法二组合使用。即,在使用方法三时不能已经使用方法一或方法二禁止了Ping.
禁止Ping,输入:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
停止禁用Ping,输入:
iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
上面两条命令的简要解释:
-A:添加防火墙规则. INPUT:入站规则. -p icmp:指定包检查的协议为ICMP协议. --icmp-type 8:指定ICMP类型为8. -s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码. -j:指定目标规则,即包匹配则应到做什么,"DROP"表示丢弃.
注2:由于方法三是对防火墙进行的设置,所以使用方法三禁止Ping后只会阻止来自外网的Ping请求,内网主机的Ping请求仍然会正常响应。使用方法一和方法二禁止Ping后不仅会阻止外网的Ping请求也会阻止内网的Ping请求。
猜你喜欢
一个极简的HTTP Server: Caddy一键安装脚本,带网站配置教程
阅读 459一个极简的HTTP Server: Caddy一键安装脚本,带网站配置教程
服务器性能测试一键脚本和对比汇总
阅读 173服务器性能测试一键脚本和对比汇总
Linux下Swap交换分区创建 - Swap Size Failed错误问题解决
阅读 276Linux下Swap交换分区创建 - Swap Size Failed错误问题解决
Centos免费Let's Encrypt SSL证书申请和自动续签
阅读 334免费Let's Encrypt SSL证书申请和自动续签
iptables防火墙规则的添加、删除、修改、保存
阅读 338iptables防火墙规则的添加、删除、修改、保存
LNAMP上php无法获取$_SERVER['HTTPS']的解决办法
阅读 182LNAMP上php无法获取$_SERVER['HTTPS']的解决办法
Debian9+PHP7.3+Nginx+MariaDB的网站环境配置
阅读 7577Debian9+PHP7.3+Nginx+MariaDB的网站环境配置
Linux流量监控工具 - iftop (最全面的iftop教程)
阅读 201Linux流量监控工具 - iftop (最全面的iftop教程)