BIND і біль

Dec 05, 2016 20:35

У п'ятницю я вирішив, що один "підшефний проект" досить розрісся, щоб виправдати встановлення внутрішнього DNS-сервера. Здавалось, що може бути простішим ("я сто раз так робив!"): yum install bind bind-utils, створив named.conf (взявши за основу приклад з /usr/share/doc/), зробив локальні зони в /etc/named/, підключив їх через include; врешті service named start

Та dig some.host.local @127.0.0.1 видає NXDOMAIN... Поліз у логи -- все ОК, але не бачу, щоб читались мої зони; named-checkonf -z їх також не показує. Починаю перевіряти права доступа, другою рукою гуглю проблему (може хтось вже наступав на такі граблі) -- і тут вимальовується страшна штука під назвою SELinux. Починаю розбиратись з ним, перш за все правлю контексти для файлів моїх зон (не допомогло), потім переношу їх до /var/named/ (не допомогло), і тут мені стає моторошно: "а як же у мене інші сервіси працюють, якщо я просто не розумію як оцей SELinux себе поводить?"

Сьогодні почитав основи основ про SELinux і знову взявся за DNS. Всі контексти-ролі-домени наче вірно вказані, а зони не завантажуються! Пішов до колег на #fidorus, усі дуже здивувались "як так не працює? BIND це ж дуже просто!" і почали мозковий штурм (під час якого до strace усіх двох з лишнім десятків тредів named дійшло). Все працює, щодних помилок чи застережень, але мої зони навіть не пробують прочитатись.

Нема куди діватись, розкатую тестову машину с тим самим CentOS 6, ставлю BIND... І тут, ще не створюючи жодних конфігів, я вирішив перевірити контекст свіжествореного каталогу /etc/named/ -- cd /etc ; ls -Z | grep named

Стоп-стоп, звідки там named.conf? А що покаже strings /usr/sbin/named | grep "/named.conf"? Ой, /etc/named.conf -- а я правив /etc/named/named.conf і дивувався "чого не працює". Тепер дивуюсь, чого ж я вирішив, що основний конфіг саме в /etc/named/ мав бути; і чого одразу не перевірив "звідки починається усе читатись" при перших ознаках проблеми.

Суворий вийшов урок, але добре, що розібрався (не розбивши ні голови об стіну, ні стіни головою). Та ще й про SELinux багато нового дізнався, стане у пригоді :)

still_alive_msg

Previous post Next post
Up