ОС Debian squeezeBind9 запускаю в chroot( /var/lib/named ) не создаётся cache_dump.db,named_stats.txt,named_mem_stats.txt права на log , в логах тишина
Насколько я понял файлы логов должны создаться /var/log/ , причём сам каталог /var находится /var/lib/named (так как запускаю в чрооте )
virdebian:/var/lib/named/var# ls -l
итого 12
drwxr-xr-x 3 bind bind 4096 Дек 8 11:27 cache
drwxr-xr-x 2 bind bind 4096 Фев 7 14:03 log
drwxr-xr-x 4 bind bind 4096 Дек 8 11:30 run
acl "virdebian" { 192.168.3.0/24; 127.0.0.1; };
options {
directory "/etc/bind";pid-file "/etc/bind/named.pid";
dump-file "/var/log/cache_dump.db";
statistics-file "/var/log/named_stats.txt";
memstatistics-file "/var/log/named_mem_stats.txt";
#от кого разрешаем принимать запросы
allow-query { "virdebian"; };
#Разрешаем выполнять рекурсивные запросы только с virdebian
#каким днс перенаправляем запрос если у нашего нет данных 1,2 днс провайдера 2 google
forwarders { 83.149.24.243;
83.149.24.244;
8.8.8.8;
};#скажем на каких портах обслуживать днс запросы
listen-on port 53 {
127.0.0.1;
192.168.3.25;
};
#инфа о сервере
version "virdebian DNS";
auth-nxdomain no; # conform to RFC1035
#отключаем ipv 6
listen-on-v6 { none; };
};
#ведение лога
logging {
channel warning {
file "/var/log/dns_warning" versions 3 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns {
file "/var/log/dns_logs" versions 3 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { warning; };
category default { general_dns; };};
а /var/lib/named/var/log/ существует вообще?
имеет ли bind права на запись туда?
> а /var/lib/named/var/log/ существует вообще?
> имеет ли bind права на запись туда?да существует права
virdebian:/var/lib/named/var# ls -l
итого 12
drwxr-xr-x 3 bind bind 4096 Дек 8 11:27 cache
drwxr-xr-x 3 bind bind 4096 Фев 8 12:45 log
drwxr-xr-x 4 bind bind 4096 Дек 8 11:30 run
> да существует права
> virdebian:/var/lib/named/var# ls -l
> итого 12
> drwxr-xr-x 3 bind bind 4096 Дек 8 11:27 cache
> drwxr-xr-x 3 bind bind 4096 Фев 8 12:45 log
> drwxr-xr-x 4 bind bind 4096 Дек 8 11:30 runРаспишите пожалуйста подробно Ваши шаги, как помещали bind в chroot, что модифицировали, подробно.
>> да существует права
>> virdebian:/var/lib/named/var# ls -l
>> итого 12
>> drwxr-xr-x 3 bind bind 4096 Дек 8 11:27 cache
>> drwxr-xr-x 3 bind bind 4096 Фев 8 12:45 log
>> drwxr-xr-x 4 bind bind 4096 Дек 8 11:30 run
> Распишите пожалуйста подробно Ваши шаги, как помещали bind в chroot, что модифицировали,
> подробно.правим /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
Больше вродеб ничего не делал
> Больше вродеб ничего не делалvi /etc/rsyslog.d/bind-chroot.conf
добавь
$AddUnixListenSocket /var/lib/named/var/log
/etc/init.d/rsyslog restartон сам должен создать log и log должен иметь следующие атрибуты:
srw-rw-rw- 1 root root 0 2008-10-09 14:48 /var/lib/named/var/log
потом стартуй bind
> Больше вродеб ничего не делалcache_dump.db,named_stats.txt создадутся по запросу через rndc, а не после старта bind
>> да существует права
>> virdebian:/var/lib/named/var# ls -l
>> итого 12
>> drwxr-xr-x 3 bind bind 4096 Дек 8 11:27 cache
>> drwxr-xr-x 3 bind bind 4096 Фев 8 12:45 log
>> drwxr-xr-x 4 bind bind 4096 Дек 8 11:30 run
> Распишите пожалуйста подробно Ваши шаги, как помещали bind в chroot, что модифицировали,
> подробно.в кратце идея такая: бинд читает файл конфигурации (named.conf по умолчанию), потом делает chroot. поэтому в файле конфигурации все пути надо указывать относительно нового корня файловой системы.
то есть если в named.conf мы имеем "pid-file "/var/run/named.pid";", то реально этот файл должен лежать в <chroot>/var/run/named.pid"
вообще странно... google bind+chroot - полно инфы.
ну вот заметки, которые я для себя нашкрябал при установке из сырцов. резать не буду - просто ненужную информацию игнорируй. реально все, что тебе нужно - это создание всей файловой структуры, которая необходима для работы программы, в рамках твоего chroot (см. наверно только "create chroot directories" и "create required devices in chroot" - остальное не столь важно):
[root@local etc]# [root@local bind]# cat readme
bind chroot quick instalation procedure:- goto in the 'patch' directory and run 'bind-xx.bsh' scripts for apply
'bind-xx.diff' patches (see 'bind-xx.txt' for patch description)
- goto bind source directory- configure bind:
$ configure.bsh
- compile bind:
$ make
- install bind:
# make install
- remove symbol informatiom from binaries (optional):
# strip /usr/local/lib/bind/*
# strip /usr/local/bin/bind/*
# strip /usr/local/sbin/bind/*- create 'bind' user and group:
# groupadd -g 300 bind
# useradd -u 300 -g 300 \
-d /chroot/bind -M \
-s /sbin/nologin -p* \
-c "SYS - named" \
bind- create chroot directories:
# mkdir -p /chroot/bind/etc/direct/master
# mkdir -p /chroot/bind/etc/direct/slave
# mkdir -p /chroot/bind/etc/revers/master
# mkdir -p /chroot/bind/etc/revers/slave
# mkdir -p /chroot/bind/dev
# mkdir -p /chroot/bind/var/run
# mkdir -p /chroot/bind/var/log/old
# ln -s /chroot/bind/etc /usr/local/etc/bind
# ln -s /chroot/bind/var/log /var/log/bind- create required devices in chroot:
# mknod /chroot/bind/dev/null c 1 3
# mknod /chroot/bind/dev/random c 1 8
# chmod 666 /chroot/bind/dev/null
# chmod 666 /chroot/bind/dev/random- create rndc config file:
# rndc-confgen > /chroot/bind/etc/rndc.conf
- create rndc key file# rndc-confgen -b 512 -a -c /chroot/bind/etc/rndc.key
- change key in 'rndc.conf' file to new from 'rndc.key' file- link rndc files to standard config directory:
# ln -s /chroot/bind/etc/rndc.key /etc/rndc.key
# ln -s /chroot/bind/etc/rndc.conf /etc/rndc.conf- create 'root.hint' file (internet access required for this operation):
# dig @a.root-servers.net . ns > /chroot/bind/etc/root.hint
- set access to the bind files:
# chmod 644 /usr/local/lib/bind/*
# chown 0:0 /usr/local/lib/bind/*
# chmod 755 /usr/local/bin/bind/*
# chown 0:0 /usr/local/bin/bind/*
# chmod 750 /usr/local/sbin/bind/*
# chown 0:0 /usr/local/sbin/bind/*# chmod 775 /chroot/bind/etc
# chmod 775 /chroot/bind/etc/direct/master
# chmod 775 /chroot/bind/etc/direct/slave
# chmod 775 /chroot/bind/etc/revers/master
# chmod 775 /chroot/bind/etc/revers/slave
# chmod 640 /chroot/bind/etc/*
# chmod 660 /chroot/bind/etc/direct/master/*
# chmod 660 /chroot/bind/etc/direct/slave/*
# chmod 660 /chroot/bind/etc/revers/master/*
# chmod 660 /chroot/bind/etc/revers/slave/*
# chmod 775 /chroot/bind/var
# chmod 775 /chroot/bind/run
# chown -R 0:bind /chroot/bind- copy required files to chroot:
# ln -s /etc/localtime /chroot/bind/etc/localtime
- see 'contrib' directory for bind initialization script, configuration
samples, etcPS
на FC делалось.ADD
про логи забыл совсем. вроде в теме там Debian был - значит syslog есть. ставим ему в опциях запуска "-a <chroot>/bind/dev/log" (не помню точно где в дебиане - день рождения - пьяный... все равно из шапки ноги ростут (у дебиана, а не то, что вы подумали)- наверно /etc/sysconfig/syslog?). и syslog перезапустить. он девайс в <chroot>/bind/dev/log сделает для named и сделает сам.