Kako nastaviti Linux strežnik za predpomnjenje DNS v Linuxu?

Poizvedbe DNS običajno niso nekaj, zaradi česar morate skrbeti. Včasih bi morali!


Če ima ponudnik internetnih storitev vašega doma ali pisarne počasen strežnik imen ali vaš strežnik izvaja veliko iskanj, potrebujete lokalni DNS strežnik za predpomnjenje..

Kako mi bo pomagal predpomnilniški strežnik DNS?

Predpomnilniški strežnik DNS deluje tako, da izvede vse poizvedbe DNS, ki jih sistem naredi, in nato shrani ali predpomni rezultate v pomnilnik. Ko se rezultati predpomnijo v spomin vsakič, ko vložite podvojeno zahtevo za domeno, bo rezultat skoraj v trenutku prikazan iz pomnilnika.

To se morda ne zdi preveč pomembno, toda če strežniki DNS vašega ponudnika internetnih storitev vzamejo čas za odziv, bo vaše brskanje po internetu močno upočasnilo. Na primer, domača stran ameriškega kanala novic MSNBC mora vzpostaviti stik z več kot 100 edinstvenimi imeni domen, da se pravilno naloži. Če strežniki imen vašega ponudnika internetnih storitev vzamejo celo desetino sekunde dlje, kot je običajno, to pomeni, da bo stran trajala 10 sekund dlje, da se bo končalo nalaganje.

Lokalni strežnik DNS za predpomnjenje ne bo pomagal samo v vašem domu ali pisarni, temveč bo pomagal tudi na vašem strežniku. Če imate aplikacijo, ki naredi veliko iskanj DNS, na primer zasedeni e-poštni strežnik, ki zažene programsko opremo za preprečevanje neželene pošte, bo prejel hitrost lokalnega strežnika za predpomnjenje DNS.

Končno sistemsko ločeno podpira najnovejše in varne standarde DNS DNSSEC in DNSoverTLS oz DoT. Te vam pomagajo varovati in ohraniti zasebnost v spletu.

Kateri lokalni predpomnilniški DNS bomo uporabili?

Lokalni strežnik za predpomnjenje DNS, ki ga bomo omogočili in konfigurirali v tem priročniku, je sistemsko rešen. To orodje je del sistemd nabor orodij za upravljanje sistema. Če vaš sistem uporablja sistemd in so skoraj vse glavne distribucije Linuxa, boste že imeli nameščeno sistemsko, vendar ne deluje. Večina distribucij ne uporablja sistemsko ločenih, čeprav je prisotna.

sistemsko razrešen deluje z izvajanjem majhnega lokalnega strežnika za predpomnjenje DNS, ki ga bomo konfigurirali za zagon ob zagonu. Nato bomo znova konfigurirali preostali sistem, da bo njihove poizvedbe DNS usmeril v lokalni predpomnilnik, ki ga je rešil sistemski DNS.

Kako preveriti, ali že uporabljate sistemsko rešitev?

Nekatere distribucije Linuxa že privzeto uporabljajo sistemsko rešeno, na primer Ubuntu 19.04.

Če že izvajate sistemsko reševanje, vam tega ni treba omogočiti ali konfigurirati sistema, da ga bo uporabljal. Kljub temu boste morda morali zagotoviti, da so orodja za upravljanje omrežja, kot je NetworkManager, pravilno konfigurirana, saj lahko prezrejo konfiguracijo sistemskih omrežij.

Pred nadaljevanjem naslednjega razdelka zaženite naslednji ukaz in preverite, ali že izvajate sistemsko reševanje:

$ resolutionctl status

Če dobite sporočilo:

$ resolutionctl status
Globalnih podatkov ni bilo mogoče dobiti: enote dbus-org.freedesktop.resolve1.service ni bilo mogoče najti.

Ti si ne teče sistemsko in je treba preiti na naslednji razdelek. Če namesto tega vidite izhod, ki se začne z nečim podobnim:

Globalno
Nastavitev LLMNR: da
Nastavitev multicastDNS: da
Nastavitev DNSOverTLS: oportunistična
Nastavitev DNSSEC: dovoljeno znižanje
DNSSEC podpira: ne
Trenutni strežnik DNS: 1.1.1.1
DNS strežniki: 1.1.1.1
1.0.0.1

Potem že izvajate sistemsko reševanje in vam ga ni treba omogočiti.

Omogočanje in konfiguriranje sistemsko rešeno

Ni nam treba namestiti sistemsko rešenih kot že del sistema. Vse, kar moramo storiti, je, da ga zaženemo, da se zažene strežnik za predpomnjenje DNS in nato omogočimo, da ga zažene ob zagonu.

Zaženite naslednji ukaz iz poziva lupine, ko je sudo nekorijenskemu uporabniku omogočil zagon sistemsko reševanja:

$ sudo systemctl zaženite sistemsko-rešitve.service

Nato zaženite naslednji ukaz, da zaženete sistemsko reševanje pri zagonu sistema:

$ sudo systemctl omogoči sistemd-rešitve.service

Zadnji element konfiguracije, ki je ostal, je nastavitev strežnikov DNS, ki bodo sistemsko rešeni poizvedovali po razrešenih domenah. Tu je veliko možnosti, vendar je kateri koli od naslednjih parov brezplačen, hiter in oba podpirata DNSSEC in DoT:

Google Javni DNS

  • 8.8.8.8
  • 8.8.4.4

Javni DNS v oblaku Cloudflare

  • 1.1.1.1
  • 1.0.0.1

Odprite glavno konfiguracijsko datoteko, ki jo rešuje sistem, s svojim najljubšim urejevalnikom besedil, tukaj sem uporabil nano:

$ sudo nano /etc/systemd/ riješen.conf

Urejanje vrstice se začne

# DNS =

Tako je naveden par IP naslovov. Tu so prikazani strežniki DNS Cloudflare:

DNS = 1.1.1.1 1.0.0.1

Shranite in zapustite urejevalnik besedil. Zdaj moramo znova zagnati sistemsko rešeno, da začne uporabljati strežnike imen:

$ sudo systemctl znova zaženite systemd-resolution.service

sistemsko rešen se zdaj izvaja in pripravljen za začetek pospeševanja in zaščite DNS poizvedb takoj, ko konfiguriramo sistem, da začne uporabljati.

Konfiguriranje sistema za uporabo sistemsko rešenega

Vaš sistem je mogoče konfigurirati na več načinov za uporabo sistemsko rešenih, vendar bomo pogledali dve konfiguraciji, ki zajemata večino primerov uporabe. Prva je priporočena konfiguracija, druga pa konfiguracija združljivosti. Razlika med obema je način upravljanja datoteke /etc/resolv.conf.

V datoteki /etc/resolv.conf so shranjeni naslovi IP strežnikov imen, ki bi jih morali poizvedovati programi v sistemu. Programi, ki morajo opraviti poizvedbe DNS, bodo v tej datoteki preučili, da bi ugotovili, na katere strežnike naj se obrnejo, da bi lahko izvedli poizvedbe.

Dva načina sistemsko razrešenega središča, kako upravljati z vsebino te datoteke. V priporočenem načinu je /etc/resolv.conf vzpostavljena simbolna povezava do /run/systemd/resolve/stub-resolv.conf. To datoteko upravlja sistemsko rešen, zato sistemsko rešen upravlja podatke o konfiguraciji DNS za vse druge programe v sistemu.

To lahko povzroči težave, ko drugi programi poskušajo upravljati z vsebino /etc/resolv.conf. Način združljivosti pušča /etc/resolv.conf, ki omogoča drugim programom, da ga upravljajo, medtem ko sistemsko rešen uporablja te podatke DNS. V tem načinu morajo biti drugi programi, ki upravljajo /etc/resolv.conf, konfigurirani za nastavitev 127.0.0.53 kot sistemski strežnik imen v /etc/resolv.conf.

Konfiguriranje priporočenega načina

Ko konfiguriramo ta način, sistemsko razrešen bo upravljal /etc/resolv.conf tako, da bo postal povezava do /run/systemd/resolve/stub-resolv.conf. To bomo morali storiti ročno, saj ni nastavljeno samodejno.

Najprej izbrišite ali preimenujte obstoječo datoteko /etc/resolv.conf. Preimenovanje je boljša možnost, da ga izbrišete, saj bo imel enak učinek, vendar se lahko vedno obrnete na izvirnik, če potrebujete informacije, ki jih vsebuje. Tu preimenujemo /etc/resolv.conf z ukazom mv:

$ sudo mv /etc/resolv.conf /etc/resolv.conf.original

Nato ustvarite simbolno povezavo:

$ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Končno znova zaženite sistemsko rešeno:

$ sudo systemctl znova zaženite systemd-resolution.service

Konfiguracija načina združljivosti

V tem načinu morate zagotoviti, da sistemski servisi poizvedujejo lokalnega strežnika imen, ki se je sistemsko razrešil. Odprite /etc/resolv.conf v urejevalniku besedil, tukaj se uporablja urejevalnik nano:

$ sudo nano /etc/resolv.conf

Izbrišite vse vrstice, na katere naletite z “nameserver”, in dodajte to vrstico:

nameserver 127.0.0.53

To spremembo lahko spremeni kateri koli drug program, ki upravlja /etc/resolv.conf. V tem primeru boste morali te programe konfigurirati, da bodo s tem strežnikom imen nastavili trajno urejanje.

Odpravljanje napak je sistemsko rešeno

Odkrivanje natančno, kako vaš sistem uvaja poizvedbe DNS po tem, ko ste jih spremenili, je lahko težko. Najučinkovitejši način opazovanja dogajanja je, da sistemsko razrešimo v način odpravljanja napak in si ogledate datoteko dnevnika.

systemd-razrešena je sistemska storitev, kar pomeni, da jo je mogoče enostavno prestaviti v način za odpravljanje napak z ustvarjanjem spustne storitvene datoteke, ki vsebuje nastavitev za odpravljanje napak. Naslednji ukaz ustvari pravilno datoteko na pravilnem mestu:

$ sudo systemctl urejanje systemd-resolution.service

V urejevalnik prilepite naslednje vrstice in jih nato shranite in zapustite:

[Storitev]
Okolje = SYSTEMD_LOG_LEVEL = odpravljanje napak

Storitev, ki jo rešuje sistem, se samodejno naloži ob uspešnem shranjevanju in izhodu.

Odprite drugi terminal na istem strežniku in sledite dnevniku dnevnik za sistemsko rešeno storitev:

$ sudo journalctl -f -u sistemsko rešen

Vrstica, ki se začne z »Uporaba strežnika DNS«, npr .:

Uporaba strežnika DNS 1.1.1.1 za transakcijo 19995.

Točno vam pove, kateri strežnik DNS se uporablja za poizvedbe DNS. V tem primeru je bil poizveden DNS strežnik Cloudflare pri 1.1.1.1.

Vrstice, ki so “Zamudni predpomnilnik”, pomenijo, da ime domene ni bilo predpomnjeno. Npr .:

Predp. Predpomnilnika za primer.com IN SOA

Vrstice, ki se začnejo z “pozitivnim zadetkom predpomnilnika”, npr .:

Pozitiven predpomnilnik za primer na primer.com IN A

Navedite, da je sistemsko rešena ta domeno poizvedovala prej in odgovor je bil poslan iz predpomnilnika v lokalnem pomnilniku.

Način odpravljanja napak morate onemogočiti, ko končate sistemsko rešen sistem, ker bo ustvaril zelo veliko datoteko dnevnika v zaseden sistem. Zapisovanje napak lahko onemogočite tako, da zaženete:

$ sudo systemctl urejanje systemd-resolution.service

in brisanje obeh vrstic ste dodali in shranili in zapustili urejevalnik.

Uporaba varnih poizvedb DNS

sistemsko rešen je eden redkih, trenutno dostopnih strežnikov DNS, ki podpirajo tako DNSSEC kot DNSoverTLS. Obe temi pomagata zagotoviti, da prejemate pristne DNS-informacije (DNSSEC) in da nihče ne more preslišati vašega DNS prometa, ko prehaja po internetu. (DoT).

Te možnosti je enostavno omogočiti tako, da z urejevalnikom besedil odprete glavno konfiguracijsko datoteko, ki jo je rešil sistemsko:

$ sudo nano /etc/systemd/ riješen.conf

In urejanje datoteke tako, da sta nastavljeni naslednji dve vrstici:

DNSSEC = dovoljenje za znižanje vrednosti
DNSOverTLS = oportunistično

Shranite in zapustite urejevalnik, nato ponovno naložite sistemsko razrešen:

$ sudo systemctl znova zaženite systemd-resolution.service

Dokler strežnik DNS ste nastavili podporo DNSSEC in DoT, bodo vaše poizvedbe DNS zaščitene. Ta protokola podpirata javni strežnik DNS Google in Cloudflare.

Zaključek

Vaš sistem je zdaj konfiguriran za hitro in učinkovito postavljanje DNS poizvedb, tudi če se strežnik DNS vašega ponudnika internetnih storitev ne odziva tako hitro, kot bi moral. Poleg tega je vaše digitalno življenje bolj varno, ko uporabljate najnovejše, varne protokole DNS za zaščito vaših poizvedb DNS.

Če ste navdušen nad Linuxom in želite izvedeti več, preverite to fantastično spletni tečaj.

Oznake:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map