Denne artikel handler om, hvordan du blokerer pinganmodninger til Linux Server. Vi beskriver også, hvordan du fjerner blokeringen af pinganmodningerne, hvis du har brug for ping til systemadministration og fejlfinding.
Forudsætninger
- Ubuntu 20.04 LTS
- Bruger med sudo-privilegier
Bemærk: De her diskuterede kommandoer er blevet testet på Ubuntu 20.04 LTS.
Bloker / fjern blokering af pinganmodninger til Linux Server
Ping fungerer ved at sende en ICMP-pakke (Echo-anmodning) til destinationssystemet og modtager derefter et svar ICMP-pakke (Echo-svar). I Linux fortsætter ping-kommandoen med at sende ICMP-pakker, indtil du stopper den ved hjælp af Ctrl + C.
For at blokere ping-anmodninger skal du ignorere / blokere ICMP-ekko-anmodninger, der sendes til din server. Der er to måder, hvorpå du kan blokere / fjerne blokering af ICMP-ekkoanmodninger til Linux-serveren.
- Gennem kerneparametre
- Gennem iptables
Lad os komme igang.
Bloker / fjern blokering af pinganmodninger gennem kerneparametre
Via kerneparametre kan du blokere pinganmodninger enten midlertidigt eller permanent. Kerneparametre kan ændres gennem sysctl kommando, / sys / proc bibliotek og / etc / sysctl.conf-fil.
Midlertidig blokering / ophævelse af ping-anmodninger
Sysctl-kommandoen i Linux bruges til at læse og skrive kerneparametre i / proc / sys vejviser. Ved hjælp af denne kommando kan vi indstille kerneparametre til at blokere / fjerne blokering af pinganmodninger. Kerneparameteren net.ipv4.icmp_echo_ignore_all styrer, om systemet skal svare på ICMP-ekkoanmodningen. Standardværdien af den er '0 ' hvilket betyder at svare på ICMP-anmodningen.
Bloker pinganmodning
For at blokere ping-anmodning skal du udstede følgende kommando i Terminal:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 1Denne kommando indstiller kerneparameteren til '1', hvilket betyder at ignorere alle ICMP-anmodninger.
Nu blokeres alle pinganmodninger til dit system, og afsenderen modtager intet svar som vist i nedenstående skærmbillede.
Fjern blokering af Ping-anmodning
For at fjerne blokeringen af pinganmodningerne skal du igen køre den samme kommando ved at ændre parameterværdien til standard '0'.
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 0
Alternativt kan du blokere pinganmodningerne ved at ændre kerneparameterværdien i / proc / sys bibliotek ved hjælp af ekkokommandoen. For at bruge denne metode skal du dog køre kommandoen som root.
For at blokere ping-anmodning skal du først skifte til rodkonto ved hjælp af følgende kommando i Terminal:
$ su rodNår du bliver bedt om adgangskoden, skal du indtaste adgangskoden til root.
Udgiv derefter følgende kommando i Terminal:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
For at fjerne blokeringen af pinganmodningerne ville kommandoen være:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allBloker permanent pinganmodninger
Kerneparametre kan også ændres via / etc / sysctl.konf fil. Denne fil giver dig mulighed for permanent at blokere ping-anmodninger til din server.
Bloker pinganmodning
For at blokere ping-anmodning til dit system skal du redigere / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfTilføj derefter følgende linje i filen:
net.ipv4.icmp_echo_ignore_all = 1
Gem og luk filen.
Udgiv derefter følgende kommando i Terminal for at anvende denne konfiguration uden genstart:
$ sysctl -p
Fjern blokering af pinganmodning
For at fjerne blokering af pinganmodninger skal du redigere / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfRediger derefter værdien på net.ipv4.icmp_echo_ignore_all til '0 ':
net.ipv4.icmp_echo_ignore_all = 0
Gem og luk filen.
Udgiv derefter følgende kommando i Terminal for at anvende denne konfiguration uden genstart:
$ sysctl -pBlokere / fjerne blokering af pinganmodninger ved hjælp af iptables
Iptables er et firewall-værktøj i Linux, der styrer indgående og udgående trafik baseret på visse regler. Det kommer forudinstalleret i Ubuntu-systemet. Hvis det mangler i systemet, kan du installere det ved hjælp af følgende kommando i Terminal:
$ sudo apt installere iptablesBloker anmodning om ping
For at blokere pinganmodninger til dit system skal du skrive følgende kommando i Terminal:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECTHvor er EN flag bruges til at tilføje en regel i iptables og icmp-type 8 er ICMP-typenummer, der bruges til ekkoanmodning.
Ovenstående kommando tilføjer en regel i firewallen, der blokerer for indgående ping-anmodninger til dit system. Ved at tilføje denne regel vil enhver, der sender ping-anmodningen til dit system, se “Destinationsport kan ikke nås”Meddelelse som vist i nedenstående skærmbillede.
Hvis du ikke ønsker, at denne meddelelse skal vises, skal du bruge følgende kommando til at erstatte AFVISE med DRÅBE:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROPNu kan enhver, der sender ping-anmodningen til dit system, se følgende lignende output:
Fjern blokering af Ping-anmodning
For at fjerne blokering af pinganmodninger til din server skal du skrive følgende kommando i Terminal:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJECTHvor er D flag bruges til at slette en regel i iptables og icmp-type 8 er ICMP-typenummer, der bruges til en ekkoanmodning.
For at gøre disse regler vedholdende efter et system genstart, skal du bruge iptables-vedvarende pakke. Udsted kommandoen nedenfor i Terminal for at installere iptables-persistent:
$ sudo apt installerer iptables-persistent
Du bliver bedt om at bekræfte, om du vil fortsætte med installationen eller ej. Hit y for at fortsætte, hvorefter systemet starter installationen, og når det er afsluttet, er det klar til brug.
Efter tilføjelse eller sletning af en regel skal du udstede følgende kommandoer i Terminal for at få dem til at overleve systemet genstart.
$ sudo netfilter-vedvarende gem$ sudo netfilter-vedvarende genindlæsning
For at se alle de regler, der er tilføjet til dine iptables, skal du udstede følgende kommando i Terminal:
$ sudo iptables -LDet er alt der er ved det! I denne artikel har vi diskuteret, hvordan man kan blokere / fjerne blokering af pinganmodninger til Linux Server enten gennem kerneparametrene eller gennem iptables-værktøjet. Håber dette hjælper!