Kako blokirati ping zahteve ICMP do sistemov Linux


Nekateri sistemski skrbniki pogosto blokirajo sporočila ICMP svojim strežnikom, da skrijejo polja Linuxa zunanjemu svetu v grobih omrežjih ali da preprečijo nekakšno poplavljanje IP -jev in napade zavrnitve storitev.

Najbolj preprost način blokiranja ukaza ping v sistemih Linux je dodajanje pravila iptables, kot je prikazano v spodnjem primeru. Iptables je del omrežnega filtra jedra Linuxa in je običajno privzeto nameščen v večini okolij Linuxa.

# iptables -A INPUT --proto icmp -j DROP
# iptables -L -n -v  [List Iptables Rules]

Druga splošna metoda blokiranja sporočil ICMP v vašem sistemu Linux je dodajanje spodnje spremenljivke jedra, ki bo izpustila vse pakete ping.

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

Če želite zgornje pravilo narediti trajno, dodajte naslednjo vrstico v datoteko /etc/sysctl.conf in nato pravilo uporabite z ukazom sysctl.

# echo “net.ipv4.icmp_echo_ignore_all = 1” >> /etc/sysctl.conf 
# sysctl -p

V distribucijah Linuxa, ki temeljijo na Debianu in so opremljene s požarnim zidom aplikacije UFW, lahko blokirate sporočila ICMP tako, da v datoteko /etc/ufw/before.rules dodate naslednje pravilo, kot je prikazano v spodnjem izvlečku.

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Znova zaženite požarni zid UFW, da uporabite pravilo, tako da izdate spodnje ukaze.

# ufw disable && ufw enable

V distribuciji CentOS ali Red Hat Enterprise Linux, ki uporablja vmesnik Firewalld za upravljanje pravil iptables, dodajte spodnje pravilo, da spustite ping sporočila.

# firewall-cmd --zone=public --remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} --permanent	
# firewall-cmd --reload

Če želite preveriti, ali so bila pravila požarnega zidu uspešno uporabljena v vseh zgoraj opisanih primerih, poskusite iz oddaljenega sistema pingati naslov IP vašega računalnika Linux. Če so sporočila ICMP blokirana v vašem okencu Linux, bi morali na oddaljenem računalniku prejeti sporočila\"Zahteva je potekla" ali\"Destination Host unreachable".