临时禁ping
禁ping,屏蔽主机的ping命令,使别人无法ping你的机器:
对这个文件 /proc/sys/net/ipv4/icmp_echo_ignore_all
,其内容默认为0,意为,允许别人ping你,非0,则起禁ping作用(一般设置为1即可)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
其中,/proc 是一种伪文件系统(也即虚拟文件系统),系统内存的映射
或者使用下面的命令
sysctl -w net.ipv4.icmp_echo_ignore_all=1
该两种方法会立即生效,但是下次重启时都会失效,永久生效方法在下方
补充:sysctl命令
用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中
选项:
-n:打印值时不打印关键字;
-e:忽略未知关键字错误;
-N:仅打印名称;
-w:当改变sysctl设置时使用此项;
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
-a:打印当前所有可用的内核参数变量和值;
-A:以表格方式打印当前所有可用的内核参数变量和值。
永久生效
/etc/sysctl.conf 与 /proc/sys/ 的关系简介
/etc/sysctl.conf 是系统控制文件,主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件
设置方式
echo value > /proc/sys/xx/yy
# 或者
vi /etc/sysctl.conf #vi编辑,然后添加设置 ; sysctl -p #生效
# 或者
sysctl -w kernel.domainname="example.com" #利用-w生效
如何永久生效
由上,我们将配置信息写入系统控制文件即可
首先,在 /etc/sysctl.conf 中追加配置信息(因为默认未列出)
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
然后,使之生效
sysctl -p
这样就能够禁ping了,如果想修改回去,将值改成0,然后sysctl -p
一下就回去了