BIND

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
BIND
Розробник(и) Internet Systems Consortium
Стабільний випуск 10 1.2.0 (17 квітня 2014; 188 днів тому )
Операційна система GNU/Linux, NetBSD, FreeBSD, OpenBSD, Mac OS X, Windows
Тип DNS-сервер
Ліцензія ISC license
Сайт www.isc.org/software/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.

BIND 10[ред.ред. код]

Консорціум 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. Окремий інтерес представляє модуль накопичення статистики, який у поєднанні з додатковими надбудовами може віддавати статистику по протоколах HTTPXML-поданні) або 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.

Посилання[ред.ред. код]