ВСТУП
Доволі часто для адміністратора, який лише починає своє знайомство з FreeBSD виникає необхідність налаштувати власний DNS. Хто пробував це робити знає яка це важка, трудомістка та клопітка праця… Разом з FreeBSD у Вас у системі обов’язково стоятиме одна з версій BIND (Berkeley Internet Name Domain). Можливо, що для гуру це не проблема, проте початківцю це далеко не легко!
Що таке DNS? DNS — це протокол, який перетворює імена в IP-адреси та навпаки. Наприклад, у відповідь на запит www.unix.lviv.ua ми отримаємо IP-адресу веб-серверу офіційного сайту відкритої Львівської групи користувачів Unix. Так само відбувається й зворотній процес. Запит IP-адреси машини, поверне ім’я хосту. Для того щоб система працювала не обов’язково мати працюючий DNS у себе на комп’ютері, їх достатньо існує в інтернеті, проте коли ми говоримо про мережу, то DNS нам знадобиться: чи для основного серверу нашого домену (який Ви використовуватимете), чи просто для кешування DNS-запитів, наприклад, браузерів.
Дана стаття не претендує стати підручником по DNS, таких існує достатньо і набагато більш фаховіше написаних! Я прагну лише допомогти в налаштуванні DNS для конкретних потреб на конкретному прикладі.
Як було сказано найбільш розповсюдженим DNS є BIND, проте не зважаючи на свою популярність, він таки залишається доволі болючим і дирявим місцем 🙂 Біда ще й у тім, що більшість проблем BIND криється в бібліотеках, більше відомих як libresolv та libbind, переповнення буферу та інші гадості — результат помилок у цих бібліотеках. Саме тому я використовую djbDNS. Він був написаний D. J. Bernstein. Як на мене його переваги очевидні — легка та швидка конфігурація, безпека, стабільність… Джеймсом Бернштейн замінив стандартну libresolv на власну, відому як djbdns client library. Відразу зауважу, що багато хто не долюблює його програм (djbdns, qmail, daemontools та ін.). Не заперечую, що він має свій особливий стиль програмування, який однак є доволі структурованим та цікавим.