Den här artikeln handlar om hur man blockerar ping-förfrågningar till Linux Server. Vi kommer också att beskriva hur du avblockerar ping-förfrågningar om du behöver använda ping för systemadministration och felsökning.
Förutsättningar
- Ubuntu 20.04 LTS
- Användare med sudo-privilegier
Notera: Kommandona som diskuteras här har testats på Ubuntu 20.04 LTS.
Blockera / avblockera pingförfrågningar till Linux Server
Ping fungerar genom att skicka ett ICMP-paket (Echo-begäran) till destinationssystemet och sedan få ett svar ICMP-paket (Echo-svar). I Linux fortsätter ping-kommandot att skicka ICMP-paket tills du stoppar det med Ctrl + C.
För att blockera pingförfrågningar måste du ignorera / blockera ICMP-ekoförfrågningar som skickas till din server. Det finns två sätt på vilka du kan blockera / avblockera ICMP-ekförfrågningar till Linux-servern.
- Genom kärnparametrar
- Genom iptables
Låt oss börja.
Blockera / avblockera pingförfrågningar via kärnparametrar
Genom kärnparametrar kan du blockera pingförfrågningar antingen tillfälligt eller permanent. Kärnparametrar kan ändras genom sysctl kommando, / sys / proc katalog och / etc / sysctl.conf-fil.
Tillfälligt blockera / avblockera pingförfrågningar
Sysctl-kommandot i Linux används för att läsa och skriva kärnparametrar i / proc / sys katalog. Med detta kommando kan vi ställa in kärnparametrar för att blockera / avblockera ping-förfrågningar. Kärnparametern netto.ipv4.icmp_echo_ignore_all kontrollerar om systemet ska svara på ICMP-ekoförfrågan. Standardvärdet för det är '0 ' vilket innebär att svara på ICMP-begäran.
Blockera Ping-begäran
För att blockera ping-begäran, utfärda följande kommando i Terminal:
$ sudo sysctl -w nät.ipv4.icmp_echo_ignore_all = 1Detta kommando sätter kärnparametern till '1' vilket innebär att ignorera alla ICMP-förfrågningar.
Nu blockeras alla pingförfrågningar till ditt system och avsändaren får inget svar som visas i skärmdumpen nedan.
Avblockera Ping-begäran
För att avblockera pingförfrågningarna, kör igen samma kommando genom att ändra parametervärdet till standard '0'.
$ sudo sysctl -w nät.ipv4.icmp_echo_ignore_all = 0
Alternativt kan du blockera pingförfrågningar genom att ändra kärnparametervärdet i / proc / sys katalog med ekokommandot. För att använda den här metoden måste du dock köra kommandot som root.
För att blockera ping-begäran, byt först till root-konto med följande kommando i Terminal:
$ su rootNär du uppmanas att ange lösenordet anger du lösenordet för root.
Ge sedan ut följande kommando i Terminal:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
För att avblockera pingförfrågningarna skulle kommandot vara:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allBlockera pingförfrågningar permanent
Kärnparametrar kan också ändras via / etc / sysctl.konf fil. Med den här filen kan du permanent blockera ping-förfrågningar till din server.
Blockera Ping-begäran
För att blockera ping-begäran till ditt system, redigera / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfLägg sedan till följande rad i filen:
netto.ipv4.icmp_echo_ignore_all = 1
Spara och stäng filen.
Ge sedan följande kommando i Terminal för att tillämpa denna konfiguration utan omstart:
$ sysctl -p
Avblockera Ping-begäran
Om du vill avblockera ping-förfrågningar, redigera / etc / sysctl.konf fil:
$ sudo nano / etc / sysctl.konfÄndra sedan värdet på netto.ipv4.icmp_echo_ignore_all till '0 ':
netto.ipv4.icmp_echo_ignore_all = 0
Spara och stäng filen.
Ge sedan följande kommando i Terminal för att tillämpa denna konfiguration utan omstart:
$ sysctl -pBlockera / avblockera pingförfrågningar med hjälp av iptables
Iptables är ett brandväggsverktyg i Linux som styr inkommande och utgående trafik baserat på vissa regler. Den kommer förinstallerad i Ubuntu-systemet. Om det saknas i systemet kan du installera det med följande kommando i Terminal:
$ sudo apt installera iptablesBlockera Ping-begäran
För att blockera pingförfrågningar till ditt system, skriv följande kommando i Terminal:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECTDär den A flagga används för att lägga till en regel i iptables och icmp-typ 8 är ICMP-typnumret som används för ekoförfrågan.
Ovanstående kommando lägger till en regel i brandväggen som blockerar alla inkommande pingförfrågningar till ditt system. Genom att lägga till denna regel kommer den som skickar ping-begäran till ditt system att se “Destination Port Oåtkomlig”Meddelande som visas på skärmbilden nedan.
Om du inte vill att detta meddelande ska visas, använd följande kommando som ersätter AVVISA med SLÄPPA:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROPNu kommer alla som skickar ping-begäran till ditt system att se följande liknande utdata:
Avblockera Ping-begäran
För att avblockera pingförfrågningar till din server, skriv följande kommando i Terminal:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJECTDär den D flagga används för att radera en regel i iptables och icmp-typ 8 är ICMP-typnumret som används för en ekoförfrågan.
För att göra dessa regler bestående efter en systemåterstart måste du iptables-beständiga paket. Utfärda kommandot nedan i Terminal för att installera iptables-persistent:
$ sudo apt installera iptables-persistent
Du kommer att bli ombedd att bekräfta om du vill fortsätta med installationen eller inte. Träffa y för att fortsätta, varefter systemet startar installationen och när det är klart kommer det att vara klart att användas.
Efter att ha lagt till eller tagit bort en regel, utfärda följande kommandon i Terminal för att få dem att överleva omstart av systemet.
$ sudo netfilter-ihållande spara$ sudo netfilter-ihållande omladdning
För att se alla regler som läggs till iptabellerna, utfärda följande kommando i Terminal:
$ sudo iptables -LDet är allt som finns i det! I den här artikeln har vi diskuterat hur man blockerar / avblockerar ping-förfrågningar till Linux Server antingen via kärnparametrarna eller genom iptables-verktyget. Hoppas det här hjälper!