Tento článek je o tom, jak blokovat požadavky ping na server Linux. Popíšeme také, jak odblokovat požadavky na ping v případě, že potřebujete použít ping pro správu systému a řešení problémů.
Předpoklady
- Ubuntu 20.04 LTS
- Uživatel s oprávněními sudo
Poznámka: Zde popsané příkazy byly testovány na Ubuntu 20.04 LTS.
Blokovat / odblokovat požadavky ping na Linux Server
Ping funguje odesláním paketu ICMP (požadavek Echo) do cílového systému a poté obdrží odpověď ICMP paket (odpověď Echo). V Linuxu příkaz ping pokračuje v odesílání paketů ICMP, dokud jej nepřestanete používat Ctrl + C.
Chcete-li blokovat požadavky na ping, budete muset ignorovat / blokovat požadavky na echo ICMP, které se odesílají na váš server. Existují dva způsoby, kterými můžete blokovat / odblokovat požadavky na odezvu ICMP na server Linux.
- Prostřednictvím parametrů jádra
- Prostřednictvím iptables
Začněme.
Blokovat / odblokovat požadavky na ping pomocí parametrů jádra
Prostřednictvím parametrů jádra můžete dočasně nebo trvale blokovat požadavky na ping. Parametry jádra lze upravovat pomocí sysctl příkaz, / sys / proc adresář a / etc / sysctl.soubor conf.
Dočasné blokování / odblokování požadavků na ping
Příkaz sysctl v systému Linux se používá ke čtení a zápisu parametrů jádra v systému / proc / sys adresář. Pomocí tohoto příkazu můžeme nastavit parametry jádra pro blokování / odblokování požadavků na ping. Parametr jádra síť.ipv4.icmp_echo_ignore_all určuje, zda má systém reagovat na požadavek ICMP echo. Výchozí hodnota je '0 ' což znamená reagovat na požadavek ICMP.
Blokovat požadavek Ping
Chcete-li blokovat požadavek ping, zadejte v terminálu následující příkaz:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 1Tento příkaz nastaví parametr jádra na '1', což znamená ignorovat všechny požadavky ICMP.
Nyní budou všechny požadavky na ping do vašeho systému blokovány a odesílatel neobdrží žádnou odpověď, jak je znázorněno na následujícím snímku obrazovky.
Odblokovat požadavek Ping
Chcete-li odblokovat požadavky na ping, znovu spusťte stejný příkaz změnou hodnoty parametru na výchozí hodnotu „0“.
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 0
Případně můžete požadavky na ping zablokovat změnou hodnoty parametru jádra v souboru / proc / sys adresář pomocí příkazu echo. Chcete-li však použít tuto metodu, budete muset spustit příkaz jako root.
Chcete-li blokovat požadavek ping, nejprve přepněte na účet root pomocí následujícího příkazu v Terminálu:
$ su rootPo zobrazení výzvy k zadání hesla zadejte heslo pro root.
Potom zadejte v Terminálu následující příkaz:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Chcete-li odblokovat požadavky ping, příkaz by byl:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allTrvale blokovat požadavky na ping
Parametry jádra lze také upravit pomocí / etc / sysctl.konf soubor. Tento soubor vám umožní trvale blokovat požadavky ping na váš server.
Blokovat požadavek Ping
Chcete-li do svého systému zablokovat požadavek ping, upravte jej / etc / sysctl.konf soubor:
$ sudo nano / etc / sysctl.konfPoté v souboru připojte následující řádek:
síť.ipv4.icmp_echo_ignore_all = 1
Uložte a zavřete soubor.
Potom zadejte následující příkaz v Terminálu a použijte tuto konfiguraci bez restartu:
$ sysctl -p
Odblokovat požadavek Ping
Chcete-li odblokovat požadavky na ping, upravte / etc / sysctl.konf soubor:
$ sudo nano / etc / sysctl.konfPoté upravte hodnotu síť.ipv4.icmp_echo_ignore_all do0 ':
síť.ipv4.icmp_echo_ignore_all = 0
Uložte a zavřete soubor.
Potom zadejte následující příkaz v Terminálu a použijte tuto konfiguraci bez restartu:
$ sysctl -pBlokovat / odblokovat požadavky ping pomocí iptables
Iptables je nástroj brány firewall v systému Linux, který řídí příchozí a odchozí provoz na základě určitých pravidel. Dodává se předinstalovaný v systému Ubuntu. V případě, že v systému chybí, můžete jej nainstalovat pomocí následujícího příkazu v Terminálu:
$ sudo apt nainstalovat iptablesBlokovat požadavek Ping
Chcete-li blokovat požadavky ping na váš systém, zadejte do Terminálu následující příkaz:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j ODMÍTNOUTKde A flag se používá k přidání pravidla do iptables a icmp typu 8 je číslo typu ICMP používané pro požadavek na ozvěnu.
Výše uvedený příkaz přidá do brány firewall pravidlo, které zablokuje všechny příchozí požadavky na příkaz ping do vašeho systému. Přidáním tohoto pravidla se komukoli, kdo pošle požadavek ping do vašeho systému, zobrazí „Cílový port nedosažitelný”, Jak je uvedeno na následujícím snímku obrazovky.
Pokud nechcete, aby se tato zpráva zobrazovala, použijte následující příkaz k nahrazení ODMÍTNOUT s UPUSTIT:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROPNyní každý, kdo pošle požadavek ping do vašeho systému, uvidí následující podobný výstup:
Odblokovat požadavek Ping
Chcete-li odblokovat požadavky ping na váš server, zadejte do Terminálu následující příkaz:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j ODMÍTNOUTKde D příznak se používá k odstranění pravidla v iptables a icmp typu 8 je číslo typu ICMP používané pro požadavek na ozvěnu.
Aby tato pravidla byla po restartu systému trvalá, budete potřebovat iptables-persistent balík. Zadejte následující příkaz v Terminálu a nainstalujte iptables-persistent:
$ sudo apt install iptables-persistent
Budete požádáni o potvrzení, zda chcete v instalaci pokračovat nebo ne. Udeřil y pokračovat, po kterém systém zahájí instalaci a po dokončení bude připraven k použití.
Po přidání nebo odstranění libovolného pravidla zadejte v Terminálu následující příkazy, aby přežily restart systému.
$ sudo netfilter-persistent save$ sudo netfilter-persistent reload
Chcete-li zobrazit všechna pravidla přidaná do vašich iptables, zadejte v Terminálu následující příkaz:
$ sudo iptables -LTo je vše! V tomto článku jsme diskutovali o tom, jak blokovat / odblokovat požadavky na ping na Linux Server pomocí parametrů jádra nebo pomocí nástroje iptables. Snad to pomůže!