我是艾西,在我們搭建網站或做某些程序時,不少人會問禁ping是什么意思,怎么操作的對于業務有哪些好處等,今天艾西一次給你們說清楚。
禁PING的意思是:不允許電腦、設備或服務器使用PING功能。一般情況下電腦、防火墻、服務器都是允許PING功能的,不需要特別設置不禁止PING,但是遠程的服務器(比如某個網站會禁止PING功能也是根據自己業務的屬性來去選擇)
服務器禁ping的好處與壞處:
好處:一定程度上在互聯網上隱藏自己防止一些批量掃描軟件探測主機,減少被入侵的幾率
壞處:無法使用常用的ping或者監控軟件來檢測站點是否正常,服務器是否在線,當別人PING用戶的時候會耗費用戶的連接資源。
所以利用禁止PING功能,去限制這方面的弊端,PING發送一個ICMP請求消息給目的地,并報告是否收到ICMP回話或者應答。
ping的影響因素
在物理鏈路連通和路由設置正確的情況下,使用Ping命令仍然ping不通,可能有以下幾個問題:
1、網線剛插到交換機上就Ping通網關,忽略了生成樹的收斂時間。當然,較新的交換機都支持快速生成樹,或者有的管理員把用戶端口(accessport)的生成樹協議關掉那么問題就解決了。
2、不管中間經過了多少個節點,只要有節點(包括端節點)對ICMP信息包進行了過濾,Ping不通是正常的,最常見的就是防火墻的行為。
windows系統的相對來說還好操作些,艾西今天為大家普及一下linux系統禁ping命令以及禁ping如何解除!
Linux默認是允許Ping響應的,系統是否允許Ping由2個因素決定的:
內核參數
防火墻
需要2個因素同時允許才能允許Ping,2個因素有任意一個禁Ping就無法Ping,具體的配置方法如下:
內核參數設置
1、允許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
如果已經有net.ipv4.icmp_echo_ignore_all這一行了,直接修改=號后面的值即可的(0表示允許,1表示禁止)。
修改完成后執行sysctl -p使新配置生效。
2、禁止Ping設置
1)臨時禁止PING的命令為:
#echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
2)永久允許PING配置方法
/etc/sysctl.conf 中增加一行
net.ipv4.icmp_echo_ignore_all=1
如果已經有net.ipv4.icmp_echo_ignore_all這一行了,直接修改=號后面的值即可的。(0表示允許,1表示禁止)
修改完成后執行sysctl -p使新配置生效。
特別注意:這種禁止ping的方式,會導致本地服務ping其它服務器的ip也ping不同。
二、防火墻設置
注:使用以下方法的前提是內核配置是默認值,也就是內核沒有禁ping
1、允許PING設置
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
或者也可以臨時停止防火墻:
service iptables stop
2、禁止PING設置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
--icmp-type 8 echo request 表示回顯請求(ping請求)
0/0 表示所有 IP