Pasë një vit e gjysmë zhvillimi lëshimi i serverit DNS me caching , që është përgjegjës për transformimin rekurziv të emrave. PowerDNS Recursor është ndërtuar mbi të njëjtin kod me PowerDNS Authoritative Server, por serverët DNS rekurzivë dhe autoritativë të PowerDNS zhvillohen brenda cikleve të ndryshme të zhvillimit dhe lëshohen si produkte të veçanta. Kodi i projektit nën licencën GPLv2.
Në versionin e ri, janë eliminuar të gjitha vërejtjet lidhur me përpunimin e paketave DNS me flamujt EDNS. Në versionet e vjetra të PowerDNS Recursor deri në vitin 2016, është praktikuar injorimi i paketave me flamujt EDNS që nuk mbështeten, pa dërguar përgjigje në formatin e vjetër, duke hequr flamujt EDNS, ashtu siç kërkon specifikimi. Më parë, një sjellje e tillë e pazakontë mbështetej në BIND si një manovër obstruktive, por në kuadër në shkurt , zhvilluesit e serverëve DNS morën vendimin për të hequr dorë nga ky hack.
Në PowerDNS, problemet kryesore në përpunimin e paketave me EDNS u eliminuan që në vitin 2017 me lëshimin e 4.1, dhe në degën 4.0 të lëshuar në vitin 2016 dolën disa mosmbështetje të veçanta që ndodhnin nën rrethana të caktuara dhe në përgjithësi nuk pengonin funksionimin normal. Në PowerDNS Recursor 4.2, si dhe në , janë hequr rrugët anësore që mbështesin serverët autoritarë, të cilët përgjigjen gabimisht ndaj kërkesave me flamujt EDNS. Deri tani, nëse pas dërgimit të një kërkese me flamujt EDNS, pas një periudhe të caktuar kohe nuk merrte përgjigje, serveri DNS e konsideronte se flamujt e zgjeruar nuk mbështeteshin dhe dërgonte një kërkesë të përsëritur pa flamujt EDNS. Nga tani e tutje, kjo sjellje është çaktivizuar, pasi prania e një kodi të tillë shkaktonte rritjen e vonesave për shkak të dërgimit të përsëritur të paketave, rritjen e ngarkesës në rrjet dhe paqartësinë në mungesë të përgjigjes për shkak të ndërprerjeve të rrjetit, si dhe pengonte zbatimin e mundësive të bazuara në EDNS, si për shembull aplikimi i Cookies DNS për mbrojtje nga sulmet DDoS.
Në vitin e ardhshëm është vendosur të organizohet një ngjarje , e cila synon të fokusohet në me fragmentimin e IP-së në përpunimin e mesazheve DNS me madhësi të madhe. Si pjesë e iniciativës janë përcaktuar madhësitë e rekomanduara të tamponëve për EDNS deri në vlera në nivelin 1200 byte, si dhe mbështetje për përpunimin e kërkesave TCP do të jetë e detyrueshme në serverë. Tani mbështetje për përpunimin e kërkesave UDP është e detyrueshme, ndërsa TCP është e dëshirueshme, por jo e detyrueshme për funksionimin (standardi parashikon mundësinë e çaktivizimit të TCP). Propozohet që opsioni për çaktivizimin e TCP të hiqet nga standardi dhe të standardizohet kalimi nga dërgimi i kërkesave përmes UDP në përdorimin e TCP në raste kur buffer-i i caktuar i EDNS është i pamjaftueshëm.
Ndryshimet e propozuara në kuadër të iniciativës do të eliminojnë konfuzionin me zgjedhjen e madhësisë së buffer-it të EDNS dhe do të zgjidhin problemin me fragmentimin e mesazheve të mëdha UDP, përpunimi i të cilave shpesh çon në humbje paketa dhe kohëzgjatje në anën e klientit. Në anën e klientit, madhësia e buffer-it të EDNS do të jetë e qëndrueshme, ndërsa përgjigjet e mëdha do të dërgohen menjëherë te klienti përmes TCP. Përjashtimi i dërgimit të mesazheve të mëdha përmes UDP gjithashtu do të lejojë bllokimin për shkak të manipulative të paketimeve UDP të fraksionuara, bazuar në deponimin e caches DNS (në copëza, copëza e dytë nuk përfshin një kokë tjetër me identifikuesin, prandaj mund të falsifikohet mjaft për të përputhur vetëm checksum-in).
Në PowerDNS Recursor 4.2 janë adresuar problemet me pakot e mëdha UDP dhe është realizuar kalimi në përdorimin e madhësisë së tamponit EDNS (edns-outgoing-bufsize) në 1232 byte, në vend të kufirit të mëparshëm prej 1680 byte, që duhet të zvogëlojë ndjeshëm mundësinë e humbjes së pakove UDP. Vlera 1232 është zgjedhur pasi është maksimumi, ku madhësia e përgjigjes DNS, me marrjen parasysh IPv6, përputhet në vlerën minimale MTU (1280). Po ashtu, vlera e parametrave truncation-threshold, përgjegjës për prerjen e përgjigjeve për klientin, është reduktuar në 1232.
Ndryshime të tjera në PowerDNS Recursor 4.2:
- Shtuar mbështetje për mekanizmin (X-Proxied-For), që përfaqëson një ekuivalente të header-it HTTP X-Forwarded-For për DNS, duke lejuar kalimin e informacionit mbi adresën IP dhe numrin e portit të iniciatorit origjinal të kërkesës, e drejtuar përmes proxy-ve ndërmjetës dhe balancuesve të ngarkesës (p.sh. dnsdist). Opsionet për aktivizimin e XPF janë parashikuar «» dhe ««;
- Mbështetje e përmirësuar për zgjerimin EDNS (ECS), që lejon kalimin e informacionit në kërkesat DNS te serveri autoritativ DNS për subnetin nga i cili është dërguar kërkesa origjinale e transituar përmes zinxhirit (të dhënat mbi subnetin origjinal të klientit janë të nevojshme për funksionimin efektiv të rrjeteve të shpërndarjes së përmbajtjes). Në këtë version të ri janë shtuar konfigurime për kontrollin selektiv të zbatimit të EDNS Client Subnet: «» me një listë maskash rrjeti, për të cilat IP do të përdoret në ECS në kërkesat e daljes. Për adresat që nuk bien nën maskat e specifikuara, do të përdoret adresa e përgjithshme e parashikuar në direktivën ««. Me anë të direktivës «» mund të përcaktohen subnetet nga kërkesat e ardhshme me vlera të plotësuara ECS që nuk do të zëvendësohen;
- Për serverët që trajtojnë një numër të madh kërkesash në sekondë (më shumë se 100,000), është propozuar direktorja ««, e cila përcakton numrin e thread-eve për pranimin e kërkesave hyrëse dhe shpërndarjen e tyre midis thread-eve punuese (ka kuptim vetëm nëse përdoret moda ««).
- Shtuar konfigurimi për të përcaktuar një skedar të vetin me të domenëve ku përdoruesit mund të regjistrojnë nën-domenet e tyre, përveç listës së ndërtuar në PowerDNS Recursor.
Projekti PowerDNS gjithashtu njoftoi kalimin në një cikël zhvillimi gjashtë-mujor, sipas të cilit lëshimi i ardhshëm i rëndësishëm i PowerDNS Recursor 4.3 pritet në janar 2020. Përditësimet për lëshimet e rëndësishme do të formohen gjatë vitit, pas të cilit do të lëshohen korrigjime për dobësi për gjashtë muaj të tjerë. Kështu, mbështetje për degën PowerDNS Recursor 4.2 do të vazhdojë deri në janar 2021. Ndryshime të ngjashme në ciklin e zhvillimit janë miratuar për produktin PowerDNS Authoritative Server, lëshimi 4.2 i të cilit pritet së shpejti.
Karakteristikat kryesore të PowerDNS Recursor:
- Mjetet për mbledhjen e statistikave në distancë;
- Rikthim të shpejtë;
- Motor i integruar për lidhjen e përpunuesve në gjuhën Lua;
- Mbështetje e plotë për DNSSEC dhe ;
- Mbështetje për RPZ (Response Policy Zones) dhe mundësia për të përcaktuar listat e zezë;
- Mekanizmat për parandalimin e spufingut;
- Mundësia për të regjistruar rezultatet e zgjidhjes si skedarë zonash BIND.
- Për të siguruar performancë të lartë, aplikohen mekanizma modernë të multipaksimit të lidhjeve në FreeBSD, Linux dhe Solaris (kqueue, epoll, /dev/poll), si dhe një parser i DNS paketave me performancë të lartë, i aftë të procesojë dhjetëra mijëra kërkesa paralelisht.
Burimi: opennet.ru
