Pärast poolteist aastat arendust vahetuste DNS-serveri väljaanne , mis vastutab rekursiivsete nimede tõlgete eest. PowerDNS Recursor on ehitatud samale koodibaasile nagu PowerDNS Autoriteetne Server, kuid rekursiivsed ja autoriteetsed DNS-serverid PowerDNS-i raames arenevad erinevate arendustsüklite raames ja neid välja antakse eraldi toodetena. Projekti kood GPLv2 litsentsi all.
Uues versioonis on kõrvaldatud kõik märkused, mis on seotud EDNS-lippudega DNS-pakettide töötlemisega. Väärtpaberite PowerDNS Recursor vanemates versioonides (enne 2016. aastat) ignoreeriti pakette, millel olid mitte toetatavad EDNS-lippudega, ilma et saadetaks vastust vanas formaadis, visates EDNS-lipud kõrvale, nagu nõuab spetsifikatsioon. Varasemalt toetas sarnane mitte standardne käitumine BINDis ringteena, kuid veebruaris algatuse , otsustasid DNS-serverite arendajad loobuda sellest häkist.
PowerDNS-is lahendati peamised probleemid EDNS-pakettide töötlemisel juba 2017. aastal väljaandes 4.1, samas kui 2016. aastal välja antud 4.0 haru puhul ilmusid teatud ühilduvuse probleemid, mis tekkisid teatud asjaoludega ja ei seganud üldiselt normaalset toimimist. PowerDNS Recursor 4.2, nagu ka , on eemaldatud autoriteetsete serverite toetuse ümbersuunamisvõimalused, mis ei vastanud EDNSi lipudega esitatud päringutele. Seni, kui pärast EDNSi lipudega päringu saatmist mingil määral vastust ei saabunud, pidas DNS-server, et laiendatud lipud ei ole toetatud, ning saatis uuesti päringu ilma EDNSi lipudeta. Edaspidi on see käitumine keelatud, kuna sellise koodi olemasolu tõi kaasa viivitusi pakettide kordussaatmise tõttu, suurendas võrgukoormust ja tekitas ebaselgust vastuse puudumise tõttu võrgu tõrgete korral, mis takistas ka EDNSi võimaluste, nagu DNS-küpsiste kasutamine DDoS-rünnakute kaitsmiseks, rakendamist.
Järgmise aasta jooksul on plaanis üritus , mille eesmärk on keskenduda IP-fragmenteerimisega suurte DNS-sõnumite töötlemisel. Initsiatiivi raames kinnitada EDNSi soovitatavad puhvriterie mõõtmed kuni 1200 baitini ning TCP-päringute töötlemine on serverites kohustuslikult toetatud. Nüüd on kohustuslik toetada UDP-päringute töötlemist, samas kui TCP on soovitatav, kuid mitte kohustuslik (standard nõuab, et TCP-de aktiveerimise võimalus oleks olemas). Ettepanek on eemaldada standardist TCP-de deaktiveerimise võimalus ning standardiseerida üleminek UDP-päringutelt TCP kasutamisele juhtudel, kui EDNS-i määratud mälumaht on ebapiisav.
Algatuse raames pakutud muudatused eemaldavad segaduse EDNS-i mälumahtude valimisel ning lahendavad probleemid suurte UDP-sõnumite fragmenteerimisega, mille töötlemine toob tihti kaasa pakettide kadumise ja kliendi poolel ajutise välja. Kliendi poolel EDNS-i mälumahu suurus püsib konstantne ning suured vastused saadetakse kohe klientidele TCP kaudu. Suurte sõnumite saatmise vältimine UDP kaudu võimaldab samuti blokkeerida. DNS vahemälu rikke korral võivad tekkida probleemid, mis on tingitud fragmentide UDP-pakettide manipuleerimisest (fragmentimisel ei hõlma teine fragment identifikaatori pead, seetõttu saab selle manipuleerida, et ainult kontrollsumma vastaks).
PowerDNS Recursor 4.2 on lahendatud probleemid suurte UDP-pakettidega ning ülemineku tõttu EDNS-puhvri suurusele (edns-outgoing-bufsize) 1232 bait, selle asemel, et kasutada varem rakendatud piiri 1680 baiti, mis peaks oluliselt vähendama UDP-pakettide kaotamise tõenäosust. Väärtus 1232 on valitud, kuna see on maksimum, mille korral DNS-vastuse suurus koos IPv6-ga mahub minimaalsesse MTU väärtusesse (1280). Samuti on 1232 võrreldes vähenenud truncation-threshold parameetri väärtus, mis vastutab klientidele vastuste kärpimise eest.
Teised muudatused PowerDNS Recursor 4.2-s:
- Toetuse on lisatud mehhanismile (X-Proxied-For) on DNS, mis on HTTP-pealkirja X-Forwarded-For ekvivalent, mis võimaldab edastada IP-aadressi ja algse päringu algataja pordi numbrit, mida edastatakse läbi vahepealsete prokside ja koormuse tasakaalustajate (näiteks dnsdist). XPF-i lubamiseks on ette nähtud valikud «» ja ««;
- Parandatud EDNS-laienduste tugi (ECS), mis võimaldab edastada autoriteetsele DNS-serverile DNS-päringutes teavet alamvõrgu kohta, kust algne edastatud päring saadeti (klientide algne alamvõrguteave on vajalik sisuhalduse võrkude tõhusaks toimimiseks). Uues versioonis on lisatud seaded EDNS Client Subneti rakendamise osas valikuliseks kontrollimiseks: «» koos võrgu maskide loetelu, mille puhul IP kasutatakse ECS-i väljumispäringutes. Aadresside puhul, mis ei vasta nimetatud maskidele, kasutatakse üldiselt aadressi, mis on määratud direktiivi «« kaudu. Direktiiviga «» saab määrata alamvõrgud, millelt küsimused, mille ECS väärtused on täidetud, ei asendata;
- Suure hulga päringute töötlemiseks sekundis (üle 100 000) on ette nähtud direktiiv „“, mis määratleb voogude arvu sisselaskvate päringute vastuvõtmiseks ja nende jaotamiseks töötavate voogude vahel (on mõttekas ainult siis, kui kasutatakse režiimi „«).
- Lisatud seade oma avaliku sufiksite loendi faili määratlemiseks PowerDNS projekt teatas ka kuue kuu arendusperioodile üleminekust, mille kohaselt oodatakse järgmise olulise versiooni PowerDNS Recursor 4.3 jaanuaris 2020. Suuremate väljalaskete uuendused vormitakse aasta jooksul, millele järgneb veel kuus kuud turvaparandusi. Seega kestab PowerDNS Recursor 4.2 haru tugi kuni jaanuarini 2021. Sarnased arendusperioodi muudatused on vastuvõetud PowerDNS Autoriteetse Serveri toote jaoks, mille 4.2 väljaandmine on oodata varsti.
Проект PowerDNS также объявил о переходе на шестимесячный цикл разработки, в соответствии с которым следующий значительный релиз PowerDNS Recursor 4.3 ожидается в январе 2020 года. Обновления для значительных выпусков будут формироваться в течение года, после чего ещё полгода будут выпускаться исправления уязвимостей. Таким образом поддержка ветки PowerDNS Recursor 4.2 продлится до января 2021 года. Аналогичные изменения цикла разработки приняты для продукта PowerDNS Authoritative Server, выпуск 4.2 которого ожидается в ближайшее время.
PowerDNS Recursor peamised omadused:
- Kaugstatistika kogumise tööriistad;
- Kohene taaskäivitamine;
- Sisseehitatud mootori tugi Lua keeltes töötajate ühendamiseks;
- Käivitatud täiemahuline DNSSEC toetus ja ;
- RPZ (Response Policy Zones) tugi ja mustade nimekirjade määratlemise võimalus;
- Spookimisega võitlemise mehhanismid;
- Võimalus salvestada lahendamise tulemused BIND-i tsoonifailidena.
- Kõrge jõudluse tagamiseks kasutatakse FreeBSD, Linuxi ja Solaris'e kaasaegseid ühenduste multiplexerimise mehhanisme (kqueue, epoll, /dev/poll), samuti kõrgtehnoloogilist DNS-pakettide parserit, mis suudab töödelda kümneid tuhandeid paralleelseid päringuid.
Allikas: opennet.ru
