Poslužitelj DNS (Domain Name System) stvoren je za prevođenje naziva domena u IP adrese i obrnuto kako bi se omogućilo slanje paketa podataka na odredišna računala. Svaki put kada unesemo adresu u web preglednik, oprema je odgovorna za slanje upita registriranom DNS poslužitelju, traženje IP adrese koja je povezana s nazivom domene, za koje je potrebno vrijeme, a ako se izvrši u svakom procesu pristupa, DNS poslužitelj može obraditi veliki broj zahtjeva koji na kraju mogu uzrokovati kolaps, a posljedica toga je odbijanje pristupa.
Da bi se to izbjeglo, postoji DNS predmemorija koja je odgovorna za lokalno spremanje IP adrese navedene domene kako bi se preskočio proces pretraživanja pri sljedećem pristupu, ali umjesto toga preusmjerava se uzimajući ovu lokalnu vrijednost i tako oslobađamo opterećenje poslužitelju a u isto vrijeme pristupamo mnogo brže. No problem je u tome što previše hostirane DNS predmemorije može utjecati na performanse preglednika, pa se preporučuje njegovo objavljivanje, vidjet ćemo kako to učiniti u Linuxu.
1. Očistite DNS predmemoriju pomoću systemd-resolution na Linuxu
Ubuntu i druge distribucije temeljene na Debianu koriste naredbu systemd-resolution, ova naredba je DNS demon ugrađen u systemd i usluga je sustava koja lokalnim aplikacijama omogućuje razrješenje naziva mreža.
Ova naredba implementira DNS / DNSSEC rješavač stubova u predmemoriju i provjeru valjanosti, kao i LLMNR i MulticastDNS razrješivač. Lokalne aplikacije mogu slati zahtjeve za rješavanje naziva mreže putem tri sučelja:
- Potpuno opremljeni izvorni API riješenog sustava izložen je na sabirnici.
- API glibc getaddrinfo koji je definiran RFC3493 i srodne funkcije razrješenja, uključujući gethostbyname.
- Lokalni DNS poslušitelj iz stuba je ponuđen na IP adresi 127.0.0.53 na lokalnom sučelju za povratnu vezu, odatle programi koji izravno generiraju DNS zahtjeve, zaobilazeći lokalne API-je, mogu koristiti ovaj stub za povezivanje sa sustavom razriješenim
Korak 1
Za korištenje ove naredbe prvo ćemo vidjeti statistiku predmemorije DNS -a u sustavu:
sudo systemd -resolution -statistika
POVEĆAJTE
Korak 2
Sada, za brisanje DNS predmemorije, izvršavamo:
sudo systemd-resolution --flush-cachres
POVEĆAJTE
Korak 3
Kao što vidimo, kada ponovno pokrenemo statistiku, DNS predmemorija je izbrisana. Ovo je najčešća metoda. Druge opcije koje možete koristiti za različite distribucije su:
U slučaju korištenja RedHat -a ili ArchLinux -a
sudo systemctl ponovno pokrenite nscd
2. Očistite predmemoriju DNS -a pomoću dnsmasq -a ili imenujte Linux
Zatim ćemo vidjeti dvije druge mogućnosti za brisanje predmemorije
Očistite DNS predmemoriju pomoću Dnsmasq -aDnsmasq se često koristi na lokalnim DNS poslužiteljima ili usmjerivačima, za brisanje DNS predmemorije s ovom naredbom koju moramo izvršiti:
sudo systemctl ponovno pokrenite dnsmasq
Očistite DNS predmemoriju pomoću BIND -aOva naredba BIND koristi se za DNS poslužitelje posebno dizajnirane za određene zadatke, a za brisanje DNS predmemorije samo pokrenite:
sudo systemctl restart named
Jednostavno, očistili smo Linux DNS predmemoriju, čime smo poboljšali performanse naše opreme putem terminala.