Denne artikkelen handler om hvordan du blokkerer pingforespørsler til Linux -serveren. Vi vil også beskrive hvordan du fjerner blokkering av ping -forespørslene i tilfelle du trenger å bruke Ping til systemadministrasjon og feilsøking.
Forutsetninger
Merk: Kommandoene som er omtalt her er testet på Ubuntu 20.04 LTS.
Blokker/fjerne blokkering av ping -forespørsler til Linux -serveren
Ping fungerer ved å sende en ICMP -pakke (Echo Request) til destinasjonssystemet og mottar deretter en svar ICMP -pakke (Echo Svar). I Linux fortsetter Ping -kommandoen å sende ICMP -pakker til du stopper den med Ctrl+C.
For å blokkere pingforespørsler, må du ignorere/blokkere ICMP Echo -forespørsler som blir sendt til serveren din. Det er følgende to måter du kan blokkere/fjerne blokkering av ICMP Echo -forespørsler til Linux -serveren.
La oss komme i gang.
Blokk/fjerning av ping -forespørsler gjennom kjerneparametere
Gjennom kjerneparametere kan du blokkere pingforespørsler enten midlertidig eller permanent. Kjerneparametere kan endres gjennom Sysctl kommando, /sys/proc katalog, og /etc/sysctl.Conf -fil.
SYSCTL -kommandoen i Linux brukes til å lese og skrive kjerneparametere i /proc/sys katalog. Ved hjelp av denne kommandoen kan vi sette opp kjerneparametere for å blokkere/fjerne blokkering av ping -forespørsler. Kjerneparameteren nett.IPv4.ICMP_ECHO_IGNORE_ALL Kontrollerer om systemet skal svare på ICMP Echo -forespørselen. Standardverdien for det er '0 ' som betyr å svare på ICMP -forespørselen.
For å blokkere pingforespørsel, utstede følgende kommando i terminalen:
$ sudo sysctl -w nett.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Denne kommandoen setter kjerneparameteren til '1' som betyr å ignorere alle ICMP -forespørslene.
Nå vil alle ping -forespørslene til systemet ditt bli blokkert, og avsenderen vil ikke motta noe svar som vist på skjermbildet nedenfor.
For å fjerne blokkering av ping -forespørslene, kjør igjen den samme kommandoen ved å endre parameterverdien til standard '0'.
$ sudo sysctl -w nett.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Alternativt kan du blokkere ping -forespørslene ved å endre kjerneparameterverdien i /proc/sys Katalog ved hjelp av Echo -kommandoen. For å bruke denne metoden, må du imidlertid kjøre kommandoen som root.
For å blokkere ping -forespørsel, bytt først til rotkonto ved å bruke følgende kommando i terminalen:
$ su root
Når du blir bedt om passordet, skriver du inn passordet for root.
Utsted deretter følgende kommando i terminalen:
$ ekko 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
For å fjerne blokkering av ping -forespørslene, ville kommandoen være:
$ ekko 0>/proc/sys/net/ipv4/icmp_echo_ignore_all
Blokker ping -forespørsler permanent
Kjerneparametere kan også endres gjennom /etc/sysctl.konf fil. Denne filen lar deg permanent blokkere pingforespørsler til serveren din.
For å blokkere pingforespørsel til systemet ditt, rediger /etc/sysctl.konf fil:
$ sudo nano /etc /sysctl.konf
Legg deretter til følgende linje i filen:
nett.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Lagre og lukk filen.
Utsted deretter følgende kommando i terminalen for å bruke denne konfigurasjonen uten omstart:
$ sysctl -p
For å fjerne blokkering av ping -forespørsler, rediger /etc/sysctl.konf fil:
$ sudo nano /etc /sysctl.konf
Endre deretter verdien av nett.IPv4.ICMP_ECHO_IGNORE_ALL til '0 ':
nett.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Lagre og lukk filen.
Utsted deretter følgende kommando i terminalen for å bruke denne konfigurasjonen uten omstart:
$ sysctl -p
Blokk/fjerne blokkering av ping -forespørsler ved hjelp av iptables
Iptables er et brannmurverktøy i Linux som kontrollerer innkommende og utgående trafikk basert på visse regler. Det kommer forhåndsinstallert i Ubuntu -systemet. I tilfelle det mangler fra systemet, kan du installere det ved å bruke følgende kommando i terminalen:
$ sudo apt installer iptables
For å blokkere pingforespørsler til systemet ditt, skriv følgende kommando i terminalen:
$ sudo iptables -a input -p icmp --icmp -type 8 -j avviser
Hvor i EN flagg brukes til å legge til en regel i iptables og ICMP-type 8 er ICMP -typen nummer brukt til ekkoforespørsel.
Kommandoen ovenfor vil legge til en regel i brannmuren som vil blokkere eventuelle innkommende pingforespørsler til systemet ditt. Ved å legge til denne regelen, vil alle som sender pingforespørselen til systemet ditt se "Destinasjonsport utilgjengelig”Melding som vist på skjermbildet nedenfor.
Hvis du ikke vil at denne meldingen skal vises, bruk følgende kommandoutskifting Avvise med MISTE:
$ sudo iptables -a input -p icmp --icmp -type 8 -j dråpe
Nå vil alle som sender ping -forespørselen til systemet ditt, se følgende lignende utdata:
For å fjerne blokkering av ping -forespørsler til serveren din, skriver du inn følgende kommando i terminalen:
$ sudo iptables -d input -p icmp --icmp -type 8 -j avvise
Hvor i D flagg brukes til å slette en regel i iptables og ICMP-type 8 er ICMP -typen nummer brukt til en ekkoforespørsel.
For å gjøre disse reglene vedvarende etter en systemstart, trenger du Iptables Persistent pakke. Utsted kommandoen nedenfor i
$ sudo apt installer iptables perersistent
Du blir bedt om å bekrefte om du vil fortsette med installasjonen eller ikke. Truffet y For å fortsette, hvoretter systemet vil starte installasjonen og når det er fullført, vil det være klart til bruk.
Etter å ha lagt til eller slettet noen regel, kan du utstede følgende kommandoer i Terminal for å få dem til å overleve systemets omstart av systemet.
$ sudo netfilter-perersistent lagring
$ sudo netfilter-perersistent omlasting
For å se alle reglene som er lagt til iPtables, kan du utstede følgende kommando i terminalen:
$ sudo iptables -l
Det er alt det er for det! I denne artikkelen har vi diskutert hvordan du blokkerer/fjerner blokkering av ping -forespørsler til Linux -serveren enten gjennom kjerneparametrene eller gjennom Iptables -verktøyet. Håper dette hjelper!