Slik tømmer du Linux DNS Cache

DNS (Domain Name System) -serveren er opprettet for å oversette domenenavn til IP -adresser og omvendt for å gjøre det mulig å sende datapakker til destinasjonsdatamaskinene Hver gang vi skriver inn en adresse I nettleseren, utstyr er ansvarlig for å sende en forespørsel til den registrerte DNS -serveren, be om IP -adressen som er knyttet til domenenavnet som søkes, dette søket tar tid, og hvis det utføres i hver tilgangsprosess, kan DNS -serveren håndtere et stort antall av forespørsler som til slutt kan få den til å kollapse, og det påfølgende resultatet er tilgang nektet.

For å unngå dette er det DNS -cachen som er ansvarlig for å lagre IP -adressen til domenet lokalt for å hoppe over søkeprosessen i neste tilgang, men i stedet blir den omdirigert og tar denne lokale verdien, og dermed frigjør vi last til serveren og samtidig får vi tilgang til mye raskere. Men problemet er at det å ha for mye hostet DNS -cache kan påvirke nettleserens egen ytelse, og derfor anbefales det å lansere den. Vi skal se hvordan vi gjør denne oppgaven i Linux.

1. Slett DNS-cache ved hjelp av systemd-løse på Linux


Ubuntu og andre Debian-baserte distribusjoner benytter seg av systemd-løse-kommandoen, denne kommandoen er en DNS-demon som er innebygd i systemd, og er en systemtjeneste som gir nettverksnavnoppløsning til lokale applikasjoner.

Denne kommandoen implementerer en hurtigbuffer og validering av DNS / DNSSEC -stuboppløseren, samt en LLMNR- og MulticastDNS -resolver. Lokale applikasjoner kan sende forespørsler om oppløsning av nettverksnavn gjennom tre grensesnitt:

  • Den fullstendige opprinnelige API-en til det løste systemet blir avslørt på bussen.
  • Glibc getaddrinfo API som er definert av RFC3493 og tilhørende oppløsningsfunksjoner, inkludert gethostbyname.
  • En lokal stub DNS-lytter tilbys på IP-adressen 127.0.0.53 på det lokale loopback-grensesnittet, derfra kan programmer som genererer DNS-forespørsler direkte, omgå lokale API-er, bruke denne stubben for å koble til systemd-resolved

Trinn 1
For å bruke denne kommandoen, vil vi først se DNS -bufferstatistikken på systemet:

 sudo systemd -resolution -statistics 

FORSTØRRE

Steg 2
For å tømme DNS -cachen vi kjører:

 sudo systemd-løse-flush-cachres 

FORSTØRRE

Trinn 3
Som vi kan se, når vi kjører statistikken igjen, har DNS -bufferen blitt slettet. Dette er den vanligste metoden. Andre alternativer å bruke for forskjellige distribusjoner er:

Ved bruk av RedHat eller ArchLinux

 sudo systemctl start nscd på nytt 

2. Fjern DNS -cachen ved hjelp av dnsmasq eller navngitt på Linux


Deretter vil vi se to andre alternativer for å kunne slette hurtigbufferen

Slett DNS -cache med DnsmasqDnsmasq brukes ofte i lokale DNS -servere eller rutere, for å slette DNS -bufferen med denne kommandoen må vi utføre:

 sudo systemctl start dnsmasq på nytt 

Fjern DNS -cachen med BINDDenne BIND -kommandoen brukes til DNS -servere som er spesielt designet for spesifikke oppgaver og for å slette DNS -cachen der, bare kjør:

 sudo systemctl restart heter 

Så enkelt som det har vi ryddet Linux DNS -cachen, og dermed forbedret ytelsen til utstyret vårt gjennom terminalen.

wave wave wave wave wave