Задача – поднять службу dns на CentOS 5.2.
В качестве DNS службы будем использовать
BIND (Berkeley Internet Name Domain, до этого: Berkeley Internet Name Daemon) — открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая выполнение преобразования DNS-имени в IP-адрес и наоборот.
Служба будет работать в нерекурсивном режиме (forward only).
Для настройки выполняем последовательность действий:
1. Устанавливаем DNS службу:
yum install bind2. Генерим код
rndc командой
rndc-confgenВ результате получаем файл с кодом
/etc/rndc.conf3. Прописываем зоны
/var/named/localhost.rev :$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
/var/named/localhost.zone :$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1
4. Создаем файл
/etc/named.conf (если днс установлен не в chroot - иначе все файлы ищем в "песочнице")
include "/etc/rndc.key"; // включаем в текущий файл ключ rndc
acl "lan" {
127.0.0.1;
192.168.0.0/24;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndckey"; };
};
logging
{
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
options
{
directory "/var/named"; // the default
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
version "no camment";
memstatistics-file "data/named_mem_stats.txt";
forward only;
forwarders { 200.5.5.1; 200.5.5.254; };
allow-recursion {
lan;
};
allow-query {
lan;
};
};
view "localhost"
{
match-clients { lan; };
match-destinations { lan; };
recursion yes;
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "localhost.rev";
};
};
В секции forwarders нужно прописать списки доступных внешних DNS, которые отвечают на запросы (в примере - 200.5.5.1 и 200.5.5.254).
5. Создаем файл
/etc/rndc.conf:
include "/etc/rndc.key";
options {
default-server 127.0.0.1;
default-key "rndckey";
};
server localhost {
key "rndckey";
};
6. Запускаем службу:
service named startЕсли стартовал без ошибок – cool
7. Проверяем
rndc status[root@server]# rndc status
number of zones: 2
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/1000
tcp clients: 0/100
server is up and running
Так зоны есть. Вторая проверка:
[root@server etc]# host ya.ru
ya.ru has address 213.180.204.8
ya.ru mail is handled by 10 mx2.yandex.ru.
ya.ru mail is handled by 10 mx3.yandex.ru.
ya.ru mail is handled by 10 mx1.yandex.ru.
Работает.
8. Настроим логи.
В файле
/etc/named.conf исправляем раздел
logging. Например так:
logging {
channel default_log {
file "/var/log/dns.log" versions 5 size 20m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
channel more_log {
file "/var/log/dns_more.log" versions 5 size 10m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
category default { default_log; };
category general { default_log; };
category config { default_log; };
category queries { default_log; };
category xfer-in { default_log; };
category xfer-out { default_log; };
category security { more_log; };
category resolver { more_log; };
category notify { more_log; };
category client { more_log; };
category unmatched { more_log; };
category default { more_log; };
category database { more_log; };
category update { more_log; };
};
Done
Группа: Гости
Регистрация: --
Статус: