Ta članek govori o splakovanju DNS v Ubuntuju. Da bi razumeli, zakaj je to potrebno, morate najprej razumeti, kako deluje DNS, in nekaj o predpomnjenju DNS.
Kako deluje DNS:
Preprosto si DNS lahko predstavlja tabelo domenskih imen in naslovov IP, kot je navedeno spodaj:
Domena | IP naslov |
linuxhint.com | 1.2.3.4 |
podporo.linuxhint.com | 3.4.5.7 |
google.com | 8.9.5.4 |
www.google.com | 8.9.5.4 |
Upoštevajte, da noben podatek v tej tabeli ni resničen. To je samo za namen predstavitve. Vrnimo se torej k naši prvotni temi.
Recimo, ko obiščete, linuxhint.com, brskalnik vpraša strežnik DNS (nastavljen v vašem računalniku) nekaj vprašanj.
Vaš računalnik: Hej, ali veš linuxhint.com?
DNS strežnik: Ne jaz ne. Toda strežnik DNS 4.4.4.4 morda vedo o tem.
Vaš računalnik: Kontaktirajte strežnik DNS 4.4.4.4 in vpraša: "Hej, ali veš linuxhint.com?"
DNS strežnik 2: Ja, vem. Kaj lahko naredim zate?
Vaš računalnik: Potrebujem naslov IP linuxhint.com. Ali lahko imam?
DNS strežnik 2: Brez strahu, zato sem tukaj. Tu je naslov IP linuxhint.com 1.2.3.4.
Vaš računalnik: Ti si rešitelj življenja. Hvala.
Zdaj se računalnik poveže z 1.2.3.4 in vaše najljubše spletno mesto linuxhint.com se pojavi. To je bilo res težko, kajne?
Ko boste naslednjič obiskali linuxhint.com, ponovi se isto.
DNS predpomnjenje:
V prejšnjem razdelku ste videli, kako je ime domene razrešeno na naslove IP. To potovanje skozi strežnike DNS traja nekaj časa in dokler ni končano in je ime domene mogoče razrešiti na naslove IP, se ne boste mogli povezati z nobenim spletnim mestom ali strežnikom v internetu.
Za rešitev te težave se uporablja predpomnjenje DNS. Tukaj, ko poskusite domensko ime prvič razrešiti na naslove IP, traja nekoliko dlje. Ko pa je ime domene razrešeno, se naslovi IP shranijo v vaš računalnik. Torej, naslednjič, ko boste morali razrešiti isto ime domene, ne bo trajalo tako dolgo kot prvič.
Težave s predpomnjenjem DNS:
Predpomnjenje DNS je dobro. Kako to, da je predpomnjenje DNS problematično? No, internetni svet je tako dinamičen, da se informacije o DNS nenehno spreminjajo. Morda se je nekajkrat spremenil, tudi ko sem pisal ta članek.
Torej, kaj se zgodi, ko se spremenijo podatki DNS in uporabljamo podatke DNS, ki so predpomnjeni v našem računalniku? No, tam postane problematično. V tem primeru bomo uporabili stare podatke o DNS. Morda imamo težave s povezljivostjo, napačne preusmeritve in številne druge težave.
Da bi rešili to težavo, moramo izbrisati predpomnilnik (imenovano tudi DNS izpiranje) in ga znova zgraditi. To je tema tega članka.
Preverjanje, ali je omogočeno predpomnjenje DNS:
Lahko preverite, ali je predpomnjenje DNS v Ubuntuju zelo enostavno omogočeno. Morate imeti nslookup ali kopati pripomoček, nameščen v računalniku, da to deluje.
nslookup ali kopati ukaz morda ni privzeto na voljo na vašem računalniku Ubuntu. Lahko pa ga preprosto namestite iz uradnega repozitorija paketov Ubuntu.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:
$ sudo apt posodobitev
Predpomnilnik skladišča paketov APT je treba posodobiti.
Zdaj namestite nslookup in kopati z naslednjim ukazom:
$ sudo apt namestite dnsutils
Zdaj pritisnite y in nato pritisnite
nslookup in kopati ukazi bi morali biti zdaj na voljo.
Zdaj, da preizkusite, ali je predpomnjenje omogočeno, zaženite naslednji ukaz:
$ nslookup google.comKot lahko vidite, je strežnik DNS, ki se uporablja za razrešitev imena domene, 127.0.0.53, ki je povratni naslov IP. Torej je omogočeno predpomnjenje DNS. Če je onemogočen, mora biti strežnik DNS karkoli drugega kot 127.0.0.X.
Isto lahko preverite pri kopati ukaz, pa tudi naslednje:
$ dig google.comKot lahko vidite, se naslovi IP z povratno zanko tudi tukaj uporabljajo kot naslovi strežnika DNS. Torej je omogočeno predpomnjenje DNS.
Odpiranje DNS v Ubuntu 18.04 LTS:
Ubuntu 18.04 LTS uporablja lokalni strežnik DNS in privzeto shrani poizvedbe DNS. Ubuntu 18.04 LTS uporablja sistemd Za ta namen.
Z naslednjim ukazom lahko preverite, koliko vnosov DNS je predpomnjenih in veliko drugih informacij v Ubuntu 18.04 LTS:
$ sudo systemd-resolution --statistics
Kot lahko vidite, so informacije o predpomnilniku DNS navedene v označenem delu spodnjega posnetka zaslona.
Za izpiranje predpomnilnika DNS v Ubuntu 18.04 LTS, zaženite naslednji ukaz:
$ sudo systemd-razreši --flush-caches
Lahko tudi znova zaženete sistemsko razrešen storitev za izpiranje predpomnilnikov DNS v Ubuntu 18.04 LTS.
Če želite znova zagnati sistemsko razrešen storitev, zaženite naslednji ukaz:
$ sudo systemctl znova zaženite sistem-rešeno
Kot vidite, se predpomnilniki počistijo.
$ sudo systemd-resolution --statistics
Izpiranje predpomnilnika DNS v Ubuntu 16.04:
Na Ubuntu 16.04 LTS, predpomnilnik DNS privzeto ni omogočen. Toda nekatere aplikacije kot vezati, dnsmasq, nscd itd. lahko predpomni.
Če uporabljate nscd za predpomnjenje poizvedb DNS lahko nato izpraznite predpomnilnik DNS s preprostim ponovnim zagonom nscd storitev.
Lahko znova zaženete nscd storitev na Ubuntu 16.04 LTS za izpiranje predpomnilnikov DNS z naslednjim ukazom:
$ sudo systemctl znova zaženite nscdČe uporabljate dnsmasq za predpomnjenje DNS, nato ponovni zagon dnsmasq storitev z naslednjim ukazom naj izbriše predpomnilnik DNS.
$ sudo systemctl znova zaženite dnsmasqTorej, tako splaknete predpomnilnik DNS v Ubuntu 18.04 LTS in 16.04 LTS. Hvala, ker ste prebrali ta članek.