ubuntu 禁止外部ping和允许ping方法

  • A+
所属分类:linux技术

一、前言

在日常网络服务器的维护和使用过程中,ping命令是最为常用的一个检测命令,它所使用的是ICMP协议。但是为了保护主机,很多时候我们需要禁止ICMP协议,即禁止用户ping操作,在这种情况下,终端再使用ping命令检测,服务器是不会再做出任何响应。

Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:

A、内核参数

B、防火墙

需要这2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping。

二、禁止Ping方法

方法1 通过sys配置禁止ping

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

方法2 通过iptables命令禁止ping

iptables -I INPUT -i ech0 -p icmp -s 0/0 -d 0/0 -j DROP

以上这些配置的话,重启一般就没掉了。如果需要开机启动,ubuntu提供以下的方式进行禁止ping操作,通过修改sysctl.conf

echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf

重新加载配置文件

sysctl -p

不过在今天,我发现重启之后,还是可以ping的,当前系统的版本是Ubuntu 18.04, 只能在启动后,在执行一下sysctl -p。

三、允许ping方法

配置sys允许ping:

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

通过iptables允许ping:

iptables -I INPUT -i ech0 -p icmp -s 0/0 -d 0/0 -j ACCEPT

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
lxsf