DNS vėliavėlės diena 2020 iniciatyva, skirta susiskaidymo ir TCP palaikymo problemoms spręsti

Šiandien daugelis didelių DNS paslaugų ir DNS serverių gamintojų surengs bendrą renginį DNS vėliavos diena 2020 mskirtas sutelkti dėmesį sprendimas problemų su IP fragmentacija apdorojant didelius DNS pranešimus. Tai jau antras toks renginys, pernai „DNS vėliavos diena“ buvo susikaupęs apie teisingą EDNS užklausų apdorojimą.

Iniciatyvos DNS vėliavėlės diena 2020 dalyviai ragina EDNS rekomenduojamus buferio dydžius nustatyti iki 1232 baitų (MTU dydis 1280 minus 48 baitai antraštėms), taip pat versti užklausų apdorojimas per TCP yra privaloma serverių funkcija. IN RFC 1035 Tik užklausų apdorojimo per UDP palaikymas yra pažymėtas kaip privalomas, o TCP yra nurodytas kaip pageidautinas, bet neprivalomas veikimui. Nauja RFC 7766 и RFC 5966 aiškiai nurodykite TCP kaip būtiną galimybę, kad DNS veiktų tinkamai. Iniciatyvoje siūloma priverstinai pereiti nuo užklausų siuntimo per UDP prie TCP naudojimo tais atvejais, kai nustatytas EDNS buferio dydis yra nepakankamas.

Siūlomi pakeitimai pašalins painiavą renkantis EDNS buferio dydį ir išspręs didelių UDP pranešimų suskaidymo problemą, kurių apdorojimas dažnai lemia paketų praradimą ir laiko pabaigą kliento pusėje. Kliento pusėje EDNS buferio dydis bus pastovus, o dideli atsakymai bus nedelsiant siunčiami klientui per TCP. Vengiant siųsti didelius pranešimus per UDP, taip pat išspręsite problemas, susijusias su didelių paketų numetimu kai kuriose ugniasienėse ir leis blokuoti išpuolių už DNS talpyklos apnuodijimą, remiantis manipuliavimu suskaidytais UDP paketais (padalijus į fragmentus, antrame fragmente nėra antraštės su identifikatoriumi, todėl jis gali būti suklastotas, kuriam pakanka tik, kad sutaptų kontrolinė suma) .

Nuo šiandien dalyvaujantys DNS teikėjai, įskaitant „CloudFlare“, „Quad 9“, „Cisco“ („OpenDNS“) ir „Google“, palaipsniui keisis EDNS buferio dydis nuo 4096 iki 1232 baitų savo DNS serveriuose (EDNS pakeitimas bus paskirstytas per 4–6 savaites ir laikui bėgant apims vis daugiau užklausų). Atsakymai į UDP užklausas, kurie netelpa į naują limitą, bus siunčiami per TCP. DNS serverių tiekėjai, įskaitant BIND, Unbound, Knot, NSD ir PowerDNS, išleis naujinimus, kad pakeistų numatytąjį EDNS buferio dydį nuo 4096 baitų iki 1232 baitų.

Galiausiai dėl šių pakeitimų gali kilti sprendimo problemų, kai pasiekiate DNS serverius, kurių UDP DNS atsakymai viršija 1232 baitus ir negali siųsti TCP atsakymo. „Google“ atliktas eksperimentas parodė, kad EDNS buferio dydžio keitimas praktiškai neturi įtakos gedimų dažniui – esant 4096 baitų buferiui, sutrumpintų UDP užklausų skaičius yra 0.345%, o nepasiekiamų pakartotinių bandymų per TCP skaičius yra 0.115%. Su 1232 baitų buferiu šie skaičiai yra 0.367% ir 0.116%. Padarius TCP palaikymą būtina DNS funkcija, kils problemų su maždaug 0.1 % DNS serverių. Pažymima, kad šiuolaikinėmis sąlygomis, be TCP, šių serverių darbas jau yra nestabilus.

Autoritetingų DNS serverių administratoriai turėtų užtikrinti, kad jų serveris atsakytų per TCP 53 tinklo prievade ir kad šio TCP prievado neužblokuotų ugniasienė. Gerbiamas DNS serveris taip pat neturėtų siųsti UDP atsakymų, kurie yra didesni nei
prašomas EDNS buferio dydis. Pačiame serveryje EDNS buferio dydis turėtų būti nustatytas į 1232 baitus. Rezolveriams keliami maždaug tokie patys reikalavimai – privaloma galimybė atsakyti per TCP, privalomas palaikymas siunčiant pakartotines užklausas per TCP, kai gaunamas sutrumpintas UDP atsakymas, ir EDNS buferio nustatymas iki 1232 baitų.

Šie parametrai yra atsakingi už EDNS buferio dydžio nustatymą skirtinguose DNS serveriuose:

  • ĮPAREIGOTI

    galimybės {
    edns-udp-size 1232;
    max-udp-dydis 1232;
    };

  • Mazgo DNS

    max-udp-naudingoji apkrova: 1232

  • Mazgų sprendėjas

    net.bufsize(1232)

  • „PowerDNS“ autoritetingas

    udp-truncation-threshold=1232

  • PowerDNS rekursorius

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

  • Nesusijęs

    edns-buffer-size: 1232

  • NSD

    ipv4-edns-size: 1232
    ipv6-edns-size: 1232

    Šaltinis: opennet.ru

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