Ovaj je članak o tome kako blokirati zahtjeve za ping na Linux Server. Također ćemo opisati kako deblokirati zahtjeve za ping u slučaju da ping trebate koristiti za administraciju sustava i rješavanje problema.
Preduvjeti
- Ubuntu 20.04 LTS
- Korisnik sa sudo privilegijama
Bilješka: Ovdje naredbe o kojima se raspravlja testirane su na Ubuntu 20.04 LTS.
Blokirajte / odblokirajte zahtjeve za ping na Linux poslužitelju
Ping radi slanjem ICMP paketa (Echo zahtjev) odredišnom sustavu, a zatim prima ICMP paket odgovora (Echo reply). U Linuxu naredba ping nastavlja slati ICMP pakete dok je ne zaustavite pomoću Ctrl + C.
Da biste blokirali zahtjeve za ping, morat ćete zanemariti / blokirati ICMP zahtjeve za odjekom koji se šalju na vaš poslužitelj. Postoje dva načina na koja možete blokirati / odblokirati ICMP zahtjeve za odjekom na Linux poslužitelju.
- Kroz parametre jezgre
- Kroz iptable
Započnimo.
Blokiraj / odblokiraj zahtjeve za ping putem parametara jezgre
Kroz parametre jezgre možete blokirati zahtjeve za ping privremeno ili trajno. Parametri jezgre mogu se mijenjati putem sysctl naredba, / sys / proc imenik i / etc / sysctl.conf datoteka.
Privremeni zahtjevi za blokiranje / odblokiranje pinga
Naredba sysctl u Linuxu koristi se za čitanje i pisanje parametara jezgre u / proc / sys imenik. Pomoću ove naredbe možemo postaviti parametre jezgre za blokiranje / odblokiranje zahtjeva za ping. Parametar jezgre neto.ipv4.icmp_echo_ignore_all kontrolira treba li sustav odgovoriti na ICMP zahtjev za odjekom. Zadana vrijednost je '0 ' što znači odgovoriti na zahtjev ICMP-a.
Blokiraj zahtjev za ping
Da biste blokirali zahtjev za ping, u terminalu izdajte sljedeću naredbu:
$ sudo sysctl -w neto.ipv4.icmp_echo_ignore_all = 1Ova naredba postavlja parametar jezgre na '1' što znači zanemarivanje svih ICMP zahtjeva.
Sada će svi zahtjevi za ping u vaš sustav biti blokirani, a pošiljatelj neće dobiti odgovor kao što je prikazano na donjoj snimci zaslona.
Deblokiraj zahtjev za ping
Da biste deblokirali zahtjeve za ping, ponovo pokrenite istu naredbu promjenom vrijednosti parametra na zadanu '0'.
$ sudo sysctl -w neto.ipv4.icmp_echo_ignore_all = 0
Alternativno, možete blokirati zahtjeve za ping promjenom vrijednosti parametra jezgre u / proc / sys direktorij pomoću naredbe echo. Međutim, da biste koristili ovu metodu, morat ćete pokrenuti naredbu kao root.
Da biste blokirali zahtjev za ping, prvo se prebacite na root račun pomoću sljedeće naredbe u terminalu:
$ su korijenKad se zatraži lozinka, unesite lozinku za root.
Zatim u terminalu izdajte sljedeću naredbu:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Da biste deblokirali zahtjeve za ping, naredba bi bila:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allTrajno blokiraj zahtjeve za ping
Parametri jezgre također se mogu mijenjati putem / etc / sysctl.konf datoteka. Ova datoteka omogućit će vam trajno blokiranje zahtjeva za ping na vašem poslužitelju.
Blokiraj zahtjev za ping
Uredite kako biste blokirali zahtjev za ping na vašem sustavu / etc / sysctl.konf datoteka:
$ sudo nano / etc / sysctl.konfZatim dodajte sljedeći redak u datoteku:
neto.ipv4.icmp_echo_ignore_all = 1
Spremite i zatvorite datoteku.
Zatim u terminalu izdajte sljedeću naredbu za primjenu ove konfiguracije bez ponovnog pokretanja:
$ sysctl -p
Deblokiraj zahtjev za ping
Da biste deblokirali zahtjeve za ping, uredite / etc / sysctl.konf datoteka:
$ sudo nano / etc / sysctl.konfZatim izmijenite vrijednost neto.ipv4.icmp_echo_ignore_all do '0 ':
neto.ipv4.icmp_echo_ignore_all = 0
Spremite i zatvorite datoteku.
Zatim u terminalu izdajte sljedeću naredbu za primjenu ove konfiguracije bez ponovnog pokretanja:
$ sysctl -pBlokiranje / odblokiranje zahtjeva za ping pomoću iptables
Iptables je uslužni program vatrozida u Linuxu koji kontrolira dolazni i odlazni promet na temelju određenih pravila. Dolazi unaprijed instaliran u sustavu Ubuntu. U slučaju da nedostaje u sustavu, možete ga instalirati pomoću sljedeće naredbe u terminalu:
$ sudo apt instalirati iptablesBlokiraj zahtjev za ping
Da biste blokirali zahtjeve za ping u svoj sustav, upišite sljedeću naredbu u Terminal:
$ sudo iptables -A ULAZ -p icmp --icmp-type 8 -j ODBIJANJEGdje je A flag se koristi za dodavanje pravila u iptables i tip icmp 8 je ICMP broj tipa koji se koristi za zahtjev za odjekom.
Gornja naredba u vatrozid će dodati pravilo koje će blokirati sve dolazne zahtjeve za ping u vaš sustav. Dodavanjem ovog pravila, svatko tko pošalje zahtjev za ping vašem sustavu vidjet će "Luka odredišta nedostižna”Kao što je prikazano na donjem snimku zaslona.
Ako ne želite da se ova poruka pojavi, upotrijebite sljedeću zamjenu za zamjenu ODBITI s PAD:
$ sudo iptables -A ULAZ -p icmp --icmp-type 8 -j DROPSada će svatko tko pošalje zahtjev za ping vašem sustavu vidjeti sljedeći sličan izlaz:
Deblokiraj zahtjev za ping
Da biste deblokirali zahtjeve za ping na svom poslužitelju, upišite sljedeću naredbu u Terminal:
$ sudo iptables -D ULAZ -p icmp --icmp-type 8 -j ODBIJANJEGdje je D flag se koristi za brisanje pravila u iptables i tip icmp 8 je ICMP broj tipa koji se koristi za zahtjev za odjekom.
Da biste ova pravila učinili trajnima nakon ponovnog pokretanja sustava, trebat će vam iptables-uporan paket. Izdajte donju naredbu u Terminalu da biste instalirali iptables-persistent:
$ sudo apt install iptables-persistent
Od vas će se zatražiti da potvrdite želite li nastaviti s instalacijom ili ne. Pogoditi g za nastavak, nakon čega će sustav započeti instalaciju i nakon dovršetka bit će spreman za upotrebu.
Nakon dodavanja ili brisanja bilo kojeg pravila, izdajte sljedeće naredbe u Terminalu kako bi preživjeli ponovno pokretanje sustava.
$ sudo netfilter-trajno spremanje$ sudo netfilter-trajno ponovno učitavanje
Da biste pregledali sva pravila dodana u vaše iptables, izdajte sljedeću naredbu u terminalu:
$ sudo iptables -LTo je sve! U ovom smo članku raspravljali o tome kako blokirati / deblokirati zahtjeve za ping na Linux Server putem parametara jezgre ili pomoću uslužnog programa iptables. Nadam se da ovo pomaže!