Сегодня мы будем конфигурировать master NS на нашем сервере. Как обычно, в моём стиле, с минимальными усилиями.
disclaimer: Помните, установка smbind на боевой сервер с кучей пользователей может повредить работе bind’a. Точнее повредить bind’у могут пользователи панели, сломав зоны. Устанавливайте smbind только на тот сервер, на который не имеют доступа люди, которые желают вам зла.
Тот же ispmanager сильно лучше фильтрует то, что пользователи пытаются записать в файлы зон.
smbind я использую достаточно редко, но использую. Панелька хорошая и дело своё делает хорошо, но паранойя своё берет — он у меня стоит либо на отдельных машинах, куда доступ никто не имеет, либо на серверах клиентов (и у них доступ в smbind есть только у меня и у пары ответственных людей со стороны заказчика).
Для начала поставим bind9:
После этого нам нужно будет установить LAMP. Как это сделать мы все помним, а если не помним, то читаем тут
Теперь поставим саму панельку:
По ходу установки нам будут задавать вопросы по конфигурированию. Спросят рутовый пароль от mysql, тип базы, с которой будет работать smbind (у нас mysql — не забудьте, что сначала выбираем mysql, потом жмем пробел, и только потом — enter), пароль для пользователя+базы, с которой будет работать smbind и дефолтный пароль учетки admin в веб-морде smbind. Если не спросят (в lenny, например, не спрашивали) — то дефолтный пароль admin.
После окончания установки идём по адресу http://ip_address/smbind/
Меняем пароль для пользователя admin, если нужно, создаём дополнительных пользователей, от которых вы будете редактировать и создавать зону, всячески развлекаемся.
Теперь заставим bind подгружать зоны, созданные через smbind. В файл /etc/bind/named.conf добавляем такую строчку:
include "/etc/smbind/smbind.conf";
Рестартим bind9:
Теперь мы можем управлять нашими зонами через веб-интерфейс. Само прописывание записей в веб-морде ничего не даст — они не применяются сразу. Для того, чтобы «закоммитить изменения» в bind у вас есть два пути:
1) по ssh использовать команду:
Безопасно, но ничерта неудобно.
2) Починить в панели кнопку commit changes.
Как это сделать — в комментариях подсказал andreich (#12):
Ну и немного припрячем smbind. В файле /etc/apache2/conf.d/smbind.conf изменим строку
Alias /smbind /usr/share/smbind/php
На что-то вроде такого:
Alias /somesecretshithere /usr/share/smbind/php
Тогда интерфейс бинда будет доступен по адресу http://$ip_adress/somesecretshithere (или http://$some_hostname_of_server/somesecretshithere) — это затрудняет его поиски.
Так же неплохо было бы защитить директорию /usr/share/smbind/php при помощи .htaccess+.htpasswd. Либо ограничить доступ туда по IP. Тут уже насколько у вас фантазии хватит)
Приятного использования. Жду ваших вопросов.
Спасибо, пока не наткнулся, даже не собирался настраивать dns, но аппетит приходит во время еды.
Я веб разработчик и настраиваю локальный вебсервер на vmware. Вот решил упростить жизнь и завернуть все *.dev на себя, а то править /etc/hosts надоело. Хотелось бы, увидеть как это делается. а то данного материала не нашёл у вас.
p.s. Ушёл гуглить
Пропишите ip своего bind9 в dns серверы на локальной машине попробуйте.
После выполнения команды aptitude install smbind не хочит запускатся по адресу http://127.0.0.1/smbind/
Сделал рестарт apache и bind, перехожу по ссылке http://127.0.0.1/smbind/ пишет Database error: not found
> По ходу установки у нас спросят кучу всякой чуши, вроде пароля mysql root’a и пароля для mysql пользователя, от которого будет работать smbind.
Значит неправильно отвечали на вопросы.
Как теперь быть? Может какой-то файлик подредактировать нужно?
aptitude purge, aptitude install
там не только файлы редактировать, но и базу разворачивать — проще заново поставить.
Спасибо за оперативную помощ. Пост 7 помог.
Не за что. Пост 7 — вообще ваш )
У меня так:
7. inkvizitor68sl : 03.02.2012 в 17:35
aptitude purge, aptitude install
там не только файлы редактировать, но и базу разворачивать — проще заново поставить.
Возможно ето из-за сообщения которое ожидает модерации)
Круто. Я отвечаю на комментарии, которые забыл отмодерировать хД Совсем старый стал) Ладно, в любом случае, не за что.
«Единственная оговорка — кнопка «Commit changes» работать не будет.»
Будет всё работать, если поправить права на /etc/bind/rndc.key
664 вполне достаточно для нормальной работы.
Если это поправите в статье, цены ей не будет! Каждый раз на неё натыкался и дочитываю до этого места, начинал искать дальше или забивал, а тут пришлось добивать до конца =)
Спасибо большое, переделал статью.
Подскажите где грабли?
При удалении зоны, происходит следующая ошибка:
DB Error: syntax error
UPDATE zones SET updated = ‘yes’LIMIT 1 OFFSET 0 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘OFFSET 0’ at line 1]
При повторном заходе в веб-панель — удаленная зона исчезает, но файл зоны в /etc/smbind/zones/ и запись зоны в smbind.conf остается.
Linux Debian 6.0.7 / 2.6.32-5-686
Версию smbind попробуйте обновить/откатить.
Больше всего на баг в коде похоже.
Вроде проблема решена.
По поискам в сети «что, да как?», исправляли баги в разных версиях smbind-0.4.7 до 0.4.7-5
В bug fix была не раз информация о правки файла zonedelete.php. Было раньше только «LIMIT 1», а потом «LIMIT 1 OFFSET 0» в более новых версиях. Самая последняя версия в сети найдена 0.4.8 Вот как раз в версии 0.4.8, в файле zonedelete.php опять вернули «LIMIT 1». Что я и исправил в текущей установленной версии (0.4.7-5). Этот глюк исчез. Единственно, при удалении зоны, не удаляется сам файл зоны в /etc/smbind/zones/, но в smbind.conf запись очищается. Это пережить пока можно. Пока других проблем незамечено.
Установить сразу 0.4.8 версию, с минимальными усилиями – не получается (что-то вроде aptitude install smbind_0.4.8), нужно ставить все вручную. Deb – пакетов 0.4.8 не нашел.
Добрый день!
Пробую настроить, как в статье. Но на этапе <> вылетает ошибка при перезапуске бинда. Файл smbind.conf пустой, зоны не заводились.
А конкретнее можно? Какая ошибка и на каком этапе?
root@debi750:~# aptitude install smbind
Не удалось найти пакеты, содержащих «smbind» в своём имени или описании
Не удалось найти пакеты, содержащих «smbind» в своём имени или описании
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
root@debi750:~#
Что изменилось?
поставил webmin, буду пробовать работать с ним
зона hq.work hq.work.dns
обратная зона 192,168,0
1,1,1
ipv6 192:168:d::/122 rv-zone-ipv6.dns
1110:a::/64 sd-rv-zone-ipv6.dns
новая зона branch.work
branch.work.dns
обратная зона 172.16.0
2.2.2
ipv6 172:16:e::/124 br-rv-zone-ipv6.dns
2220:b::/64 br-sd-rv-zone-ipv6.dns
создаем new host a aaa на hq.work
hq-r 1.1.1.100 и галочку
hq-srv 192.168.0.60
hq-r 1110:a::100
hq-srv 192:168:d::6
на branch
br-r 2.2.2.100
br-srv 172.16.0.42
br-r 2220:b::100
br-srv 172:16:e::a
указываем ip на ethernet dns
192.168.0.60
8.8.8.8
192:168:d::6
все
заходим на hq
nano /etc/dhcp/dhcpd.conf
добовляем option domain-name-servers 192.168.0.60;