LINUX.ORG.RU
ФорумAdmin

Вопрос по bind9


1

2

хочу запускать его Bind в chroot среде для этого делаю следующее

server:/# mkdir -p /var/lib/named/etc
server:/# mkdir /var/lib/named/dev
server:/# mkdir -p /var/lib/named/var/cache/bind
server:/# mkdir -p /var/lib/named/var/run/bind/run


5. Переместите директорию с конфигурацией bind9 из /etc в /var/lib/named/etc:

server:/# mv /etc/bind /var/lib/named/etc 


6. Создадим символическую ссылку на новую директорию с файлами конфигурации bind на случай если в дальнейшем вы соберётесь обновить пакет, это поможет избежать проблем.

server:/# ln -s /var/lib/named/etc/bind /etc/bind
Создадим null и random девайсы и выставим правильные права на директории:
Код:


mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

но при mknod /var/lib/named/dev/null c 1 3 вылетает такое сообщение - mknod: «/var/lib/named/dev/null»: Нет такого файла или каталога подскажите где ошибся ?

А дистрибутив какой?

Например в CentOS есть пакет bind-chroot. У меня он вообще стоит /var/named/.. И еще в sysconfig/named есть параметр ROOTDIR. Так какой дистр?

pylon ()
server:/# mkdir -p /var/lib/named/etc
server:/# mkdir /var/lib/named/dev
server:/# mkdir -p /var/lib/named/var/cache/bind
server:/# mkdir -p /var/lib/named/var/run/bind/run

Вот тут во второй строчке тоже надо -p. Как я понял, дело в том, что не создалась директория /var/lib/named/dev.

Sharp ()
Ответ на: комментарий от drac753

Операционка Debian squeeze

Возникла еще одна проблема описываю что делал :

правим /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Теперь создадим все необходимые для работы bind9 директории.
Код:


mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Переместите директорию с конфигурацией bind9 из /etc в /var/lib/named/etc:
Код:


mv /etc/bind /var/lib/named/etc

Создадим символическую ссылку на новую директорию с конфигами bind на случай если в дальнейшем вы соберетесь обновить пакет, это поможет избежать проблем.
Код:


ln -s /var/lib/named/etc/bind /etc/bind

Создадим null и random девайсы и выставим правильные права на директории:
Код:


mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

запускаю bind

virdebian:~# service bind9 start
Starting domain name service...: bind9.
virdebian:~# service bind9 status
вылазиют эти грабли
------------------------------------------------------
could not access PID file for bind9 ... failed!
------------------------------------------------------

drac753 ★★ ()
Ответ на: комментарий от drac753

В Debian так и должно показывать :) У меня тоже вот:

dns:~# ps ax | grep named
 2455 ?        Ssl    1:37 /usr/sbin/named -4 -u bind -t /var/lib/named
13911 pts/0    R+     0:00 grep named
dns:~# /etc/init.d/bind9 status
bind9 is not running failed!

Посмотреть можно здесь: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523454

shrub ★★★★★ ()
Ответ на: комментарий от drac753

всё победил делаем так [code] Hi,

I found out after chrooting the bind9, the status cannot be checked.

i.e.:

root@ns1:/etc/bind# /etc/init.d/bind9 status * could not access PID file for bind9

i resolved this by editing the /etc/init.d/bind9 i changed #PIDFILE=/var/run/named/named.pid to PIDFILE=/var/lib/named/var/run/named/named.pid

Where your pid file is, you may find by doing : find / -name named.pid

When found, it will show you the exact path. (To find it, bind must be running)

Good luck.

[/code] итог [code] virdebian:/etc/init.d# service bind9 restart Stopping domain name service...: bind9 waiting for pid 2419 to die. Starting domain name service...: bind9. virdebian:/etc/init.d# service bind9 status bind9 is running. virdebian:/etc/init.d# [/code]

drac753 ★★ ()
Ответ на: комментарий от drac753

imho, в данном случае лучше сделать симлинк, чем менять переменную в скрипте

shrub ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.