Denne artikkelen handler om hvordan du blokkerer pingforespørsler til Linux Server. Vi vil også beskrive hvordan du blokkerer pingforespørslene i tilfelle du trenger å bruke ping til systemadministrasjon og feilsøking.
Forutsetninger
- Ubuntu 20.04 LTS
- Bruker med sudo-privilegier
Merk: Kommandoene som er diskutert her, er testet på Ubuntu 20.04 LTS.
Blokkere / oppheve blokkering av pingforespørsler til Linux Server
Ping fungerer ved å sende en ICMP-pakke (Echo-forespørsel) til destinasjonssystemet og deretter motta et 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-ekkoforespørsler som sendes til serveren din. Det er to måter du kan blokkere / oppheve blokkering av ICMP-ekkoforespørsler til Linux-serveren.
- Gjennom kjerneparametere
- Gjennom iptables
La oss komme i gang.
Blokkere / oppheve blokkering av pingforespø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.
Midlertidig blokk / opphev blokkering av pingforespørsler
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 / oppheve blokkering av pingforespørsler. Kjerneparameteren nett.ipv4.icmp_echo_ignore_all kontrollerer om systemet skal svare på ICMP-ekkoforespørselen. Standardverdien for den er '0 ' som betyr å svare på ICMP-forespørselen.
Blokkér pingforespørsel
For å blokkere ping-forespørsel, send følgende kommando i Terminal:
$ sudo sysctl -w nett.ipv4.icmp_echo_ignore_all = 1Denne kommandoen setter kjerneparameteren til '1' som betyr å ignorere alle ICMP-forespørslene.
Nå blir alle pingforespørsler til systemet ditt blokkert, og avsenderen vil ikke motta noe svar som vist på skjermbildet nedenfor.
Fjern blokkering av Ping-forespørsel
For å oppheve blokkering av pingforespørsler, 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 pingforespørsler ved å endre kjerneparameterverdien i / proc / sys katalog ved hjelp av ekkokommandoen. For å bruke denne metoden må du imidlertid kjøre kommandoen som root.
For å blokkere ping-forespørsel, bytt først til root-konto ved å bruke følgende kommando i Terminal:
$ su rotNår du blir bedt om passordet, skriver du inn passordet for root.
Gi deretter følgende kommando i Terminal:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
For å oppheve blokkering av ping-forespørsler, vil kommandoen være:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allBlokker ping-forespørsler permanent
Kjerneparametere kan også endres gjennom / etc / sysctl.konf fil. Denne filen lar deg blokkere pingforespørsler permanent til serveren din.
Blokkér pingforespørsel
For å blokkere ping-forespørsel til systemet ditt, rediger / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfLegg deretter til følgende linje i filen:
nett.ipv4.icmp_echo_ignore_all = 1
Lagre og lukk filen.
Gi deretter følgende kommando i Terminal for å bruke denne konfigurasjonen uten omstart:
$ sysctl -p
Fjern blokkering av Ping-forespørsel
For å oppheve blokkering av pingforespørsler, rediger / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfEndre deretter verdien på nett.ipv4.icmp_echo_ignore_all til '0 ':
nett.ipv4.icmp_echo_ignore_all = 0
Lagre og lukk filen.
Gi deretter følgende kommando i Terminal for å bruke denne konfigurasjonen uten omstart:
$ sysctl -pBlokkere / oppheve blokkering av pingforespørsler ved hjelp av iptables
Iptables er et brannmurverktøy i Linux som styrer innkommende og utgående trafikk basert på visse regler. Den kommer forhåndsinstallert i Ubuntu-systemet. I tilfelle det mangler i systemet, kan du installere det ved hjelp av følgende kommando i Terminal:
$ sudo apt installere iptablesBlokkér pingforespørsel
For å blokkere pingforespørsler til systemet ditt, skriv inn følgende kommando i Terminal:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECTHvor i EN flagg brukes til å legge til en regel i iptables og icmp-type 8 er ICMP-typenummeret som brukes for ekkoforespørsel.
Ovennevnte kommando 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 ping-forespørselen til systemet ditt se “Destinasjonsport utilgjengelig”-Meldingen som vist på skjermbildet nedenfor.
Hvis du ikke vil at denne meldingen skal vises, kan du bruke følgende kommando som erstatter AVSTÅ med MISTE:
$ sudo iptables -A INNGANG -p icmp --icmp-type 8 -j DROPNå vil alle som sender ping-forespørselen til systemet se følgende lignende utdata:
Fjern blokkering av Ping-forespørsel
For å oppheve blokkering av pingforespørsler til serveren din, skriv inn følgende kommando i Terminal:
$ sudo iptables -D INNGANG -p icmp --icmp-type 8 -j REJECTHvor i D flagg brukes til å slette en regel i iptables og icmp-type 8 er ICMP-typenummeret som brukes til en ekkoforespørsel.
For å gjøre disse reglene vedvarende etter at systemet har startet på nytt, trenger du iptables-vedvarende pakke. Gi ut kommandoen nedenfor i Terminal for å installere iptables-persistent:
$ sudo apt installere iptables-vedvarende
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 en regel, kan du utstede følgende kommandoer i Terminal for å få dem til å overleve omstart av systemet.
$ sudo netfilter-vedvarende lagring$ sudo netfilter-vedvarende omlasting
For å se alle reglene som er lagt til iptables, utsteder du følgende kommando i Terminal:
$ sudo iptables -LDet er alt det er til det! I denne artikkelen har vi diskutert hvordan du kan blokkere / oppheve blokkering av pingforespørsler til Linux Server enten gjennom kjerneparametrene eller gjennom iptables-verktøyet. Håper dette hjelper!