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.