DNS դրոշի օր 2020 նախաձեռնություն՝ ուղղված մասնատման և TCP աջակցության խնդիրներին

Այսօր մի շարք խոշոր DNS ծառայություններ և DNS սերվերներ արտադրողներ համատեղ միջոցառում կանցկացնեն DNS դրոշի օր 2020 թնախատեսված է ուշադրությունը կենտրոնացնելու համար որոշումը խնդիրներ մեծ DNS հաղորդագրություններ մշակելիս IP-ի մասնատմամբ: Սա երկրորդ նման միջոցառումն է, անցյալ տարի «DNS flag day» կենտրոնացած էր EDNS հարցումների ճիշտ մշակման վերաբերյալ:

DNS flag day 2020 նախաձեռնության մասնակիցները կոչ են անում EDNS-ի համար առաջարկվող բուֆերային չափերը սահմանել 1232 բայթ (MTU չափը 1280 հանած 48 բայթ վերնագրերի համար), ինչպես նաև թարգմանել TCP-ի միջոցով հարցումների մշակումը պարտադիր հատկանիշ է սերվերների վրա: IN RFC 1035 Պարտադիր է նշվում միայն UDP-ի միջոցով հարցումների մշակման աջակցությունը, իսկ TCP-ն նշված է որպես ցանկալի, բայց չի պահանջվում շահագործման համար: Նոր RFC 7766 и RFC 5966 բացահայտորեն նշեք TCP-ն որպես DNS-ի ճիշտ գործելու համար անհրաժեշտ հնարավորություն: Նախաձեռնությունն առաջարկում է ստիպել անցում կատարել UDP-ով հարցումներ ուղարկելուց TCP-ի օգտագործմանը այն դեպքերում, երբ սահմանված EDNS բուֆերի չափը բավարար չէ:

Առաջարկվող փոփոխությունները կվերացնեն շփոթությունը EDNS բուֆերի չափի ընտրության հարցում և կլուծեն մեծ UDP հաղորդագրությունների մասնատման խնդիրը, որոնց մշակումը հաճախ հանգեցնում է փաթեթների կորստի և հաճախորդի կողմից ժամանակի ընդհատումների: Հաճախորդի կողմից EDNS բուֆերի չափը հաստատուն կլինի, և մեծ պատասխանները անմիջապես կուղարկվեն հաճախորդին TCP-ով: UDP-ի միջոցով մեծ հաղորդագրություններ ուղարկելուց խուսափելը նաև կլուծի որոշ firewalls-ի վրա մեծ փաթեթներ թողնելու հետ կապված խնդիրները և թույլ կտա արգելափակել գրոհներ DNS քեշը թունավորելու համար՝ հիմնված մասնատված UDP փաթեթների մանիպուլյացիայի վրա (երբ բաժանվում է բեկորների, երկրորդ հատվածը չի ներառում նույնացուցիչով վերնագիր, այնպես որ այն կարող է կեղծվել, որի համար բավական է միայն ստուգիչ գումարը համընկնել) .

Այսօրվանից սկսած, մասնակից DNS մատակարարները, ներառյալ CloudFlare-ը, Quad 9-ը, Cisco-ն (OpenDNS) և Google-ը, աստիճանաբար կփոխվի EDNS բուֆերի չափը 4096-ից մինչև 1232 բայթ իր DNS սերվերների վրա (EDNS-ի փոփոխությունը կտարածվի 4-6 շաբաթվա ընթացքում և ժամանակի ընթացքում կընդգրկի հարցումների աճող թվաքանակը): UDP հարցումների պատասխանները, որոնք չեն համապատասխանում նոր սահմանաչափին, կուղարկվեն TCP-ի միջոցով: DNS սերվերի մատակարարները, ներառյալ BIND, Unbound, Knot, NSD և PowerDNS, կթողարկեն թարմացումներ՝ փոխելու լռելյայն EDNS բուֆերի չափը 4096 բայթից մինչև 1232 բայթ:

Ի վերջո, այս փոփոխությունները կարող են հանգեցնել լուծման խնդիրների, երբ մուտք գործեք DNS սերվերներ, որոնց UDP DNS պատասխանները գերազանցում են 1232 բայթը և չեն կարող ուղարկել TCP պատասխան: Google-ում անցկացված փորձը ցույց է տվել, որ EDNS բուֆերի չափը փոխելը գործնականում չի ազդում ձախողման մակարդակի վրա. 4096 բայթ բուֆերի դեպքում կրճատված UDP հարցումների թիվը կազմում է 0.345%, իսկ TCP-ով անհասանելի կրկնվող փորձերի թիվը՝ 0.115%: 1232 բայթ բուֆերի դեպքում այս թվերը կազմում են 0.367% և 0.116%: TCP աջակցությունը պարտադիր DNS հատկանիշ դարձնելը խնդիրներ կառաջացնի DNS սերվերների մոտ 0.1%-ի հետ: Նշվում է, որ ժամանակակից պայմաններում, առանց TCP-ի, այդ սերվերների աշխատանքն արդեն իսկ անկայուն է։

Հեղինակավոր DNS սերվերների ադմինիստրատորները պետք է ապահովեն, որ իրենց սերվերը արձագանքում է TCP-ի միջոցով ցանցային պորտի 53-ում, և որ այս TCP նավահանգիստը արգելափակված չէ firewall-ով: Հեղինակավոր DNS սերվերը նույնպես չպետք է ուղարկի UDP պատասխաններ, որոնք ավելի մեծ են, քան
պահանջված EDNS բուֆերի չափը: Սերվերի վրա EDNS բուֆերի չափը պետք է սահմանվի 1232 բայթ: Լուծիչներն ունեն մոտավորապես նույն պահանջները՝ TCP-ով պատասխանելու պարտադիր կարողություն, TCP-ի միջոցով կրկնվող հարցումներ ուղարկելու պարտադիր աջակցություն՝ կրճատված UDP պատասխան ստանալու դեպքում և EDNS բուֆերի սահմանում 1232 բայթ:

Հետևյալ պարամետրերը պատասխանատու են տարբեր DNS սերվերներում EDNS բուֆերի չափը սահմանելու համար.

  • BIND- ը

    ընտրանքներ {
    edns-udp-size 1232;
    max-udp-size 1232;
    };

  • Հանգույց DNS

    Առավելագույն ծանրաբեռնվածություն՝ 1232

  • Հանգույց լուծող

    net.bufsize(1232)

  • PowerDNS հեղինակավոր

    udp-truncation-threshold=1232

  • PowerDNS ռեկուրսոր

    edns-outgoing-bufsize=1232
    udp-truncation-threshold=1232

  • չկապված

    edns-buffer-size՝ 1232

  • NSD

    ipv4-edns-չափը՝ 1232
    ipv6-edns-չափը՝ 1232

    Source: opennet.ru

  • Добавить комментарий