Обновил я систему до 7.2 и тут у меня вылез маленький бок, хотя я мержил все как положено и само собой бекапил конфиги. А в чем прикол, то? Версии BINDA разные. Ну и ладно, дело то поправимое..
Приступим к настройке нашего свежего binda.
В связи с тем что директория /etc/namedb на самом деле симлинк с /var/named, заходим сразу в /var/named:
pin# cd /var/named
смотрим что у нас лежит здесь и если мы еще не правили эти файлы, то на всякий случай делаем бекап с них, и создаем рабочие файлы:
pin# ls
named.conf
named.root
pin# mkdir etc/namedb/backFiles
pin# mv etc/namedb/named.conf etc/namedb/backFiles/named.conf.default
pin# touch etc/namedb/backFiles/named.conf
Первым делом настроем утилиту управления rndc, для этого создадим файл ключа. После чего воспользуемся утилитой rndc-confgen для создания конфигурационного файла rndc:
pin# touch etc/namedb/rndc.key
pin# rndc-confgen >> etc/namedb/rndc.conf
смотрим что получилось:
pin# cat etc/namedb/rndc.conf
# Start of rndc.conf
key «rndc-key» {
algorithm hmac-md5;
secret «JHSlkhv98+43KLJH83A-dw==»;
};
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 «JHSlkhv98+43KLJH83A-dw==»;
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { «rndc-key»; };
# };
# End of named.conf
В файле все ясно расписано, кукую куда секцию поместить, делаем:
pin# cat etc/namedb/rndc.key
key «rndc-key» {
algorithm hmac-md5;
secret «JHSlkhv98+43KLJH83A-dw==»;
};
pin# cat etc/namedb/named.conf
# rndc
key «rndc-key» {
algorithm hmac-md5;
secret «JHSlkhv98+43KLJH83A-dw==»;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { «rndc-key»; };
};
# end rndc
Далее, приступаем к конфигурированию etc/namedb/named.conf, в который добавляем алиасы, зоны, трансферы и прочее.. В результате этот файл должен иметь примерно такой вид (не считая уже выше написанного):
pin# cat etc/namedb/named.conf
// Назначаем access-листы (client — клиенты в подсетях, slave — вторичные сервера)
acl «client» { 127.0.0.1; 193.5.46.0/32; 10.10.0.0/16; 192.168.0.0/16 };
acl «slave» { x.x.x.x/x; y.y.y.y/y; };
// Настраиваем логирование.
logging {
channel my-default {
file «/var/log/named»;
print-time yes;
print-category yes;
print-severity yes;
};
/*
Здесь можно более детально описать логирование, вплоть до каждого клиентского запроса, для детализации, используем в консоли pin# man named.conf и смотрим /log — там очень хорошие примеры.
*/
};
// дальше опции binda
options {
// Рабочая директория
directory «/etc/namedb»;
// Прячем имя сервера
hostname «DNS_server»;
// Рекурсивные запросы
recursion yes;
// Путь к pid-файлу, используется для остановки/перезапуска BIND-сервера
pid-file «/var/run/named/pid»;
// Указываем путь к дампу
dump-file «/var/db/dump/named_dump.db»;
// Прячем версию BINDа
version «BIND from dns_server»;
// Какие запросы обрабатывать
allow-query { «client»; };
// Кому разрешаем трансфер зон
allow-transfer { «slave»; };
// Указывае размер кеша
max-cache-size 52428800 ;
};
### END options
// Теперь самое интересное 😉
// Раньше, корневая зона всегда была типом hint, и при этом увеличивалась нагрузка на корневые
// сервера. И поэтому с неких пор рекомендуют сменить ее тип, тем самым ослабляя нагрузку на
// корневые сервера. Поэтому приведем к такому виду.
zone «.» {
type slave;
file «slave/root.slave»;
masters {
192.5.5.241; // F.ROOT-SERVERS.NET.
};
notify no;
};
// Back Resolving для нас loopback
zone «0.0.127.in-addr.arpa» {
type master;
file «/etc/namedb/localhost.rev»;
notify no;
};
// Подключаем дополнительные конфигурационные фaйлы, рекомендую для каждой зоны свой,
// упрощая тем самым в дальнейшем отладку и управление зонами.
include «/config/domain.com»;
// Используем include, для добавления конфигов зон
Создадим недостающие директории, если их нет и дадим им соответствующие права:
pin# mkdir /var/log/named
pin# mkdir /var/dump/
pin# chown -R bind:wheel /var/log/named
pin# chown -R bind:wheel /var/dump/
Создаем файл etc/namedb/localhost.rev:
pin# touch etc/namedb/localhost.rev
Приведем его примерно к такому виду:
pin# cat etc/namedb/localhost.rev
$TTL 3600
@ IN SOA domain.com. admin.domain.com. (
2009092800 ; Serial
3600 ; Refresh
600 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS domain.com.
1 IN PTR localhost.domain.com.
Создаем каталог для дополнительных конфигурационных файлов и файл конфигурации для доменов зон *.domain.com:
pin# mkdir config
pin# touch config/domain.com
zone «domain.com» {
type master;
file «master/domain.com»;
allow-query {any ; };
allow-transfer { «slave»; };
};
Создадим необходимые каталоги и файл зоны domain.com
pin# mkdir -p master
pin# touch master/domain.com
Отредактируем файл зоны и приведем примерно к такому виду:
pin# cat master/domain.com
$TTL 86400
@ IN SOA ns.domain.com. admin.ns.domain.com. (
2009092700 ; Serial
14400 ; Refresh
7200 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS ns.domain.com.
@ IN NS ns2.domain.com.
@ IN MX 10 mail..domain.com.
@ IN MX 20 m_relay.domain.com.
@ IN A 193.5.46.42
www IN A 193.5.48.17
mail IN A 193.5.46.252
m_relay IN A 77.15.48.13
ns IN A 193.5.46.42
ns2 IN A 77.15.48.13
Добавляем такие строки в /etc/rc.conf, для старта BIND:
pin# echo ‘### Domain Name System’ >> /etc/rc.conf
pin# echo ‘named_enable=»YES»‘ >> /etc/rc.conf
pin# echo ‘named_flags=»-u bind -c /etc/namedb/named.conf»‘ >> /etc/rc.conf
Перепроверим, что бы ничего никуда не уползло 😉
pin# cat /etc/rc.conf
Если все ок:
pin# chown -R bind:wheel /var/named
Стартуем наш BIND:
pin# sh /etc/rc.d/named start
Проверяем наличие демона в фоне:
pin# ps ax | grep bind
762 ?? Ss 1:05.26 /usr/sbin/named -u bind
Висит, теперь проверим как он обрабатывает наши запросы:
pin# dig A @127.0.0.1 mail.ru
pin# dig A @127.0.0.1 domain.com
Ответы есть, и причем положительные, значит все good 🙂
Теперь проверим как работает утилита rndc:
pin# rndc status
number of zones: 22
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
pin# rndc reload
server reload successful
В общем, все супер, теперь ткнем носом наш сервер на наш BIND.
pin# cat /etc/resolv.conf
domain domain.com
nameserver 127.0.0.1
Ну вот и все, наслаждаемся работой нашего bind 9 😉
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел