作者:荒原之梦
原文链接:http://zhaokaifeng.com/?p=538

前言:
“Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存时间,网络延迟等信息,而且响应Ping请求也会消耗服务器资源。因此,在服务器上禁用ICMP响应可以尽可能的隐藏服务器在Internet上的踪迹,降低受攻击面。本文介绍三种方法禁用(或启用)ICMP响应,即禁止(或允许)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请求。

End
My Website:http://zhaokaifeng.com/


转载于:https://www.cnblogs.com/wildernessdreams/p/8846186.html

RedHat 7.0及CentOS 7.0禁止Ping的三种方法相关推荐

  1. 21天学习之二(Android 10.0 SystemUI默认去掉底部导航栏的三种方法)

    活动地址:CSDN21天学习挑战赛 1.概述 在定制化开发中,在SystemUI的一些定制功能中,针对默认去掉底部导航栏的方法有好几种,StatusBar和DisplayPolicy.java中api ...

  2. Asp.net2.0动态加载用户控件的三种方法

    方法一: 直接拖放的用户控件 <!--这是某个aspx页--> ..... <%@ Register Src="TestControl.ascx" TagName ...

  3. centos apt-get java_CentOS安装jdk的三种方法

    环境 Linux版本:CentOS 6.5.Ubuntu 12.04.5 JDK版本:JDK 1.7 目录 方法一:手动解压JDK的压缩包,然后设置环境变量 方法二:用yum安装JDK 方法三:用rp ...

  4. RHEL7.0 配置网络IP的三种方法

    导读 RHEL7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式. en代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编 ...

  5. Altium Designer16.0中查找元器件的三种方法

    Altium Designer16.0中查找元器件的三种方法 方法一:在已知库中查找 1 这个方法仅适用于已知元器件所在的库的情况.如果已知某个元器件在某个库中,那么只需在那个库中进行查找即可.下面以 ...

  6. matlab解方程x 2-x-2=0,matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0...

    问题描述: matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0 1个回答 分类: 数学 2014-11-28 问题解答: 我来补答 ...

  7. linux6.5 sftp,CentOS下实现SFTP CHROOT的几种方法

    有些应用场景下需要限制用户只能使用SFTP,但不允许登陆系统SHELL.这里介绍几种方法来实现这样的需求. 一.通过MySecureShell实现 什么是MySecureShellMySecureSh ...

  8. CentOS安装jdk的三种方法

    2019独角兽企业重金招聘Python工程师标准>>> CentOS安装jdk的三种方法 环境 Linux版本:CentOS 6.5.Ubuntu 12.04.5 JDK版本:JDK ...

  9. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

最新文章

  1. 砥砺前行,比特币现金周年国际峰会正式召开
  2. WPF资源的基本概念
  3. spring事务传播属性与隔离级别
  4. 团队作业(五)——旅游行业的手机App
  5. Jupyter Notebook简介及默认路径修改
  6. collatz序列 python程序_Python Collatz序列实现过程解析
  7. sitemesh学习
  8. 远程桌面与本计算机共享文件,win7系统开启远程桌面共享文件的方法
  9. 计算机打字考试的技巧,快速打字有什么技巧
  10. Day 11 Contractions and Present Perfect
  11. 帝国php本地安装教程,帝国CMS整站源码通用安装教程
  12. Hbuilder 连接MuMu模拟器
  13. 系统调用是什么,你用过哪些系统调用
  14. iOS:Xcode Instruments的使用
  15. 幼儿园计算机技能大赛,幼儿园基本功技能大赛
  16. el-table 排序
  17. brew下载的mysql卸载_【已解决】Mac中如何彻底卸载之前通过dmg安装的mysql
  18. Python获取时间戳
  19. JVM几种垃圾回收算法
  20. 算法之牛顿法求平方根+立方根

热门文章

  1. 二叉树线索化示意图_103-线索化二叉树思路图解
  2. java static 可见性_Java多线程 synchronized与可见性的关系以及可见性问题总结
  3. 智能手环功能模块设计_智能手环的设计的方案.doc
  4. php的运算符实践输入年份,[php第四课]运算符
  5. java解数独_java解数独
  6. rust矿洞绳子怎么爬下_车底下绑一根绳子妙用在哪?看看老司机怎么说!
  7. 服务器主机防御系统,主机入侵防御系统
  8. mysql去重保留最后一个_MySQL-去重留一
  9. layui 表格内容写temple函数_layui表格-template模板的三种用法
  10. linux 共享内存函数封装,linux ftok()函数 --多进程IPC之共享内存