Šis straipsnis yra apie tai, kaip blokuoti ping užklausas į „Linux Server“. Mes taip pat aprašysime, kaip atblokuoti ping užklausas, jei jums reikia naudoti ping sistemos administravimui ir trikčių šalinimui.
Būtinos sąlygos
- „Ubuntu 20“.04 LTS
- Vartotojas, turintis sudo teises
Pastaba: Čia aptartos komandos buvo išbandytos naudojant „Ubuntu 20“.04 LTS.
Blokuoti / atblokuoti ping užklausas į „Linux Server“
Ping veikia siunčiant ICMP paketą (aido užklausą) į paskirties sistemą, tada gaunamas atsakymas ICMP paketas (Echo atsakymas). „Linux“ sistemoje „ping“ komanda toliau siunčia ICMP paketus, kol jį sustabdysite naudodami „Ctrl“ + C.
Norėdami užblokuoti pingo užklausas, turėsite nepaisyti / užblokuoti ICMP aido užklausų, siunčiamų į jūsų serverį. Yra du būdai, kuriais galite užblokuoti / atblokuoti ICMP aido užklausas „Linux“ serveryje.
- Per branduolio parametrus
- Per „iptables“
Pradėkime.
Blokuoti / atblokuoti pingo užklausas per branduolio parametrus
Per branduolio parametrus galite blokuoti ping užklausas laikinai arba visam laikui. Branduolio parametrus galima keisti naudojant sysctl komandą, / sys / proc katalogas ir / etc / sysctl.konf failas.
Laikinos blokavimo / atblokavimo ping užklausos
"Sysctl" komanda "Linux" naudojama skaityti ir rašyti branduolio parametrus / proc / sys kataloge. Naudodami šią komandą, mes galime nustatyti branduolio parametrus blokuoti / atblokuoti ping užklausas. Branduolio parametras neto.„ipv4“.icmp_echo_ignore_all kontroliuoja, ar sistema turėtų atsakyti į ICMP aido užklausą. Numatytoji jo vertė yra „0 ' tai reiškia atsakyti į ICMP prašymą.
Blokuoti „Ping“ užklausą
Norėdami užblokuoti ping užklausą, terminale pateikite šią komandą:
$ sudo sysctl -w net.„ipv4“.icmp_echo_ignore_all = 1Ši komanda nustato branduolio parametrą į „1“, o tai reiškia ignoruoti visas ICMP užklausas.
Dabar visos jūsų sistemos ping užklausos bus užblokuotos ir siuntėjas negaus atsakymo, kaip parodyta žemiau esančioje ekrano kopijoje.
Atblokuoti „Ping“ užklausą
Norėdami atblokuoti pingo užklausas, dar kartą paleiskite tą pačią komandą, pakeisdami parametro vertę į numatytąją „0“.
$ sudo sysctl -w net.„ipv4“.icmp_echo_ignore_all = 0
Arba galite užblokuoti pingo užklausas pakeisdami branduolio parametro vertę / proc / sys katalogą naudodami komandą echo. Tačiau norint naudoti šį metodą, komandą turėsite paleisti kaip root.
Norėdami užblokuoti ping užklausą, pirmiausia perjunkite į root abonementą naudodami šią komandą terminale:
$ su šaknisKai būsite paraginti įvesti slaptažodį, įveskite root slaptažodį.
Tada terminale išleiskite šią komandą:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Norėdami atblokuoti ping užklausas, komanda bus tokia:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allVisam laikui blokuoti pingo užklausas
Branduolio parametrus taip pat galima keisti naudojant / etc / sysctl.konf failą. Šis failas leis jums visam laikui užblokuoti ping serverio užklausas.
Blokuoti „Ping“ užklausą
Norėdami užblokuoti ping užklausą savo sistemoje, redaguokite / etc / sysctl.konf failas:
$ sudo nano / etc / sysctl.konfTada faile pridėkite šią eilutę:
neto.„ipv4“.icmp_echo_ignore_all = 1
Išsaugokite ir uždarykite failą.
Tada „Terminal“ išduokite šią komandą, kad pritaikytumėte šią konfigūraciją neperkraunant:
$ sysctl -p
Atblokuoti „Ping“ užklausą
Norėdami atblokuoti pingo užklausas, redaguokite / etc / sysctl.konf failas:
$ sudo nano / etc / sysctl.konfTada pakeiskite neto.„ipv4“.icmp_echo_ignore_all į0 ':
neto.„ipv4“.icmp_echo_ignore_all = 0
Išsaugokite ir uždarykite failą.
Tada „Terminal“ išduokite šią komandą, kad pritaikytumėte šią konfigūraciją neperkraunant:
$ sysctl -pBlokuoti / atblokuoti pingo užklausas naudojant „iptables“
„Iptables“ yra „Linux“ užkardos įrankis, valdantis gaunamą ir išeinantį srautą pagal tam tikras taisykles. Jis iš anksto įdiegtas „Ubuntu“ sistemoje. Jei to trūksta sistemoje, galite ją įdiegti naudodami šią komandą terminale:
$ sudo apt įdiekite „iptables“Blokuoti „Ping“ užklausą
Norėdami užblokuoti ping užklausas savo sistemoje, įveskite šią komandą terminale:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j ATSISAKYTIKur A vėliava naudojama norint pridėti taisyklę iptables ir „icmp“ tipas 8 yra ICMP tipo numeris, naudojamas prašant aido.
Pirmiau nurodyta komanda užkardoje pridės taisyklę, kuri blokuos visas jūsų sistemos gaunamas ping užklausas. Pridėjus šią taisyklę, kiekvienas, siunčiantis pingo užklausą į jūsų sistemą, pamatys „Paskirties uostas nepasiekiamas“Pranešimas, kaip parodyta žemiau esančioje ekrano kopijoje.
Jei nenorite, kad šis pranešimas būtų rodomas, naudokite šią komandą pakeisdami ATMESTI su LAŠAS:
$ sudo iptables -A INPUT -p icmp --icmp tipo 8 -j DROPDabar kiekvienas, siunčiantis pingo užklausą į jūsų sistemą, pamatys tokį panašų išėjimą:
Atblokuoti „Ping“ užklausą
Norėdami atblokuoti ping užklausas savo serveryje, įveskite šią komandą terminale:
$ sudo iptables -D INPUT -p icmp --icmp tipo 8 -j ATMETTIKur D vėliava naudojama taisyklėms ištrinti „iptables“ ir „icmp“ tipas 8 yra ICMP tipo numeris, naudojamas echo užklausai.
Jums reikės, kad šios taisyklės būtų išliekančios iš naujo paleidus sistemą „iptables“ - patvarūs pakuotė. Išduokite žemiau esančią komandą „Terminal“, kad įdiegtumėte „iptables-persistent“:
$ sudo apt install iptables-persistent
Jūsų bus paprašyta patvirtinti, ar norite tęsti diegimą, ar ne. Rezultatas y tęsti, po to sistema pradės diegimą ir, kai bus baigta, ji bus paruošta naudoti.
Pridėję arba ištrynę bet kokią taisyklę, „Terminal“ išleiskite šias komandas, kad jos išliktų sistemos perkrovimo metu.
$ sudo netfilter-persistent save$ sudo netfilter-persistent reload
Norėdami peržiūrėti visas taisykles, pridėtas prie „iptables“, terminale pateikite šią komandą:
$ sudo iptables -LTai viskas, kas yra! Šiame straipsnyje aptarėme, kaip blokuoti / atblokuoti „Linux Server“ ping užklausas per branduolio parametrus arba per „iptables“ įrankį. Tikiuosi tai padės!