BIND
Тип | DNS server |
---|---|
Розробник | Internet Systems Consortium |
Перший випуск | червень 1986 |
Стабільний випуск | 9.18.26(ESV) & 9.16.50(now EOL) (17 квітня, 2024 ) |
Нестабільний випуск | 9.19.23 (17 квітня, 2024 ) |
Операційна система | Linux, NetBSD, FreeBSD, OpenBSD, macOS |
Мова програмування | C |
Ліцензія | Mozilla Public License[1] |
Репозиторій | gitlab.isc.org/isc-projects/bind9.git |
Вебсайт | www.isc.org/bind/ |
BIND (Berkeley Internet Name Domain, до цього Berkeley Internet Name Daemon) — універсальний каркас для побудови елементів інтернет-інфраструктури, таких як сервери DNS і DHCP; відкрита і найпоширеніша реалізація DNS-сервера, що забезпечує виконання перетворення DNS-імені в IP-адресу і навпаки. BIND підтримується організацією Internet Systems Consortium. 10 з 13 кореневих серверів DNS працюють на BIND, решта 3 працюють на NSD.
BIND був створений студентами на початку 1980-х на грант, виданий DARPA і вперше був випущений у BSD 4.3.
У версіях до 9 було виявлено чимало серйозних проблем з безпекою.
Версія 9 була переписана заново компанією Nominum , реліз був випущений у вересні 2000 року.
Ранні версії BIND зберігали інформацію тільки в текстових файлах зон. Починаючи з версії 9.4, як сховище можна використовувати LDAP, Berkeley DB, PostgreSQL, MySQL і ODBC.
Консорціум ISC представив стабільний реліз BIND 10 у лютому 2013, після чотирьох років розробки і через 13 років з моменту випуску BIND 9. BIND 10 має кардинально перероблену внутрішню архітектуру: на відміну від ранішої моделі реалізації всієї доступної функціональності в одному серверному процесі, в BIND 10 здійснений перехід до розділення функцій по окремим взаємопов'язаним процесам, кожен з яких реалізує свій сервіс. Поділ за різними процесам дозволив раціонально використовувати ресурси багатоядерних систем, розширив можливості масштабування, забезпечив ізоляцію окремих функцій і підвищив надійність.
Ключовою ланкою BIND 10 є процес msgq, він використовується для організації обміну повідомленнями між модулями. Функції авторитетного DNS-сервера виконує модуль auth, а функціональність DHCP забезпечується модулями dhcp4 і dhcp6. Модулі auth, dhcp4 і dhcp6 для збільшення масштабованості і балансування навантаження можуть запускатися в декількох екземплярах, наприклад, для кожного CPU на сервері може бути запущена окрема копія модуля, а запити на мережевий порт можуть рівномірно розподілятися між процесами. Для обслуговування вхідних і вихідних AXFR-запитів (трансфер зон цілком) представлені окремі сервіси xfrin і xfrout. Функції динамічного DNS-сервера виконує модуль ddns, а управління зонами делеговані модулю zonemgr.
Для організації віддаленого управління DNS-сервером підготовлений модуль cmdctl, поверх якого підготовлено кілька надбудов для управління конфігурацією, таких як утиліта bindctl, вебінтерфейс WebTool, GUI-інтерфейс GuiTool і утиліта для забезпечення сумісності з конфігуратором BIND9. Для розбору і зберігання конфігурації задіяний модуль cfgmgr. Для управління сервером і зміни конфігурації може використовуватися RESTful-інтерфейс, що працює поверх HTTPS. Окремий інтерес представляє модуль накопичення статистики, який у поєднанні з додатковими надбудовами може віддавати статистику по протоколах HTTP (в XML-поданні) або SNMP.
17 квітня 2014 консорціум ISC випустив BIND 10 1.2.0. Випуск примітний завершенням стадії розвитку проекту під орудою консорціуму ISC і передачею проекту співтовариству, що має на меті перехід до відкритішої і незалежної моделі розробки. Повідомляється, що у консорціуму ISC немає ресурсів для одночасного розвитку двох альтернативних проектів — BIND 9 і BIND 10, тому ISC продовжить розробку ширше використовуваного BIND 9, а BIND 10 передасть в руки співтовариства.
Для уникнення плутанини з BIND 9, створюваний силами спільноти проект буде поширюватися під новим ім'ям Bundy. Релізів BIND 10 більше випускатися не буде, замість них будуть представлені випуски Bundy. Весь тягар з розвитку та супроводження кодової бази передається зацікавленим особам зі спільноти та інших компаній, офіційно ISC в розробці більше брати участь не буде. Код проекту буде перенесений на GitHub.
Очікується, що розширення кола розробників, що працюють над Bundy і вивчають цей код, призведе до прискорення процесу виявлення та виправлення помилок, а відкритіший процес розвитку Bundy дасть можливість самостійно розвивати необхідні функції, необхідність наявності яких може бути неочевидна при централізованій координації розробки. Розробка DHCP-сервера зі складу BIND 10 винесено в окремий субпроект Kea, котрий розвивається як відокремлений DHCP-сервер на базі технологій BIND 10. При цьому, напрацювання Kea також можуть входити до складу релізів Bundy.
- Офіційний сайт
- A Brief History of BIND by ISC
- Bog BOS: DNS сервер BIND [Архівовано 6 березня 2013 у Wayback Machine.] (рос.)
- Первый стабильный выпуск полностью переработанного DNS-сервера BIND 10 [Архівовано 28 лютого 2013 у Wayback Machine.] // opennet.ru 26.02.2013