Bind 9 - настройка DNS-сервера

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ca674b912a76ec7ee62e7321ea62bdcf' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">По умолчанию во <strong>FreeBSD</strong> используется одна из версий программы <strong>BIND</strong> (<strong>Berkeley Internet Name Domain</strong>), являющейся самой распространенной реализацией протокола <strong>DNS</strong>.</p>\n<p class=\"rtejustify\"><strong>FreeBSD </strong>в настоящее время поставляется с сервером DNS BIND9, предоставляющим расширенные настройки безопасности, новую схему расположения файлов конфигурации и автоматические настройки для <strong>chroot</strong>. <span style=\"color: #ff0000\"><strong>chroot-каталогом является /var/named, соответственно в конфигурационных файлах все пути будут относительно этого каталога.</strong></span> Исходя из вышесказаного:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>cd /var/named</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">&nbsp;У нас уже есть пример конфигурационного файла. Сохраним его (на всякий случай), и создадим свой:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>mv etc/namedb/named.conf etc/namedb/named.conf.default<br />\n </strong>#<strong> touch etc/namedb/named.conf</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Конфигурирование сервера я начинаю с настройки утилиты управления rndc.</p>\n<p class=\"rtejustify\">Воспользуемся утилитой&nbsp;<strong>rndc-confgen</strong>&nbsp;для генерации конфигурационного файла <strong>rndc</strong>:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>rndc-confgen &gt;&gt; etc/namedb/rndc.conf</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p>Посмотрим результат:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># cat etc/namedb/rndc.conf</strong><br />\n &nbsp;</p>\n<p># Start of rndc.conf<br />\n key &quot;rndc-key&quot; {<br />\n algorithm hmac-md5;<br />\n secret &quot;8moaOusPKbJDSaQjfvcrwA==&quot;;<br />\n };</p>\n<p>options {<br />\n default-key &quot;rndc-key&quot;;<br />\n default-server 127.0.0.1;<br />\n default-port 953;<br />\n };<br />\n # End of rndc.conf</p>\n<p># Use with the following in named.conf, adjusting the allow list as needed:<br />\n # key &quot;rndc-key&quot; {<br />\n # algorithm hmac-md5;<br />\n # secret &quot;8moaOusPKbJDSaQjfvcrwA==&quot;;<br />\n # };<br />\n #<br />\n # controls {<br />\n # inet 127.0.0.1 port 953<br />\n # allow { 127.0.0.1; } keys { &quot;rndc-key&quot;; };<br />\n # };<br />\n # End of named.conf</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Берем из полученного файла необходимые данные для <strong>named.conf</strong> (отмечено, что эти строки необходимо вставить в <strong>named.conf</strong>). Потом добавляем остальные опции:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># cat etc/namedb/named.conf</strong><br />\n &nbsp;</p>\n<p># rndc<br />\n key &quot;rndc-key&quot; {<br />\n algorithm hmac-md5;<br />\n secret &quot;8moaOusPKbJDSaQjfvcrwA==&quot;;<br />\n };</p>\n<p>controls {<br />\n inet 127.0.0.1 port 953<br />\n allow { 127.0.0.1; } keys { &quot;rndc-key&quot;; };<br />\n };<br />\n # end rndc</p>\n<p>// Назначаем access-листы (потом пригодится...)</p>\n<p>acl &quot;client&quot; {&nbsp;127.0.0.1; 195.3.159.250/32;&nbsp;};<br />\n acl &quot;slave&quot; { x.x.x.x/x; y.y.y.y/y; };</p>\n<p>// Настраиваем логирование. Нужная штука ;)</p>\n<p>logging {<br />\n channel my-default {<br />\n file &quot;/log/named&quot; versions 5 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel general {<br />\n file &quot;/log/general&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel database {<br />\n file &quot;/log/database&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p> channel security {<br />\n file &quot;/log/security&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel config {<br />\n file &quot;/log/config&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel resolver {<br />\n file &quot;/log/resolver&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel xfer-in {<br />\n file &quot;/log/xfer-in&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel xfer-out {<br />\n file &quot;/log/xfer-out&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel notify {<br />\n file &quot;/log/notify&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };<br />\n channel client {<br />\n file &quot;/log/client&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel unmatched {<br />\n file &quot;/log/unmatched&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel network {<br />\n file &quot;/log/network&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel update {<br />\n file &quot;/log/update&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel queries {<br />\n file &quot;/log/queries&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel dispatch {<br />\n file &quot;/log/dispatch&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel dnssec {<br />\n file &quot;/log/dnssec&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>channel lame-servers {<br />\n file &quot;/log/lame-servers&quot; versions 2 size 10m;<br />\n print-time yes;<br />\n print-category yes;<br />\n print-severity yes;<br />\n };</p>\n<p>category default { my-default; };<br />\n category general { my-default; general; };<br />\n category database { my-default; database; };<br />\n category security { my-default; security; };<br />\n category config { my-default; config; };<br />\n category resolver { my-default; resolver; };<br />\n category xfer-in { my-default; xfer-in; };<br />\n category xfer-out { my-default; xfer-out; };<br />\n category notify { my-default; notify;};<br />\n category client { my-default; client;};<br />\n category unmatched { my-default; };<br />\n category network { my-default; network; };<br />\n category update { my-default; update; };<br />\n category queries { queries; };<br />\n category dispatch { my-default; dispatch; };<br />\n category dnssec { my-default; dnssec; };<br />\n category lame-servers { lame-servers; };<br />\n };<br />\n &nbsp;</p>\n<p>// теперь пошли опции</p>\n<p> options {</p>\n<p>// Указываем рабочую директорию<br />\n directory &quot;/etc/namedb&quot;;</p>\n<p>// Прячем имя сервера (повышаем безопасность)<br />\n hostname &quot;DNS server&quot;;</p>\n<p> // Разрешаем рекурсивные запросы<br />\n recursion yes;</p>\n<p>// Указываем путь к pid-файлу. Проверьте на всякий случай путь.</p>\n<p>// Используется для остановки/перезапуска DNS-сервера BIND<br />\n pid-file &quot;/var/run/named/pid&quot;;</p>\n<p>// Указываем путь к дампу<br />\n dump-file &quot;/var/dump/named_dump.db&quot;;</p>\n<p>// Прячем версию BIND (повышаем безопасность)<br />\n version &quot;Unknown DNS&quot;;</p>\n<p>//&nbsp;Чьи запросы будем обрабатывать<br />\n allow-query { &quot;client&quot;; };</p>\n<p>// Кому разрешаем трансфер наших зон</p>\n<p>allow-transfer { &quot;slave&quot;; };</p>\n<p>// Указывае размер кеша<br />\n max-cache-size 52428800 ;</p>\n<p>};<br />\n ### END options</p>\n<p>// Корневая зона. <br />\n zone &quot;.&quot; {<br />\n &nbsp;&nbsp;&nbsp; type hint;<br />\n &nbsp;&nbsp;&nbsp; file &quot;/etc/namedb/named.root&quot;;&nbsp;<br />\n &nbsp;};</p>\n<p>// Back Resolving для нас loopback<br />\n zone &quot;0.0.127.in-addr.arpa&quot; {<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &quot;/etc/namedb/localhost.rev&quot;;<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; notify no;<br />\n };</p>\n<p>// Подключаем дополнительные конфигурационные фaйлы<br />\n // Рекомендую для каждой зоны свой. Проще потом конфиг найти, и не захаращиваем<br />\n // основной&nbsp;конфиг всякой лабудой. Думаю здесь все понятно...</p>\n<p>include &quot;/conf/kiev.ua&quot;;</p>\n<p>// В этот файл больше не ничего не писать. Используйте include . Заканчиваем пустой строкой.<br />\n &nbsp;</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">&nbsp;Разберем конфигурационный файл более детально.</p>\n<p class=\"rtejustify\">Сначала идут опции для работы утилиты <strong>rndc</strong>. Потом секция настройки access-листов. Рекомендую использовать именно access-листы,&nbsp;а не прописывать всюду айпишки и сети - удобней будет ;)</p>\n<p class=\"rtejustify\">Далее идет настройка логов. Даннная секция настроена так,&nbsp;чтобы разные действия писались в разные файлы. Разберетесь что и куда, если будет такая необходимость ;)</p>\n<p class=\"rtejustify\">Кстати, нужно создать эту самую папку для логов...</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>mkdir log</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Далее идет секция опций. Думаю здесь все понятно.</p>\n<p class=\"rtejustify\">Потом идет описание зон. С корневой зоной проблем не должно возникнуть, поскольку на данный момент используется тип slave, и список TLD-серверов должен подтягиваться непосредственно к нам с корневого ДНС-сервера F.</p>\n<p class=\"rtejustify\">Рассмотрим файл бек-резолвинга для <strong>loopback</strong>. В дистрибутиве уже идет готовый файл, но я по привычке создаю свой (тем более IPv6 я пока не использую). Создадим файл <strong>etc/namedb/localhost.rev</strong></p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>touch etc/namedb/localhost.rev</strong></td>\n</tr>\n</tbody>\n</table>\n<p>Приведем <strong>localhost.rev</strong> к следующему виду:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># cat etc/namedb/localhost.rev</strong></p>\n<p>$TTL 3600<br />\n @&nbsp;&nbsp;&nbsp; &nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp; SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; muff.kiev.ua.&nbsp;&nbsp;&nbsp;&nbsp; admin.muff.kiev.ua. (<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2009082300 ; Serial<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600 ; Refresh<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 600 ; Retry<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600000 ; Expire<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600 ) ; Minimum</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp; NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;muff.kiev.ua.<br />\n 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp; PTR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localhost.muff.kiev.ua.</p>\n<p>&nbsp;</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Рассматривать детально каждую опцию не буду. Этой информации достаточно в инете. Обращу внимание только на то, что все имена заканчиваются точкой, указывая что это уже корневой домен;&nbsp;запись <strong>admin.muff.kiev.ua</strong> - это почтовый адрес администратора домена,&nbsp;только &quot;@&quot; заменена на &quot;.&quot;, поскольку &quot;@&quot; в даном случае имеет служебное значение.</p>\n<p class=\"rtejustify\">&nbsp;Далее прописываю какие еще файлы инклюдить в основной конфиг. Чтобы не путаться,&nbsp;все зоны свожу в дополнительные конфиги в алфавитном порядке. Приведу пример только с одним дополнительным конфигом &quot;kiev.ua&quot; (потом обычно их становится намного больше: com, com.ua, net, net.ua и т.д.).</p>\n<p class=\"rtejustify\">Создаем&nbsp;каталог для дополнительных конфигурационных файлов и&nbsp;файл конфигурации для доменов вида&nbsp;*.kiev.ua:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>mkdir conf<br />\n </strong># <strong>touch conf/kiev.ua</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p>Теперь добавим поддержку&nbsp;домена <strong>muff.kiev.ua</strong>:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>cat conf/kiev.ua</strong></p>\n<p>zone &quot;muff.kiev.ua&quot; {<br />\n &nbsp;&nbsp;&nbsp;&nbsp; type master;<br />\n &nbsp;&nbsp;&nbsp;&nbsp; file &quot;/zones/kiev.ua/muff.kiev.ua&quot;;<br />\n &nbsp;&nbsp;&nbsp;&nbsp; allow-query {any ; };<br />\n &nbsp;&nbsp;&nbsp;&nbsp; allow-transfer { &quot;slave&quot;; };<br />\n };</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">&nbsp;Создадим необходимые каталоги и файл зоны <strong>muff.kiev.ua</strong>.</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>mkdir -p zones/kiev.ua<br />\n </strong># <strong>touch zones/kiev.ua/muff.kiev.ua</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">&nbsp;Добавим необходимые записи в файл зоны <strong>muff.kiev.ua</strong>. Должно получиться примерно следующее:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># cat zones/kiev.ua/muff.kiev.ua</strong></p>\n<p>$TTL 86400<br />\n @&nbsp;&nbsp; &nbsp;IN&nbsp;&nbsp;&nbsp; &nbsp;SOA&nbsp;&nbsp;&nbsp; ns.muff.kiev.ua. admin.muff.kiev.ua. (<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2009082400 ; Serial<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14400 ; Refresh<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7200 ; Retry<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600000 ; Expire<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 86400 ) ; Minimum</p>\n<p>&nbsp;</p>\n<p>@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns.muff.kiev.ua.<br />\n @ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ns2.muff.kiev.ua.</p>\n<p>\n @&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;MX&nbsp;&nbsp;10&nbsp;&nbsp;mail.muff.kiev.ua.<br />\n @&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MX&nbsp;&nbsp;20&nbsp; relay2.muff.kiev.ua.</p>\n<p>&nbsp;</p>\n<p>@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 195.3.159.250<br />\n www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 195.3.159.250<br />\n mail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 193.227.206.56</p>\n<p>relay2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 193.227.206.57<br />\n ns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 195.3.159.250</p>\n<p>ns2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;193.227.206.50</p>\n<p>&nbsp;</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Добавляем несколько строк для старта <strong>BIND</strong> в <strong>/etc/rc.conf</strong>:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>echo \'### Domain Name Service\' &gt;&gt; /etc/rc.conf<br />\n </strong># <strong>echo \'named_enable=&quot;YES&quot;\' &gt;&gt; /etc/rc.conf<br />\n </strong># <strong>echo \'named_flags=&quot;-u bind -c /etc/namedb/named.conf&quot;\' &gt;&gt; /etc/rc.conf</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Поскольку <strong>BIND</strong> будет работать от имени пользователя <strong>bind</strong>, сделаем его владельцем каталогов и файлов:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>chown -R&nbsp;bind:wheel /var/named/log</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Запускаем демон сервера доменных имен:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>sh /etc/rc.d/named start</strong></td>\n</tr>\n</tbody>\n</table>\n<p>Проверяем,&nbsp;запустился ли named:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>ps -ax | grep bind</strong></p>\n<p>39512 ?? Is 0:00,05 /usr/sbin/named -u bind -c /etc/namedb/named.conf -t /var/named -u bind</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Все в норме, <strong>BIND</strong> запустился. Теперь проверим, как он будет отрабатывать наши запросы:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td># <strong>dig A @127.0.0.1 mail.ru</strong>\n<p>; &lt;&lt;&gt;&gt; DiG 9.4.3-P3 &lt;&lt;&gt;&gt; A @127.0.0.1 mail.ru<br />\n ; (1 server found)<br />\n ;; global options: printcmd<br />\n ;; Got answer:<br />\n ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 27003<br />\n ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 6, ADDITIONAL: 0</p>\n<p>;; QUESTION SECTION:<br />\n ;mail.ru. IN A</p>\n<p>;; ANSWER SECTION:<br />\n mail.ru. 60 IN A 217.69.128.43<br />\n mail.ru. 60 IN A 217.69.128.44<br />\n mail.ru. 60 IN A 217.69.128.41<br />\n mail.ru. 60 IN A 217.69.128.42</p>\n<p>;; AUTHORITY SECTION:<br />\n mail.ru. 3600 IN NS ns.mail.ru.<br />\n mail.ru. 3600 IN NS ns1.mail.ru.<br />\n mail.ru. 3600 IN NS ns2.mail.ru.<br />\n mail.ru. 3600 IN NS ns4.mail.ru.<br />\n mail.ru. 3600 IN NS ns5.mail.ru.<br />\n mail.ru. 3600 IN NS ns3.mail.ru.</p>\n<p>;; Query time: 162 msec<br />\n ;; SERVER: 127.0.0.1#53(127.0.0.1)<br />\n ;; WHEN: Mon Aug 24 02:02:59 2009<br />\n ;; MSG SIZE rcvd: 196</p>\n<p>\n <strong># dig A @127.0.0.1 muff.kiev.ua</strong></p>\n<p>; &lt;&lt;&gt;&gt; DiG 9.4.3-P3 &lt;&lt;&gt;&gt; A @127.0.0.1 muff.kiev.ua<br />\n ; (1 server found)<br />\n ;; global options: printcmd<br />\n ;; Got answer:<br />\n ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 35632<br />\n ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2</p>\n<p>;; QUESTION SECTION:<br />\n ;muff.kiev.ua. IN A</p>\n<p>;; ANSWER SECTION:<br />\n muff.kiev.ua. 86400 IN A 195.3.159.250</p>\n<p>;; AUTHORITY SECTION:<br />\n muff.kiev.ua. 86400 IN NS ns.muff.kiev.ua.<br />\n muff.kiev.ua. 86400 IN NS ns2.muff.kiev.ua.</p>\n<p>;; ADDITIONAL SECTION:<br />\n ns.muff.kiev.ua. 86400 IN A 195.3.159.250<br />\n ns2.muff.kiev.ua. 86400 IN A 193.227.206.50</p>\n<p>;; Query time: 7 msec<br />\n ;; SERVER: 127.0.0.1#53(127.0.0.1)<br />\n ;; WHEN: Mon Aug 24 02:02:49 2009<br />\n ;; MSG SIZE rcvd: 113</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Демон полноценно функционирует. Отдал запрошенные данные&nbsp;домена <strong>mail.ru</strong> и отдал запрошенные данные для поддерживаемого домена <strong>muff.kiev.ua</strong>.</p>\n<p class=\"rtejustify\">&nbsp;Проверям работу утилиты <strong>rndc</strong> (чтобы просмотреть допустимые ключи и опции&nbsp;- необходимо набрать команду без ключей)</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># rndc status</strong></p>\n<p>number of zones: 15<br />\n debug level: 0<br />\n xfers running: 0<br />\n xfers deferred: 0<br />\n soa queries in progress: 0<br />\n query logging is ON<br />\n recursive clients: 0/0/1000<br />\n tcp clients: 0/100<br />\n server is up and running<br />\n &nbsp;</p>\n<p><strong># rndc reload</strong><br />\n server reload successful</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Теперь дело за малым - указать серверу, чтобы он свои dns-запросы обрабатывал самостоятельно. Изменяем опцию nameserver в файле <strong>/etc/resolv.conf</strong> на адрес loopback-интерфеса сервера:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p><strong># cat /etc/resolv.conf</strong></p>\n<p>domain muff.kiev.ua<br />\n nameserver 127.0.0.1</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Поздравляю. Теперь у вас есть полноценный DNS-сервер на&nbsp;платформе BIND9.</p>\n<p><span style=\"color: #ff0000\"><strong>Примечание</strong></span></p>\n<p class=\"rtejustify\"><span style=\"text-decoration: underline\">Любой</span> файл зоны должен оканчиваться <span style=\"text-decoration: underline\">пустой</span> строкой ! Иначе в логах вы будете видеть подобное:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>tail -f /var/named/log/general</strong></p>\n<p>24-Aug-2009 02:08:17.125 general: warning: /zones/kiev.ua/muff.kiev.ua:25: file does not end with newline</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:ca674b912a76ec7ee62e7321ea62bdcf' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:7b0052f7fab44e654b5b3670bdb94e6c' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Многоуважаемый подскажите где косяк</p>\n<p>&nbsp;</p>\n<p><strong>rndc reload</strong></p>\n<p>WARNING: key file (/etc/namedb/rndc.key) exists, but using default configuration&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file (/etc/namedb/rndc.conf)</p>\n<p></p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:7b0052f7fab44e654b5b3670bdb94e6c' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:3c6da4489f8fbe3692ba9b6c5ad9f083' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Некорректно сконфигурирована утилита rndc.</p>\n<p>Проверяйте корректность файлов rndc.key, rndc.conf и наличие раздела rndc в named.conf (и не забываем,&nbsp;что все пути относительно каталога /var/named)</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:3c6da4489f8fbe3692ba9b6c5ad9f083' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:dea388101a58418b3a895396fde0b0c3' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Там всё в полном порядке. Просто в последнем бинде 9.7 видимо косяк. Сделал вот так</p>\n<p>&nbsp;</p>\n<p>1. Stop named (\'service named stop\' or \'/etc/rc.d/named stop\')<br />\n2. rm /etc/rndc.conf<br />\n3. Start named (\'service named start\' or \'/etc/rc.d/named start\')<br />\n4. rndc status</p>\n<p>&nbsp;</p>\n<p>Всё стало в шоколаде всё работает.&nbsp;ВАМ&nbsp;ОГРОМНОЕ&nbsp;СПАСИБО&nbsp;ЗА&nbsp;СТАТЬЮ.Хотелось бы что б вы побольше &quot;жевали&quot; для тцпых типо меня.С&nbsp;П&nbsp;А&nbsp;С&nbsp;И&nbsp;Б&nbsp;О&nbsp;!</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:dea388101a58418b3a895396fde0b0c3' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07d9bb844c75b8291c4b14c9e7cc8b5b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>М-м-м.... А почему <strong>/etc/rndc.conf</strong>? Я же говорил про то, что пути относительны от /var/named.</p>\n<p>Соответственно, полный путь к&nbsp;<strong>rndc.conf</strong>&nbsp;у&nbsp;мну <strong>/var/named/etc/namedb/rndc.conf</strong>.</p>\n<p>Но если все работает - это хорошо :)</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:07d9bb844c75b8291c4b14c9e7cc8b5b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ceadea4e8442fabcd880b596db578395' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Это предупреждение сообщает нам что присутствует фаил /etc/namedb/rndc.key который нужно бы удалить/переназвать, вот и все</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:ceadea4e8442fabcd880b596db578395' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:1f1f4752903d5de88c7adfbbcd1c4f09' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Вопрос:</p>\n<p>Если сначала поднял бинд по этой статье, а потом добавил измения из статьи ddns+dhcp.</p>\n<p>#rndc-key controls {<br />\n# inet 127.0.0.1 port 953<br />\n# allow { 127.0.0.1; } keys { &quot;rndc-key&quot;; };<br />\n# };<br />\nостается ?</p>\n<p>или можно удалить и&nbsp; указать только ключ dhcp-key? &nbsp;</p>\n<p>То есть, если необходимость в прописывание двух ключей, если используешь&nbsp;ddns+dhcp, или достаточно одного&nbsp;dhcp-key?</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:1f1f4752903d5de88c7adfbbcd1c4f09' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:7572531ed38abb6ba736e85f667359ca' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p><strong>dhcp-key</strong> - ключ для работы в связке с DHCP-сервером.</p>\n<p><strong>rndc-key</strong> - ключ для работы в связке с утилитой rndc (name server control utility)</p>\n<p>&nbsp;</p>\n<p>Ключи работают в паре с разными приложениями. Для каждого приложения свой ключ.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:7572531ed38abb6ba736e85f667359ca' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:a6d0445fc44cf78452858c57c2fdc6ba' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>спасибо &nbsp;<img alt=\"\" src=\"http://muff.kiev.ua/modules/fckeditor/fckeditor/editor/images/smiley/msn/thumbs_up.gif\" />&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:a6d0445fc44cf78452858c57c2fdc6ba' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:8e4e4cfe8d8b92a45c48f701ec611878' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Пасибо за статью. Вопрос у меня,не скажете случайно за что отвечает ADDITIONAL SECTION и каким способом можно ей управлять ? До воли противоречивую информацию нахожу,хотелось бы разобраться.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:8e4e4cfe8d8b92a45c48f701ec611878' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:1ef23a88c182a6a385d4f85c7afcf098' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Выводится информация, какие ДНС-сервера были опрошены - ДНС-имена этих серверов и их&nbsp;IP-адреса сответственно.</p>\n<p>ДНС-сервера задаются при создании (либо модификации) домена.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:1ef23a88c182a6a385d4f85c7afcf098' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:f1d4861206a439055cf2677c7a13f454' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;а как быть с такой ситуацией когда доменное имя сайта зарегистрировано в на платном хостинге - и надо его перенести на сей сервер? под сервером я имел в виду тот сервер который стоит например у меня в оффиси (FreeBSD + Rial_IP)</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:f1d4861206a439055cf2677c7a13f454' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:39f1dcba9594d61c2462d12996686177' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Необходимо изменить нейм-сервера,&nbsp;воспользовавшись предоставляемыми хостером инструментами.</p>\n<p>Более подробоно - на <a href=\"http://forum.muff.kiev.ua\">форуме</a>.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:39f1dcba9594d61c2462d12996686177' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:1fab38f4d41141cdef949c73b4875c1d' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Доброго вечора.</p>\n<p>Підкажіть будьласка де я накосячив? Ключ генерував новий і скрізь перевірив на коректність, а ДНС так і не працює за rndc. Порт теж пересобирав.</p>\n<p>rndc reload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WARNING: key file (/etc/namedb/rndc.key) exists, but using default configuration file (/etc/namedb/rndc.conf)<br />\nrndc: connection to remote host closed<br />\nThis may indicate that<br />\n* the remote server is using an older version of the command protocol,<br />\n* this host is not authorized to connect,<br />\n* the clocks are not synchronized, or<br />\n* the key is invalid.</p>\n<p>І можна з вами спілкуватись через Skype, icq?</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:1fab38f4d41141cdef949c73b4875c1d' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:79beec2b79ee771f42f014f741318faa' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Доброго дня.</p>\n<p>&nbsp;</p>\n<p>В коментарях дане питання не вирішимо. Задавайте питання на <a href=\"http://forum.muff.kiev.ua/\">форумі</a> - спробую допомогти.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:79beec2b79ee771f42f014f741318faa' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:5e00c35fe238573087ad23523e75f166' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Проблема з реєстрацією на форумі. На мило не приходить лист з авторизацією<br />\n&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:5e00c35fe238573087ad23523e75f166' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:35d20c1e5919f7d592c7970907d1ad49' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Fix.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:35d20c1e5919f7d592c7970907d1ad49' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:f081a06404d54a6ba5590ee212efb56f' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>Ошибка!</p>\n<p>Перед тем как сможете войти, ваш e-mail должен быть проверен.</p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:f081a06404d54a6ba5590ee212efb56f' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767301851, expire = 1767388251, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

По умолчанию во FreeBSD используется одна из версий программы BIND (Berkeley Internet Name Domain), являющейся самой распространенной реализацией протокола DNS.

FreeBSD в настоящее время поставляется с сервером DNS BIND9, предоставляющим расширенные настройки безопасности, новую схему расположения файлов конфигурации и автоматические настройки для chroot. chroot-каталогом является /var/named, соответственно в конфигурационных файлах все пути будут относительно этого каталога. Исходя из вышесказаного:

# cd /var/named

 У нас уже есть пример конфигурационного файла. Сохраним его (на всякий случай), и создадим свой:

# mv etc/namedb/named.conf etc/namedb/named.conf.default
# touch etc/namedb/named.conf

Конфигурирование сервера я начинаю с настройки утилиты управления rndc.

Воспользуемся утилитой rndc-confgen для генерации конфигурационного файла rndc:

# rndc-confgen >> etc/namedb/rndc.conf

Посмотрим результат:

# cat etc/namedb/rndc.conf
 

# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "8moaOusPKbJDSaQjfvcrwA==";
};

options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "8moaOusPKbJDSaQjfvcrwA==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf

Берем из полученного файла необходимые данные для named.conf (отмечено, что эти строки необходимо вставить в named.conf). Потом добавляем остальные опции:

# cat etc/namedb/named.conf
 

# rndc
key "rndc-key" {
algorithm hmac-md5;
secret "8moaOusPKbJDSaQjfvcrwA==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# end rndc

// Назначаем access-листы (потом пригодится...)

acl "client" { 127.0.0.1; 195.3.159.250/32; };
acl "slave" { x.x.x.x/x; y.y.y.y/y; };

// Настраиваем логирование. Нужная штука ;)

logging {
channel my-default {
file "/log/named" versions 5 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel general {
file "/log/general" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel database {
file "/log/database" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel security {
file "/log/security" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel config {
file "/log/config" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel resolver {
file "/log/resolver" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel xfer-in {
file "/log/xfer-in" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel xfer-out {
file "/log/xfer-out" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel notify {
file "/log/notify" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};
channel client {
file "/log/client" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel unmatched {
file "/log/unmatched" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel network {
file "/log/network" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel update {
file "/log/update" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel queries {
file "/log/queries" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel dispatch {
file "/log/dispatch" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel dnssec {
file "/log/dnssec" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

channel lame-servers {
file "/log/lame-servers" versions 2 size 10m;
print-time yes;
print-category yes;
print-severity yes;
};

category default { my-default; };
category general { my-default; general; };
category database { my-default; database; };
category security { my-default; security; };
category config { my-default; config; };
category resolver { my-default; resolver; };
category xfer-in { my-default; xfer-in; };
category xfer-out { my-default; xfer-out; };
category notify { my-default; notify;};
category client { my-default; client;};
category unmatched { my-default; };
category network { my-default; network; };
category update { my-default; update; };
category queries { queries; };
category dispatch { my-default; dispatch; };
category dnssec { my-default; dnssec; };
category lame-servers { lame-servers; };
};
 

// теперь пошли опции

options {

// Указываем рабочую директорию
directory "/etc/namedb";

// Прячем имя сервера (повышаем безопасность)
hostname "DNS server";

// Разрешаем рекурсивные запросы
recursion yes;

// Указываем путь к pid-файлу. Проверьте на всякий случай путь.

// Используется для остановки/перезапуска DNS-сервера BIND
pid-file "/var/run/named/pid";

// Указываем путь к дампу
dump-file "/var/dump/named_dump.db";

// Прячем версию BIND (повышаем безопасность)
version "Unknown DNS";

// Чьи запросы будем обрабатывать
allow-query { "client"; };

// Кому разрешаем трансфер наших зон

allow-transfer { "slave"; };

// Указывае размер кеша
max-cache-size 52428800 ;

};
### END options

// Корневая зона.
zone "." {
    type hint;
    file "/etc/namedb/named.root"; 
 };

// Back Resolving для нас loopback
zone "0.0.127.in-addr.arpa" {
         type master;
         file "/etc/namedb/localhost.rev";
         notify no;
};

// Подключаем дополнительные конфигурационные фaйлы
// Рекомендую для каждой зоны свой. Проще потом конфиг найти, и не захаращиваем
// основной конфиг всякой лабудой. Думаю здесь все понятно...

include "/conf/kiev.ua";

// В этот файл больше не ничего не писать. Используйте include . Заканчиваем пустой строкой.
 

 Разберем конфигурационный файл более детально.

Сначала идут опции для работы утилиты rndc. Потом секция настройки access-листов. Рекомендую использовать именно access-листы, а не прописывать всюду айпишки и сети - удобней будет ;)

Далее идет настройка логов. Даннная секция настроена так, чтобы разные действия писались в разные файлы. Разберетесь что и куда, если будет такая необходимость ;)

Кстати, нужно создать эту самую папку для логов...

# mkdir log

Далее идет секция опций. Думаю здесь все понятно.

Потом идет описание зон. С корневой зоной проблем не должно возникнуть, поскольку на данный момент используется тип slave, и список TLD-серверов должен подтягиваться непосредственно к нам с корневого ДНС-сервера F.

Рассмотрим файл бек-резолвинга для loopback. В дистрибутиве уже идет готовый файл, но я по привычке создаю свой (тем более IPv6 я пока не использую). Создадим файл etc/namedb/localhost.rev

# touch etc/namedb/localhost.rev

Приведем localhost.rev к следующему виду:

# cat etc/namedb/localhost.rev

$TTL 3600
@     IN     SOA      muff.kiev.ua.     admin.muff.kiev.ua. (
                                                         2009082300 ; Serial
                                                         3600 ; Refresh
                                                         600 ; Retry
                                                         3600000 ; Expire
                                                         3600 ) ; Minimum

        IN     NS      muff.kiev.ua.
1      IN     PTR     localhost.muff.kiev.ua.

 

Рассматривать детально каждую опцию не буду. Этой информации достаточно в инете. Обращу внимание только на то, что все имена заканчиваются точкой, указывая что это уже корневой домен; запись admin.muff.kiev.ua - это почтовый адрес администратора домена, только "@" заменена на ".", поскольку "@" в даном случае имеет служебное значение.

 Далее прописываю какие еще файлы инклюдить в основной конфиг. Чтобы не путаться, все зоны свожу в дополнительные конфиги в алфавитном порядке. Приведу пример только с одним дополнительным конфигом "kiev.ua" (потом обычно их становится намного больше: com, com.ua, net, net.ua и т.д.).

Создаем каталог для дополнительных конфигурационных файлов и файл конфигурации для доменов вида *.kiev.ua:

# mkdir conf
# touch conf/kiev.ua

Теперь добавим поддержку домена muff.kiev.ua:

# cat conf/kiev.ua

zone "muff.kiev.ua" {
     type master;
     file "/zones/kiev.ua/muff.kiev.ua";
     allow-query {any ; };
     allow-transfer { "slave"; };
};

 Создадим необходимые каталоги и файл зоны muff.kiev.ua.

# mkdir -p zones/kiev.ua
# touch zones/kiev.ua/muff.kiev.ua

 Добавим необходимые записи в файл зоны muff.kiev.ua. Должно получиться примерно следующее:

# cat zones/kiev.ua/muff.kiev.ua

$TTL 86400
@    IN     SOA    ns.muff.kiev.ua. admin.muff.kiev.ua. (
                                                    2009082400 ; Serial
                                                    14400 ; Refresh
                                                    7200 ; Retry
                                                    3600000 ; Expire
                                                    86400 ) ; Minimum

 

@             IN      NS         ns.muff.kiev.ua.
@             IN      NS         ns2.muff.kiev.ua.

@             IN      MX  10  mail.muff.kiev.ua.
@             IN      MX  20  relay2.muff.kiev.ua.

 

@             IN      A          195.3.159.250
www        IN      A          195.3.159.250
mail          IN      A          193.227.206.56

relay2      IN      A           193.227.206.57
ns            IN      A           195.3.159.250

ns2          IN      A          193.227.206.50

 

Добавляем несколько строк для старта BIND в /etc/rc.conf:

# echo '### Domain Name Service' >> /etc/rc.conf
# echo 'named_enable="YES"' >> /etc/rc.conf
# echo 'named_flags="-u bind -c /etc/namedb/named.conf"' >> /etc/rc.conf

Поскольку BIND будет работать от имени пользователя bind, сделаем его владельцем каталогов и файлов:

# chown -R bind:wheel /var/named/log

Запускаем демон сервера доменных имен:

# sh /etc/rc.d/named start

Проверяем, запустился ли named:

# ps -ax | grep bind

39512 ?? Is 0:00,05 /usr/sbin/named -u bind -c /etc/namedb/named.conf -t /var/named -u bind

Все в норме, BIND запустился. Теперь проверим, как он будет отрабатывать наши запросы:

# dig A @127.0.0.1 mail.ru

; <<>> DiG 9.4.3-P3 <<>> A @127.0.0.1 mail.ru
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27003
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;mail.ru. IN A

;; ANSWER SECTION:
mail.ru. 60 IN A 217.69.128.43
mail.ru. 60 IN A 217.69.128.44
mail.ru. 60 IN A 217.69.128.41
mail.ru. 60 IN A 217.69.128.42

;; AUTHORITY SECTION:
mail.ru. 3600 IN NS ns.mail.ru.
mail.ru. 3600 IN NS ns1.mail.ru.
mail.ru. 3600 IN NS ns2.mail.ru.
mail.ru. 3600 IN NS ns4.mail.ru.
mail.ru. 3600 IN NS ns5.mail.ru.
mail.ru. 3600 IN NS ns3.mail.ru.

;; Query time: 162 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Aug 24 02:02:59 2009
;; MSG SIZE rcvd: 196

# dig A @127.0.0.1 muff.kiev.ua

; <<>> DiG 9.4.3-P3 <<>> A @127.0.0.1 muff.kiev.ua
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35632
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;muff.kiev.ua. IN A

;; ANSWER SECTION:
muff.kiev.ua. 86400 IN A 195.3.159.250

;; AUTHORITY SECTION:
muff.kiev.ua. 86400 IN NS ns.muff.kiev.ua.
muff.kiev.ua. 86400 IN NS ns2.muff.kiev.ua.

;; ADDITIONAL SECTION:
ns.muff.kiev.ua. 86400 IN A 195.3.159.250
ns2.muff.kiev.ua. 86400 IN A 193.227.206.50

;; Query time: 7 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Aug 24 02:02:49 2009
;; MSG SIZE rcvd: 113

Демон полноценно функционирует. Отдал запрошенные данные домена mail.ru и отдал запрошенные данные для поддерживаемого домена muff.kiev.ua.

 Проверям работу утилиты rndc (чтобы просмотреть допустимые ключи и опции - необходимо набрать команду без ключей)

# rndc status

number of zones: 15
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
 

# rndc reload
server reload successful

Теперь дело за малым - указать серверу, чтобы он свои dns-запросы обрабатывал самостоятельно. Изменяем опцию nameserver в файле /etc/resolv.conf на адрес loopback-интерфеса сервера:

# cat /etc/resolv.conf

domain muff.kiev.ua
nameserver 127.0.0.1

Поздравляю. Теперь у вас есть полноценный DNS-сервер на платформе BIND9.

Примечание

Любой файл зоны должен оканчиваться пустой строкой ! Иначе в логах вы будете видеть подобное:

# tail -f /var/named/log/general

24-Aug-2009 02:08:17.125 general: warning: /zones/kiev.ua/muff.kiev.ua:25: file does not end with newline

 

Ваша оценка: Нет Средняя: 4.5 (8 голосов)

Многоуважаемый подскажите где

Многоуважаемый подскажите где косяк

 

rndc reload

WARNING: key file (/etc/namedb/rndc.key) exists, but using default configuration                                               file (/etc/namedb/rndc.conf)

 

Некорректно сконфигурирована

Некорректно сконфигурирована утилита rndc.

Проверяйте корректность файлов rndc.key, rndc.conf и наличие раздела rndc в named.conf (и не забываем, что все пути относительно каталога /var/named)

Там всё в полном порядке.

Там всё в полном порядке. Просто в последнем бинде 9.7 видимо косяк. Сделал вот так

 

1. Stop named ('service named stop' or '/etc/rc.d/named stop')
2. rm /etc/rndc.conf
3. Start named ('service named start' or '/etc/rc.d/named start')
4. rndc status

 

Всё стало в шоколаде всё работает. ВАМ ОГРОМНОЕ СПАСИБО ЗА СТАТЬЮ.Хотелось бы что б вы побольше "жевали" для тцпых типо меня.С П А С И Б О !

М-м-м.... А почему

М-м-м.... А почему /etc/rndc.conf? Я же говорил про то, что пути относительны от /var/named.

Соответственно, полный путь к rndc.conf у мну /var/named/etc/namedb/rndc.conf.

Но если все работает - это хорошо :)

Это предупреждение сообщает

Это предупреждение сообщает нам что присутствует фаил /etc/namedb/rndc.key который нужно бы удалить/переназвать, вот и все

Вопрос: Если сначала поднял

Вопрос:

Если сначала поднял бинд по этой статье, а потом добавил измения из статьи ddns+dhcp.

#rndc-key controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
остается ?

или можно удалить и  указать только ключ dhcp-key?  

То есть, если необходимость в прописывание двух ключей, если используешь ddns+dhcp, или достаточно одного dhcp-key?

dhcp-key - ключ для работы в

dhcp-key - ключ для работы в связке с DHCP-сервером.

rndc-key - ключ для работы в связке с утилитой rndc (name server control utility)

 

Ключи работают в паре с разными приложениями. Для каждого приложения свой ключ.

спасибо   

спасибо   

Пасибо за статью. Вопрос у

Пасибо за статью. Вопрос у меня,не скажете случайно за что отвечает ADDITIONAL SECTION и каким способом можно ей управлять ? До воли противоречивую информацию нахожу,хотелось бы разобраться.

Выводится информация, какие

Выводится информация, какие ДНС-сервера были опрошены - ДНС-имена этих серверов и их IP-адреса сответственно.

ДНС-сервера задаются при создании (либо модификации) домена.

Re: Bind 9 - настройка DNS-сервера

 а как быть с такой ситуацией когда доменное имя сайта зарегистрировано в на платном хостинге - и надо его перенести на сей сервер? под сервером я имел в виду тот сервер который стоит например у меня в оффиси (FreeBSD + Rial_IP)

 

Re: Bind 9 - настройка DNS-сервера

Необходимо изменить нейм-сервера, воспользовавшись предоставляемыми хостером инструментами.

Более подробоно - на форуме.

Re: Bind 9 - настройка DNS-сервера

Доброго вечора.

Підкажіть будьласка де я накосячив? Ключ генерував новий і скрізь перевірив на коректність, а ДНС так і не працює за rndc. Порт теж пересобирав.

rndc reload                                      WARNING: key file (/etc/namedb/rndc.key) exists, but using default configuration file (/etc/namedb/rndc.conf)
rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not synchronized, or
* the key is invalid.

І можна з вами спілкуватись через Skype, icq?

Re: Bind 9 - настройка DNS-сервера

Доброго дня.

 

В коментарях дане питання не вирішимо. Задавайте питання на форумі - спробую допомогти.

Re: Bind 9 - настройка DNS-сервера

Проблема з реєстрацією на форумі. На мило не приходить лист з авторизацією
 

Re: Bind 9 - настройка DNS-сервера

Fix.

Re: Bind 9 - настройка DNS-сервера

 

Ошибка!

Перед тем как сможете войти, ваш e-mail должен быть проверен.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Кoмпьютер пoзвoляет решать все те прoблемы, кoтoрые дo изoбретения кoмпьютера не существoвали.