Задачи:                            Выстроить BIND8 (NAMED) в песочнице - (в ограниченном(закрытом) собственным окружением).
Возможности:                       Операционная Система FreeBsd v.4 - v.5., BIND8,
Требования:                        Минимальные знания систем UNIX, OS FreeBSD.
Авторство:                         Все что здесь написано, может быть использовано всеми, кто найдет эту статью.
                                   Я являюсь автором только по содержанию и смыслу.
                                   В этой статье были использованы материалы с сайтов:
                                   http://freebsd.org
                                   http://www.isc.org

Использование:                     Понимание данной статьи, как приложение к страничке помощи по настройке.
                                   Любые возможные потери или утраты в связи с использованием этой статьи, не возмещаются.
Установка происходит используя:
                                   или Дистрибутив BIND8
                                   или Port для FreeBsd /usr/ports/dns/bind8
                                   или Статически скомпонованная готовая сборка BIND8 в системе.
                                   
Вступление:                        Любое программное обеспечение, требует собственные ресурсы на сервере,
                                   а так же в целом любое ПО не может считаться идеальным в практическом смысле.
                                   Тем самым используя общие ресурсы и имея доступ хотябы для чтения в каталог корня ОС
                                   от имени какого либо даемона(сервиса), запущенного на сервере,
                                   мы рискуем поставить под угрозу другие сервисы, запущенные рядом,
                                   к которым может получить доступ недоброжелатель или взломщик.
                                   Этим мы подверждаем, что чем больше будет сделано администратором системы
                                   барьеров для попытки взлома ПО, тем менее опаснее станет использование самой ОС в целом.
                                   
                                   В данной статье мы рассмотрим запуск сервиса named, в папке, из которой сам сервис
                                   не может получить доступ к корню самой системы.
                                   "Запуск в песочнице" или chroot, как мы называем это, дает на возможность безопасно
                                   для остальных сервисов полноценно запускать даемон named-а, в собственном окружении.
                                   
                                   Изначально это статья рекомендована для использования в частных или не частных целях,
                                   для администраторов с плохой памятью, как у меня, для быстрого поднятия BIND8 в песочнице.
                                   
-----------------------------------------------------------------------------------------------------
 помощью Дистрибутива BIND8:
                                   Распакуйте архив или выберите иной
                                   dns-pro# cd /home/chroot
                                   dns-pro# mkdir bind8
                                   dns-pro# cd bind8

                                   dns-pro# fetch ftp://ftp.isc.org/isc/bind/src/8.3.7/bind-src.tar.gz
                                   или
                                   dns-pro# fetch ftp://ftp.isc.org/isc/bind/src/8.4.6/bind-src.tar.gz

                                   bind-src.tar.gz                               100% of 1383 kB   32 kBps 00m00s
                                   dns-pro# tar xfz bind-src.tar.gz
                                   dns-pro# cd src

                                   Теперь надо подправить строку в файле port/freebsd/Makefile.set, для этого:
                                   dns-pro# ee port/freebsd/Makefile.set
                                   dns-pro# make clean

                                   Теперь дописываем в строку 'CDEBUG=-O2 -g -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat'
                                   опцию -static
                                   полуится так:
                                   'CDEBUG=-O2 -g -static -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat'

                                   Теперь Продолжим...
                                   dns-pro# make depend
                                   dns-pro# make all
                                   dns-pro# rm .settings
                                   dns-pro# make install
                                   
                                   Все, программа установленна на сервер.
                                   Приступаем к запуску в песочнице(chroot)
                                   По умолчанию, в системе FreeBSD , named распологается в папке /etc/namedb.
                                   Не будем ничего менять в этом, пусть будет так.
                                   
                                   Создаем директории в этой папке и нужные изменения.
                                   
                                   dns-pro# cd /etc/namedb
                                   dns-pro# mkdir -p bin dev etc var/tmp var/run var/run/named master slave usr usr/sbin
                                   dns-pro# chown bind:bind slave var/*
                                   dns-pro# cp /etc/localtime etc/
                                   dns-pro# mv named.conf etc && ln -sf etc/named.conf
                                   dns-pro# cp -f /usr/libexec/named-xfer bin/named-xfer
                                   dns-pro# cp -f /usr/sbin/named usr/sbin/named
                                   dns-pro# cd dev && mknod null c 2 2
                                   dns-pro# chmod 666 null
                                   
                                   Теперь нужно создать линк на консоль управления намеда, при каждом старте системы.
                                   Линк нужен для управления намедом из коммандной строки(#ndc start|restart|stop|etc)
                                   Она будет создаваться с помощью cron.
                                   dns-pro# crontab -e
                                   впишем:
                                   @reboot /bin/ln -sf /etc/namedb/var/run/ndc /var/run/ndc
                                   
                                   Далее для того чтобы в syslog named смог писать сообщения, дописываем дополнительную опцию в /etc/rc.conf
                                   А так же впишем дополнительные опции для разрещения старта.
                                   dns-pro# ee /etc/rc.conf
                                   named_enable="YES"
                                   named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"
                                   named_pidfile="/var/run/named/pid"
                                   named_chrootdir=""            #Для систем с автоматической установкой  chroot(FreeBSD_5.*_STABLE)
                                   named_chroot_autoupdate="NO"  #Для систем с автоматической установкой  chroot(FreeBSD_5.*_STABLE)
                                   syslogd_flags="-l /etc/namedb/dev/log"
                                   
                                   Далее мы редактируем сам named.conf
                                   dns-pro# ee /etc/namedb/named.conf
                                   // управляющий сокет ndc
                                   controls {
                                            unix "/var/run/ndc" perm 0600 owner 0 group 0;
                                   };
                                   options {
                                           directory "/";
                                           named-xfer "/bin/named-xfer";
                                           notify yes;
                                           fake-iquery yes;
                                           fetch-glue no;
                                           use-id-pool yes;
                                           allow-recursion { 192.168.0.0/24; localhost; };
                                           allow-query { any; };
                                           version "DNS server";
                                           allow-transfer { 80.78.179.175; 193.219.141.235; };
                                           query-source address * port 53;
                                           dump-file "s/named_dump.db";
                                           pid-file "/var/run/named/pid";
                                   };
                                   
                                   Пробуем перезапустить систему и надеемся на успешное выполнение задачи.
                                   dns-pro# shutdown -r now
                                   проверяем после загрузки - http://www.dnsstuff.com/tools/dnstime.ch?name=dns-pro.org&type=A
----------------------------------------------------------------------------------------------------------