Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:
1)内核参数
2)防火墙
方法1:更改内核参数
临时生效,重启失效
打开“/proc/sys/net/ipv4/icmp_echo_ignore_all”文件,将里面的数字改为“1”
永久生效
打开“/etc/sysctl.conf”,添加“net.ipv4.icmp_echo_ignore_all=1”,重启生效
方法2:添加防火墙规则
iptables防火墙添加规则命令
iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP
但是敲了上面这个命令,重启服务后又会失效,需要配合“iptables-save”和“iptables-restore”命令实现重启不失效,所以这种方法比较繁琐。
Linux服务器禁止ping操作
[root@CCIELAB lszlab]# iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP
Linux服务器允许ping
1、临时允许PING配置
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
2、永久允许PING配置
编辑/etc/sysctl.conf 文件 加入net.ipv4.icmp_echo_ignore_all=0
使用SSH登录输入下面命令
vi /etc/sysctl.conf
然后添加下面即可
#ping (0表示允许,1表示禁止)
net.ipv4.icmp_echo_ignore_all=0
修改完成使用sysctl -p使其新配置生效
sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
error: “net.bridge.bridge-nf-call-iptables” is an unknown key
error: “net.bridge.bridge-nf-call-arptables” is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.icmp_echo_ignore_all = 0