Błąd w BIND 9.16, prowadzący do problemów z obsługą połączeń TCP

W opublikowanym wątkach sprzed dwóch tygodni BIND 9.16.0 ujawniona została poważna błąd, prowadząca do wyczerpania limitu liczby połączeń TCP. W BIND 9.16 zaproponowano nowy system sieciowy, przetłumaczony na mechanizm asynchronicznego przetwarzania żądań oparty na bibliotece libuv. Z powodu błędu w tym systemie licznik aktywnych połączeń TCP w niektórych warunkach nie maleje, co prowadzi do narastającego rozbieżności jego wartości z faktyczną liczbą połączeń. Po pewnym czasie wartość licznika może osiągnąć ustalony limit liczby połączeń klientów, a nowe żądania TCP przestaną być przyjmowane (żądania UDP będą wciąż przetwarzane).

Głównie problem ten przejawia się na serwerach, które przyjmują połączenia TCP od klientów na wielu interfejsach sieciowych.
Aktualizacja BIND 9.16 jeszcze nie została wydana, ale w celu naprawienia błędu opublikowano łatkę. Jako tymczasowe rozwiązanie można ustawić limit na liczbę połączeń (opcja tcp-clients) na bardzo dużą wartość. Oprócz BIND 9.16 problem dotyczy eksperymentalnej gałęzi 9.15, począwszy od wydania 9.15.6, ale ta gałąź jest pierwotnie używana tylko do rozwoju i nie jest skierowana na wdrożenie na serwerach produkcyjnych.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster