Fehler in BIND 9.16, der die Verarbeitung von TCP-Verbindungen beeinträchtigt

In dem vor zwei Wochen veröffentlichten Branch BIND 9.16.0 wurde ein ernsthaftes Fehler, das zur Erschöpfung des Limits für die Anzahl der TCP-Verbindungen führt. In BIND 9.16 wurde ein neues Netzwerk-Subsystem vorgeschlagen, das auf einen Mechanismus zur asynchronen Verarbeitung von Anfragen auf Basis der Bibliothek libuv. Aufgrund eines Fehlers in diesem Subsystem wird der Zähler für aktive TCP-Verbindungen unter bestimmten Bedingungen nicht verringert, was zu einer zunehmenden Diskrepanz zwischen seinem Wert und der tatsächlichen Anzahl der Verbindungen führt. Nach einiger Zeit kann der Wert des Zählers das festgelegte Limit für die Anzahl der Clientverbindungen erreichen, und neue TCP-Anfragen werden nicht mehr angenommen (UDP-Anfragen werden weiterhin verarbeitet).

Das Problem tritt hauptsächlich auf Servern auf, die TCP-Verbindungen von Clients an mehreren Netzwerk-Interfaces gleichzeitig annehmen.
Ein Update für BIND 9.16 wurde bisher nicht veröffentlicht, aber zur Behebung des Fehlers wurde Patchveröffentlicht. Als vorübergehende Lösung kann das Limit für die Anzahl der Verbindungen (Option tcp-clients) auf einen sehr hohen Wert gesetzt werden. Neben BIND 9.16 betrifft das Problem auch den experimentellen Branch 9.15, beginnend mit der Version 9.15.6, aber dieser Branch wird ursprünglich nur für die Entwicklung verwendet und ist nicht für den Einsatz auf Produktionsservern gedacht.

Quelle: opennet.ru

60GB SSD 8Gb DDR4