Supported Platforms

When a new branch of BIND 9 is released, ISC normally tests it to ensure compatibility with the current versions of major operating systems (OSes) at that time. In general, that branch of BIND 9 will support those major operating systems until either that version of BIND 9 or that version of the OS reaches end-of-life (EOL) status.

The table below lists the operating systems supported by the current versions of BIND 9.

Legend:
💚 Supported
🔵 Best effort
🟧 Community-maintained
❌ Unsupported or does not work

More information on the meaning of each of these legend symbols can be found later in this article.

OS / Version BIND 9.18
(EOL: Q2 2026)
BIND 9.20
(EOL: Q2 2028)
OS EOL Date
Alpine Linux (latest) 💚 💚
CentOS 8 💚 💚 Dec 2021
CentOS 8 Stream 🟧 🟧 May 2024
CentOS 9 Stream 🟧 🟧 May 2027
Debian 11 LTS 🟧 🟧 N/A
Debian 12 💚 💚 N/A
Fedora (latest) 💚 💚
FreeBSD 13 💚 💚 Apr 2026
FreeBSD 14 💚 💚 Nov 2028
macOS (latest, Intel) 🔵 🔵
macOS (latest, arm) 🟧 🟧
NetBSD (latest) 🔵 🔵
OmniOS 🟧 🟧
OpenBSD (latest) 🟧 🟧
OpenIndiana 🟧 🟧
OpenSUSE Tumbleweed 💚 💚
OpenWRT/LEDE 17.01+ 🟧 🟧
RHEL 8 💚 💚 May 2024
RHEL 9 💚 💚 May 2027
Solaris 11 🔵 🔵 Nov 2031
Ubuntu 20.04 LTS 💚 🔵 Apr 2025
Ubuntu 22.04 LTS 💚 🔵 Jun 2027
Ubuntu 24.04 LTS 💚 🔵 Jun 2029

For BIND 9 branch end-of-life dates, see this article.

These platforms are regularly tested in our continuous integration (CI) system. In general, this means using the amd64 CPU architecture.

These are platforms on which BIND is known to build and run. ISC makes every effort to fix bugs on these platforms, but may be unable to do so quickly due to lack of hardware, less familiarity on the part of engineering staff, and other constraints. These may or may not be regularly tested in our CI.

This also includes all the "other" CPU architectures (arm, arm64, mips64, ppc64, s390x).

These systems are not officially supported or maintained by ISC. They may not have all the required dependencies for building BIND easily available, although it will be possible in many cases to compile those directly from source. The community and interested parties may wish to help with maintenance, and we welcome patch contributions, although we cannot guarantee that we will accept them. All contributions will be assessed against the risk of adverse effect on officially supported platforms.

This also includes less common CPU architectures (i386, i686, mips, mipsel, sparc, ppc, and others) and all platforms past or close to their respective EOL dates.

These are platforms on which BIND is known not to build or run:

  • Platforms without at least OpenSSL 1.0.2
  • Windows Server (any version)
  • Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
  • Platforms that don't support atomic operations (via compiler or library)
  • Linux without Native POSIX Thread Library (NPTL)
  • Platforms on which libuv cannot be compiled

Any Debian version is officially supported with security updates until one year after the next stable version is released. After the end of official support, the Debian version becomes Debian LTS and is maintained by the LTS team.

Compiling and running already-released BIND 9 versions on Debian LTS versions is not officially supported by ISC, but any regressions in BIND 9 ESV on Debian LTS will be fixed (although with low priority).

New BIND 9 versions will support the latest Debian release, but they may be incompatible with previous Debian releases, especially when the official Debian security support period ends before the BIND 9 version's EOL. However, ISC will not knowingly break compatibility unless justified by other requirements.

The RHEL lifecycle is comprised of Full Support, Maintenance Support 1, and Maintenance Support 2.

BIND 9 Extended Support Versions (ESVs) will support an RHEL release until the end of Maintenance Support 2 for the already-released version of RHEL, or the BIND 9 version's EOL, whichever comes first.

New BIND 9 versions will support the latest RHEL release, but they may be incompatible with previous RHEL releases, especially when the Full Support period ends before the BIND 9 version's EOL. However, ISC will not knowingly break compatibility unless justified by other requirements.

At only nine months, Ubuntu interim release lifetimes are too short for any guarantees of support from the BIND 9 team.

The Ubuntu LTS release cycle includes Hardware and maintenance updates, Maintenance updates, and Extended Security Maintenance (ESM).

BIND 9 ESVs will support an Ubuntu release until the end of the Maintenance updates period for the already-released version of Ubuntu, or the BIND 9 version's EOL, whichever comes first.

Compiling and running already-released BIND 9 versions on Ubuntu ESM versions is not officially supported by ISC, but any regressions in BIND 9 ESV on Ubuntu ESM will be fixed (although with low priority).

New BIND 9 versions will support the latest Ubuntu LTS release, but they may be incompatible with previous Ubuntu LTS releases, especially when the Maintenance updates period ends before the BIND 9 version's EOL. However, ISC will not knowingly break compatibility unless justified by other requirements.

In general, BIND will build and run on any POSIX-compliant system with a C11-compliant C compiler, BSD-style sockets with RFC-compliant IPv6 support, POSIX-compliant threads, the OpenSSL cryptography library, and for 9.17 and later versions, the nghttp2 HTTP/2 library and the libuv asynchronous I/O library,

The following C11 features are used in BIND 9:

  • Atomic operations support from the compiler is needed, either in the form of builtin operations, C11 atomics, or the Interlocked family of functions on Windows.

  • Thread Local Storage support from the compiler is needed, either in the form of C11 _Thread_local/thread_local, or the __thread GCC extension.

BIND 9.18 and all later versions require a fairly recent version of libuv (at least 1.x). For some of the older systems, an updated libuv package will have to be installed from sources such as EPEL, PPA, or other native sources for updated packages. The other option is to build and install libuv from source.