Dit artikel gaat over het blokkeren van ping-verzoeken naar Linux Server. We zullen ook beschrijven hoe u de ping-verzoeken kunt deblokkeren voor het geval u ping moet gebruiken voor systeembeheer en probleemoplossing.
Vereisten
- Ubuntu 20.04 LTS
- Gebruiker met sudo-rechten
Opmerking: De hier besproken commando's zijn getest op Ubuntu 20.04 LTS.
Blokkeer/deblokkeer ping-verzoeken naar Linux Server
Ping werkt door een ICMP-pakket (Echo-verzoek) naar het bestemmingssysteem te verzenden en vervolgens een ICMP-antwoordpakket te ontvangen (Echo-antwoord). In Linux gaat het ping-commando door met het verzenden van ICMP-pakketten totdat u het stopt met Ctrl+C.
Om ping-verzoeken te blokkeren, moet u de ICMP-echoverzoeken die naar uw server worden verzonden, negeren/blokkeren. Er zijn twee manieren waarop u ICMP-echoverzoeken naar de Linux-server kunt blokkeren/deblokkeren:.
- Via kernelparameters
- Via iptables
Laten we beginnen.
Blokkeer/deblokkeer ping-verzoeken via kernelparameters
Via kernelparameters kun je ping-verzoeken tijdelijk of permanent blokkeren. Kernelparameters kunnen worden gewijzigd via: sysctl opdracht, /sys/proc directory, en /etc/sysctl.conf bestand.
Tijdelijk blokkeren/deblokkeren van ping-verzoeken
Het sysctl-commando in Linux wordt gebruikt om kernelparameters te lezen en te schrijven in de /proc/sys map. Met deze opdracht kunnen we kernelparameters instellen om ping-verzoeken te blokkeren/deblokkeren. De kernelparameter netto-.ipv4.icmp_echo_ignore_all bepaalt of het systeem moet reageren op het ICMP-echoverzoek. De standaardwaarde ervan is '0' wat betekent reageren op het ICMP-verzoek.
Ping-verzoek blokkeren
Geef de volgende opdracht in Terminal om het ping-verzoek te blokkeren:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1Deze opdracht stelt de kernelparameter in op '1', wat betekent dat alle ICMP-verzoeken moeten worden genegeerd.
Nu worden alle ping-verzoeken naar uw systeem geblokkeerd en ontvangt de afzender geen reactie, zoals weergegeven in de onderstaande schermafbeelding.
Pingverzoek deblokkeren
Om de ping-verzoeken te deblokkeren, voert u opnieuw dezelfde opdracht uit door de parameterwaarde te wijzigen in standaard '0'.
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0
Als alternatief kunt u de ping-verzoeken blokkeren door de waarde van de kernelparameter in de /proc/sys directory met behulp van het echo-commando. Om deze methode te gebruiken, moet u de opdracht echter als root uitvoeren.
Om ping-verzoeken te blokkeren, schakelt u eerst over naar root-account met behulp van de volgende opdracht in Terminal:
$ su rootWanneer u om het wachtwoord wordt gevraagd, voert u het wachtwoord voor root in.
Geef vervolgens de volgende opdracht in Terminal:
$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Om de ping-verzoeken te deblokkeren, zou de opdracht zijn:
$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_allPing-verzoeken permanent blokkeren
Kernelparameters kunnen ook worden gewijzigd via de /etc/sysctl.conf het dossier. Met dit bestand kunt u ping-verzoeken naar uw server permanent blokkeren.
Ping-verzoek blokkeren
Om ping-verzoeken naar uw systeem te blokkeren, bewerkt u /etc/sysctl.conf het dossier:
$ sudo nano /etc/sysctl.confVoeg vervolgens de volgende regel toe aan het bestand:
netto-.ipv4.icmp_echo_ignore_all = 1
Bewaar en sluit het bestand.
Geef vervolgens de volgende opdracht in Terminal om deze configuratie toe te passen zonder opnieuw op te starten:
$ sysctl -p
Pingverzoek deblokkeren
Om ping-verzoeken te deblokkeren, bewerkt u de /etc/sysctl.conf het dossier:
$ sudo nano /etc/sysctl.confWijzig vervolgens de waarde van netto-.ipv4.icmp_echo_ignore_all naar '0':
netto-.ipv4.icmp_echo_ignore_all = 0
Bewaar en sluit het bestand.
Geef vervolgens de volgende opdracht in Terminal om deze configuratie toe te passen zonder opnieuw op te starten:
$ sysctl -pPing-verzoeken blokkeren/deblokkeren met iptables
Iptables is een firewall-hulpprogramma in Linux dat inkomend en uitgaand verkeer regelt op basis van bepaalde regels. Het is voorgeïnstalleerd in het Ubuntu-systeem. Als het in het systeem ontbreekt, kunt u het installeren met de volgende opdracht in Terminal:
$ sudo apt install iptablesPing-verzoek blokkeren
Om ping-verzoeken naar uw systeem te blokkeren, typt u de volgende opdracht in Terminal:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECTWaar de EEN vlag wordt gebruikt om een regel toe te voegen in iptables en icmp-type 8 is het ICMP-typenummer dat wordt gebruikt voor echoverzoek.
De bovenstaande opdracht voegt een regel toe aan de firewall die alle inkomende ping-verzoeken naar uw systeem blokkeert. Door deze regel toe te voegen, ziet iedereen die het ping-verzoek naar uw systeem verzendt de "Bestemmingspoort onbereikbaar” bericht zoals weergegeven in de onderstaande schermafbeelding.
Als u niet wilt dat dit bericht verschijnt, gebruikt u de volgende opdracht vervangen: AFWIJZEN met LATEN VALLEN:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROPIedereen die het ping-verzoek naar uw systeem verzendt, ziet nu de volgende vergelijkbare uitvoer:
Pingverzoek deblokkeren
Om ping-verzoeken naar uw server te deblokkeren, typt u de volgende opdracht in Terminal:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJECTWaar de D vlag wordt gebruikt om een regel in iptables te verwijderen en icmp-type 8 is het ICMP-typenummer dat wordt gebruikt voor een echo-verzoek.
Om deze regels blijvend te maken na een herstart van het systeem, heb je nodig: iptables-persistent pakket. Geef de onderstaande opdracht in Terminal om iptables-persistent te installeren:
$ sudo apt install iptables-persistent
U wordt gevraagd om te bevestigen of u door wilt gaan met de installatie of niet. Raken ja om verder te gaan, waarna het systeem de installatie start en eenmaal voltooid is, is het klaar voor gebruik.
Geef na het toevoegen of verwijderen van een regel de volgende opdrachten in Terminal om ze de herstart van het systeem te laten overleven:.
$ sudo netfilter-persistent save$ sudo netfilter-persistent herladen
Om alle regels te zien die aan uw iptables zijn toegevoegd, geeft u de volgende opdracht in Terminal:
$ sudo iptables -LDat is alles wat er is! In dit artikel hebben we besproken hoe u ping-verzoeken naar Linux Server kunt blokkeren/deblokkeren via de kernelparameters of via het hulpprogramma iptables. Ik hoop dat dit helpt!