Tento článok je o tom, ako blokovať požiadavky ping na server Linux. Popíšeme tiež, ako odblokovať požiadavky na príkaz ping v prípade, že potrebujete príkaz ping použiť na správu systému a riešenie problémov.
Predpoklady
- Ubuntu 20.04 LTS
- Užívateľ s oprávnením sudo
Poznámka: Tu uvedené príkazy boli testované na Ubuntu 20.04 LTS.
Blokovať / odblokovať žiadosti o príkaz ping na serveri Linux
Ping funguje tak, že do cieľového systému pošle paket ICMP (požiadavka na ozvenu) a potom dostane paket ICMP s odpoveďou (odpoveď na ozvenu). V systéme Linux príkaz ping pokračuje v odosielaní paketov ICMP, kým ho nezastavíte pomocou kombinácie klávesov Ctrl + C.
Ak chcete blokovať žiadosti o príkaz ping, budete musieť ignorovať / blokovať žiadosti o odozvu ICMP, ktoré sa posielajú na váš server. Existujú dva spôsoby, ako môžete blokovať / odblokovať požiadavky na echo ICMP na server Linux.
- Cez parametre jadra
- Cez iptables
Začnime.
Blokovať / odblokovať žiadosti o príkaz ping prostredníctvom parametrov jadra
Prostredníctvom parametrov jadra môžete dočasne alebo natrvalo zablokovať žiadosti o príkaz ping. Parametre jadra je možné upravovať pomocou sysctl príkaz, / sys / proc adresár a / etc / sysctl.conf súbor.
Dočasné požiadavky na blokovanie / odblokovanie príkazu ping
Príkaz sysctl v systéme Linux sa používa na čítanie a zápis parametrov jadra v systéme Windows / proc / sys adresár. Pomocou tohto príkazu môžeme nastaviť parametre jadra na blokovanie / odblokovanie požiadaviek na ping. Parameter jadra sieť.ipv4.icmp_echo_ignore_all riadi, či má systém reagovať na požiadavku ICMP na ozvenu. Predvolená hodnota je „0 ' čo znamená odpovedať na žiadosť ICMP.
Blokovať žiadosť Ping
Ak chcete zablokovať žiadosť o príkaz ping, zadajte v termináli nasledujúci príkaz:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 1Tento príkaz nastaví parameter jadra na '1', čo znamená ignorovať všetky požiadavky ICMP.
Teraz budú zablokované všetky požiadavky na príkaz ping do vášho systému a odosielateľ nedostane žiadnu odpoveď, ako je znázornené na nasledujúcom obrázku.
Odblokovať žiadosť Ping
Ak chcete odblokovať požiadavky na príkaz ping, znova spustite ten istý príkaz zmenou hodnoty parametra na predvolenú hodnotu „0“.
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 0
Prípadne môžete požiadavky na príkaz ping zablokovať zmenou hodnoty parametra jadra v priečinku / proc / sys adresár pomocou príkazu echo. Ak však chcete použiť túto metódu, budete musieť príkaz spustiť ako root.
Ak chcete zablokovať žiadosť o príkaz ping, najskôr v termináli prepnite na účet root pomocou nasledujúceho príkazu:
$ su rootPo výzve na zadanie hesla zadajte heslo pre root.
Potom zadajte nasledujúci príkaz v termináli:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Ak chcete odblokovať žiadosti o príkaz ping, príkaz by bol:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allTrvale blokovať žiadosti o príkaz ping
Parametre jadra je možné upravovať aj prostredníctvom servera / etc / sysctl.konf spis. Tento súbor vám umožní natrvalo blokovať žiadosti o príkaz ping na váš server.
Blokovať žiadosť Ping
Ak chcete zablokovať požiadavku na ping do vášho systému, upravte ju / etc / sysctl.konf spis:
$ sudo nano / etc / sysctl.konfPotom do súboru pripojte nasledujúci riadok:
sieť.ipv4.icmp_echo_ignore_all = 1
Uložte a zatvorte súbor.
Potom v Termináli zadajte nasledujúci príkaz na použitie tejto konfigurácie bez reštartu:
$ sysctl -p
Odblokovať žiadosť Ping
Ak chcete odblokovať žiadosti o príkaz ping, upravte / etc / sysctl.konf spis:
$ sudo nano / etc / sysctl.konfPotom upravte hodnotu sieť.ipv4.icmp_echo_ignore_all do '0 ':
sieť.ipv4.icmp_echo_ignore_all = 0
Uložte a zatvorte súbor.
Potom v Termináli zadajte nasledujúci príkaz na použitie tejto konfigurácie bez reštartu:
$ sysctl -pBlokovať / odblokovať žiadosti o príkaz ping pomocou iptables
Iptables je nástroj brány firewall v systéme Linux, ktorý riadi prichádzajúci a odchádzajúci prenos na základe určitých pravidiel. Dodáva sa predinštalovaný v systéme Ubuntu. Ak v systéme chýba, môžete ho nainštalovať pomocou nasledujúceho príkazu v Termináli:
$ sudo apt nainštalovať iptablesBlokovať žiadosť Ping
Ak chcete blokovať žiadosti o príkaz ping do vášho systému, zadajte do terminálu nasledujúci príkaz:
$ sudo iptables -A VSTUP -p icmp --icmp-typ 8 -j ZAMIETNUTIEKde A príznak sa používa na pridanie pravidla do iptables a icmp-typ 8 je číslo typu ICMP používané pre požiadavku na ozvenu.
Vyššie uvedený príkaz pridá do brány firewall pravidlo, ktoré zablokuje všetky prichádzajúce žiadosti o príkaz ping do vášho systému. Pridaním tohto pravidla sa každému, kto pošle požiadavku ping na váš systém, zobrazí „Cieľový port nedosiahnuteľný”, Ako je zobrazené na nasledujúcom obrázku.
Ak nechcete, aby sa táto správa zobrazovala, použite nasledujúci príkaz ODMIETNUŤ s POKLES:
$ sudo iptables -A VSTUP -p icmp --icmp-typ 8 -j DROPTeraz bude ktokoľvek, kto pošle požiadavku ping na váš systém, nasledujúci podobný výstup:
Odblokovať žiadosť Ping
Ak chcete odblokovať požiadavky ping na váš server, zadajte do terminálu nasledujúci príkaz:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j ZAMIETNUTIEKde D príznak sa používa na odstránenie pravidla v iptables a icmp-type 8 je číslo typu ICMP použité pre požiadavku na ozvenu.
Aby boli tieto pravidlá trvalé po reštarte systému, budete potrebovať iptables-persistent balíček. Zadajte nasledujúci príkaz v Termináli na inštaláciu iptables-persistent:
$ sudo apt nainštalovať iptables-persistent
Zobrazí sa výzva na potvrdenie, či chcete v inštalácii pokračovať alebo nie. Hit r pokračovať, po ktorom systém spustí inštaláciu a po dokončení bude pripravený na použitie.
Po pridaní alebo odstránení ľubovoľného pravidla zadajte v termináli nasledujúce príkazy, aby prežili reštart systému.
$ sudo netfilter-persistent save$ sudo netfilter-persistent reload
Ak chcete zobraziť všetky pravidlá pridané do vašich iptables, zadajte v termináli nasledujúci príkaz:
$ sudo iptables -LTo je všetko! V tomto článku sme diskutovali o tom, ako blokovať / odblokovať požiadavky na príkaz ping na server Linux pomocou parametrov jadra alebo pomocou nástroja iptables. Dúfam, že to pomôže!