A DNSmasq használható a Linux disztribúciók DNS-kérelmeinek gyorsítótárazására. azonban ez egy kicsit kihívást jelenthet.
A DNS-gyorsítótár azért működik, hogy felgyorsítsa a DNS-keresési eljárást, amely a webhely tartománynevét a hozzá tartozó IP-címre konvertálja. Ha a hálózaton több felhasználó keresi fel ugyanazt a webhelycímet, a helyi DNS-gyorsítótár-kiszolgáló használata csökkentheti a web betöltéséhez szükséges időt.
Először nézzük meg, mi az a DNS-gyorsítótárazás.
Tartalomjegyzék
Mi az a DNS-gyorsítótárazás?
A DNS-t az internet arra használja, hogy nyomon kövesse az összes nyilvánosan elérhető online webhelyet és a kapcsolódó IP-címeket. Összehasonlítható egy telefonkönyvvel. A DNS használata megakadályozza, hogy meg kell jegyeznünk az egyes webhelyek IP-címét, amely szükséges a hálózati infrastruktúra és az internetes oldalak közötti interakcióhoz.
Amikor arra kéri a keresőmotort, hogy jelenítsen meg egy weboldalt, valójában ez történik a színfalak mögött.
Bár a rendszer számos külső DNS-kiszolgálóhoz fér hozzá, a probléma az, hogy a DNS központi másolata még mindig felgyorsítja az átvitelt és a felbontást. Ekkor lép életbe a DNS-gyorsítótárazás.
Mielőtt elküldené a kérést a webre, a DNS-gyorsítótár kezeli az identitásfeloldást a közelmúltban és gyakran elért tartományokhoz, hogy ezzel sokkal jobban felgyorsítsa az eljárást.
A DNS-kiszolgálót akkor lehet elérni, amikor egy IP-címet tartománynévvé kell feloldani. Ez további terhelést jelenthet a DNS-kiszolgálón, különösen, ha a webhely egyszerre sok kérést kap.
A DNS-gyorsítótárat a DNS-kérések és a válaszidő csökkentésére használják. A megoldott IP-címek a gazdagép adataival együtt helyileg mentésre kerülnek. Ahelyett, hogy új DNS-lekérdezést kezdeményezne, az eredményt a rendszer a DNS-gyorsítótárból kéri le, amikor legközelebb meg kell oldani az IP-címet vagy a tartománynevet.
Hogyan segít a DNS-gyorsítótárazás a szakaszos DNS-megoldási problémák megoldásában az Amazon EC2 példányokon?
A Linux rendszerek többsége nem használ helyi DNS-gyorsítótárat. Ez azt jelenti, hogy minden DNS-kérést közvetlenül elküldenek az Amazon által biztosított mérvadó DNS-feloldónak, amely korlátozza az egyszerre feldolgozható kérések számát. DNS-feloldási problémák akkor fordulnak elő, ha sok a kérés.
A helyi DNS-gyorsítótár telepítése a rendszerben segít csökkenteni a CPU és a hálózat kihasználtságát, miközben megelőzi a DNS-feloldási hibákat. A helyi DNS-gyorsítótár válaszol a külső DNS-erőforrásokhoz, például az Amazon RDS-hez és az S3-hoz intézett lekérdezésekre.
A DHCP protokollt az Amazon VPC-hez csatlakoztatott Amazon EC2 példányai indításkor használják DNS-kiszolgáló címének kérésére.
Amikor az Amazon VPC-t használja virtuális magánfelhő létrehozásához, a Route 53 DNS Resolver hatékonyan használja a VPC-n található feloldót, hogy válaszoljon a helyi Amazon VPC webcímek és bejegyzések alatt futó EC2-példányok DNS-kéréseire. A Resolver ismétlődő kereséseket végez nyilvános DNS-kiszolgálókon az összes további webcímhez.
A DNS-gyorsítótár a korábbi DNS-lekérdezések átmeneti rekordjaként szolgál, amelyet rendszerünk gyorsan megvizsgálhat, miközben megpróbál hozzáférni egy online webhelyhez. Naplót vezet minden meglévő és azt követő munkamenetről. Ez a DNS-gyorsítótár megkönnyíti a tartományfeloldást, és megakadályozza a hibákat az Amazon EC2 Linux példányaival.
Sok felhasználó általában az Amazon Route 53 szolgáltatását használja DNS-hez az AWS elérésekor. Nagyon könnyen használható és szinte ingyenes. De számos ok is befolyásolhatja a felhasználó döntését a helyi DNS-kiszolgáló használatáról.
Annak ellenére, hogy a bind9 továbbra is nagyszerű lehetőség a helyi DNS-gyorsítótár-kiszolgáló beállítására, a dnsmasq telepítése és konfigurálása sokkal egyszerűbb mind az EC2-példányokon, mind a helyi gépeken.
Mi az a dnsmasq?
A DNSmasq egy Linuxhoz kapcsolódó eszköz, amely támogatja a DNS, DHCP, TFTP és DNS gyorsítótárazást. Kompaktnak és könnyűnek készült, így ideális hálózatokhoz és tűzfalakhoz, kevesebb erőforrás-korlátozással.
Hihetetlenül egyszerű a telepítés és a konfigurálás. Az alhálózatok DNS és DHCP beállításához a dnsmasq rugalmas és praktikus megoldás.
Lehetőség van beállítani ezeket a DHCP-hez rendelt azonosítókat és a kapcsolódó utasításokat minden egyes kiszolgálóhoz vagy egy mögöttes vezérlőhöz. A dnsmasq a dinamikus és a statikus DHCP opciókat egyaránt támogatja. Hordozható, és legalább 1000 kliens DNS- és DHCP-kezelésére képes.
DNS-lekérdezés fogadásakor a dnsmasq vagy a helyi gyorsítótárból válaszol, vagy továbbítja azt egy hiteles DNS-kiszolgálónak. Amellett, hogy válaszol a DHCP-konfigurációval rendelkező címekre vonatkozó DNS-kérésekre, ellenőrzi az /etc/hosts fájl tartalmát, hogy azonosítsa azokat a helyi gazdagépneveket, amelyek nem szerepelnek a nyilvános DNS-ben.
A dnsmasq eszköz használata a böngésző beépített DNS-gyorsítótára helyett nagymértékben javítja az internetes böngészés teljesítményét. Ideális korlátozott erőforrásokkal rendelkező integrált környezethez, mivel nagyon egyszerű a beállítása, és nagyon kevés lemezterületet igényel.
A dnsmasq jellemzői
- Egyszerű a belső DNS-kiszolgálók integrálása a dnsmasq használatával úgy, hogy úgy konfigurálja, hogy adott tartománynév-feloldási lekérdezéseket továbbítson bizonyos mérvadó szervereknek.
- A kiszolgáló munkaterhelése csökken, és a megbízhatóság nő a konfigurált helyi DNS-kiszolgáló használatával.
- A tűzfal-kompatibilis végpontok DNS-konfigurálása meglehetősen egyszerű, és független az internetszolgáltató által használt DNS-től.
- Ha az internethez kapcsolódó port nem érhető el a számítógép DNS-ellenőrzése közben, a keresési művelet azonnal felfüggesztésre kerül.
- A PPP (Point-to-point protokoll) vagy DHCP lekérdezések révén a dnsmasq valóban beállítható úgy, hogy időszakonként közvetlenül az alapul szolgáló tartományfeloldó szerverről gyűjtsön adatokat.
Telepítés
A rendszer által feloldott szolgáltatást ki kell kapcsolni a dnsmasq segédprogram telepítése és konfigurálása előtt.
systemctl stop systemd-resolved
A mask attribútum használatával is elrejtheti, hogy ne induljon el automatikusan újraindításkor.
systemctl mask systemd-resolved
A dnsmasq telepítése a kezdeti művelet, amelyet a systemd-resolved kikapcsolása után végre kell hajtania. A DNSmasq szinte minden Linux disztribúcióban előre telepítve van. Ha nem, akkor manuálisan telepítheti. Indítson el egy parancsterminált, majd írja be a következő parancsot.
sudo apt-get install dnsmasq
Használja a következő parancsot, ha yum felhasználó:
sudo yum install -y dnsmasq
Ez a parancs automatikusan telepíti az eszközt, és elindítja a dnsmasq-ot a háttérben.
A sikeres telepítés után az alábbi paranccsal ellenőrizheti a dnsmasq állapotát.
systemctl status dnsmasq
Ha az állapota „aktív (futó)”, az azt jelenti, hogy a telepítés megtörtént és az 53-as portra van konfigurálva. Ha „inaktív (halott)” állapotot mutat, akkor újra kell indítania az Ubuntu gépet és a dnsmasq-ot is. Ez kijavítja a hibát.
Konfiguráció
A Dnsmasq most készen áll arra, hogy beállítsa a számítógépén a helyi gyorsítótárazó DNS-kiszolgálóként. Az alapértelmezett konfigurációs fájl az /etc/dnsmasq.conf címen található. Ezt a konfigurációs fájlt módosítani kell a dnsmasq segédprogram beállításához a rendszerben.
Ezzel a paranccsal megnyithatja és szerkesztheti a konfigurációs fájlt.
nano /etc/dnsmasq.conf
A konfigurációs fájlt csak root jogosultságokkal szabad szerkeszteni. Csak töröljön mindent a fájlból, beleértve a megjegyzéseket, és egyszerűen másolja be, és mentse el ezt a konfigurációs beállítást.
port=53 domain-needed bogus-priv listen-address=127.0.0.1 expand-hosts domain=geek-demo.com cache-size=1000
Hadd írjam le röviden az egyes paraméterek jelentését.
- Port – A Dnsmasq által a DNS-kérések fogadására használt port megadása vagy összerendelése.
- domain-needed – Csak a tartományneveket továbbítja az upstream DNS-kiszolgálóhoz.
- hamis-priv – megakadályozza a tartomány- és porttovábbítást
- listen-address – A névszerver címének meghatározása. Általában a localhost használatos alapértelmezettként a helyi DNS-kiszolgáló beállításához.
- domain – A dnsmasq által a rövid azonosítókhoz fűzött tartományok konfigurálása.
- cache-size – A tárhelyen engedélyezett maximális DNS-gyorsítótárméret.
Az összes szükséges módosítás végrehajtása után mentse el és zárja be a konfigurációs fájlt. A következő lépés az /etc/resolv.conf fájl szerkesztése a helyi gazdagépfeloldási cím hozzáadásához. Az alábbi paranccsal nyissa meg a nano szerkesztővel.
nano /etc/resolv.conf
Itt megtalálja a rendszere által a címfeloldáshoz használt összes névszervert. Ehhez a listához adja hozzá a hurokcímet is. Adja hozzá a „nameserver 127.0.0.1” nevet, és tartsa az első sorban.
Mentse el és lépjen ki a konfigurációs fájlból. A frissített beállítás érvénybe léptetéséhez indítsa újra a dnsmasq segédprogramot.
systemctl restart dnsmasq
Helyi DNS-gyorsítótárazási kiszolgáló tesztelése
A helyi DNS-kiszolgáló tesztelése egyszerű. Nyisson meg egy parancssort, és a dig paranccsal ellenőrizze a DNS-gyorsítótárat. Amikor először futtatja a dig parancsot, az eredménynek meglehetősen gyakorinak kell lennie.
┌──(root💀kali)-[/home/writer] └─# dig etoppc.com.com 1 ⚙ ; <<>> DiG 9.18.0-2-Debian <<>> etoppc.com.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 623 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;etoppc.com.com. IN A ;; ANSWER SECTION: etoppc.com.com. 227 IN A 172.66.43.163 etoppc.com.com. 227 IN A 172.66.40.93 ;; Query time: 31 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Sat Oct 15 07:52:49 EDT 2022 ;; MSG SIZE rcvd: 74
Itt kérjük, vegye figyelembe, hogy a lekérdezési idő körülbelül 31 msec a részletek lekérdezéséhez az upstream névszerverről. Hajtsa végre ugyanazt a dig parancsot még egyszer, és észreveszi, hogy a lekérdezési idő jelentősen csökken.
┌──(root💀kali)-[/home/writer] └─# dig etoppc.com.com 1 ⚙ ; <<>> DiG 9.18.0-2-Debian <<>> etoppc.com.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21942 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;etoppc.com.com. IN A ;; ANSWER SECTION: etoppc.com.com. 281 IN A 172.66.40.93 etoppc.com.com. 281 IN A 172.66.43.163 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Sat Oct 15 07:58:10 EDT 2022 ;; MSG SIZE rcvd: 74
Itt a lekérdezési idő 0 msec. Ez annak köszönhető, hogy a kezdeti keresést követően a dnsmasq eltárolta az adatokat, és a tárolt gyorsítótár kihasználtsága miatt minden később végrehajtott keresés azonnali volt. A dnsmasq újraindítása szükséges, ha törölni szeretné a tárolt DNS-gyorsítótárat.
Becsomagolás
Ebben a cikkben megtudtuk, hogyan kell beállítani és konfigurálni a dnsmasq-ot, hogy helyi DNS-kiszolgálóként működjön. Érdekelheti azt is, hogyan módosíthatja a DNS-kiszolgálókat a gyorsabb böngészés érdekében a különböző operációs rendszerekben.