Centos 6、7 作業系統中,如何開啟或關閉ICMP協議

宵雲科技發表於2019-12-03

說在前面

說起ICMP這個協議,可能有些小夥伴對此有點陌生,不知道這個協議有什麼作用,什麼時候會用到? 但是如果說起ping ,和Tracert 這些檢查網路連通性的命令,相信搞運維或者IT的大部分人會對這個比較熟悉。其實,ping以及Tracert這兩個命令就是基於ICMP協議實現的。

ICMP的全稱是 Internet Control Message Protocol ,從技術的角度來看,ICMP就是一個“錯誤偵測與回報機制”,這個協議在網路安全和網路連線健康狀態的判斷有著非常重要意義。今天我們的主要內容是說下,在在Centos 6和Centos 7 中,ICMP協議的開啟與關閉的方法。對於ICMP安全方面的知識,例如ICMP網路攻擊方面,本文不做討論。

1.jpg


說明

影響ping的主要有兩方面因素:一個是核心引數,一個是防火牆規則配置。只有兩個引數同時允許,才可以ping通,任意一個因素配置不被允許則不允許ping通。在centos 6 或者7中修改其實是沒有什麼差異的。


核心引數開啟方法

# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
回顯兩種結果,0表示允許,1代表禁止。此處為1,繼續執行下一步

2.jpg


1.臨時開啟ping,則執行如下命令

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

3.jpg


2.永久開啟,執行命令:

# vim /etc/sysctl.conf 
 net.ipv4.icmp_echo_ignore_all=0 //增加這一行內容(如果此行已經存在,則確認後面引數為0)
:wq 儲存退出配置檔案
# sysctl -p //執行此命令使配置生效

5de46e5eeedd1.jpg

永久開啟,執行命令

5.jpg

sysctl -p

核心引數關閉ping方法

臨時關閉執行:

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

永久關閉:

# vim /etc/sysctl.conf 
 net.ipv4.icmp_echo_ignore_all=1
# sysctl -p

防火牆規則

允許ping:

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

5de46e7168a93.jpg

可以透過iptables -nvL檢視防火牆規則

禁止ping

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

最後測試,就可以ping通目標主機了

7.jpg

測試ping百度為例


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948194/viewspace-2666621/,如需轉載,請註明出處,否則將追究法律責任。

相關文章