Xgu.ru теперь в Контакте  — приходите и подключайтесь.
Пока мы работаем над следующими видео, вы можете подключиться в Контакте. Познакомимся и обсудим новые страницы и ролики.

Vk-big.pngYoutube-big.jpeg

Настройка DNS-сервера BIND

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Сергей Черепенин
Короткий URL: bind


На этой странице описывается процедура инсталляции и настройки DNS-сервера BIND для работы в режиме кэширующего и авторитетного сервера доменных имён.


Содержание

[править] Инсталляция DNS-сервера BIND

Установка сервера в Debian / Ubuntu:

 %# apt-get install bind9

[править] Начальное конфигурирование DNS-сервера

После установки сервера необходимо указать некоторые параметры для работы сервера. Это делается путем редактирования определенных директив в файле /etc/bind/named.conf.options:

options {

        directory "/var/cache/bind";

        forwarders {
                10.0.35.1;
                10.0.17.1;
                10.0.1.2;
         };

        listen-on { 
                192.168.15.180; 
                127.0.0.1;
         };
  
         auth-nxdomain no;    # conform to RFC1035
};

Директива directory указывает на расположение в дереве каталогов временных файлов сервера.

Директива forwarders - на какие серверы пересылать запрос, если наш сервер сам не в состоянии определить имя или IP-адрес запроса клиентов.

Директива listen-on указывает на каких интерфейсах вести прослушивание 53 порта.

[править] Запуск DNS-сервера

После редактирования этого файла необходимо рестартовать сервер:

%# /etc/init.d/bind9 restart
Stopping domain name service...: bind.
Starting domain name service...: bind.


И проверяем:

%# netstat -lnp | grep :53
tcp        0      0 192.168.15.180:53       0.0.0.0:*               LISTEN     31290/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     31290/named         
udp        0      0 192.168.15.180:53       0.0.0.0:*                          31290/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                          31290/named         

[править] Настройка DNS-сервера для работы в режиме авторитетного сервера

Далее необходимо указать в основном конфигурационном файле сервера /etc/bind/named.conf.local имена файлов, в которых мы далее опишем зоны для прямого и обратного преобразований. Добавляем следующие строки в этот файл:

zone "unix.nt" {
        type master;
        file "/etc/bind/db.unix.nt";
        allow-transfer { 127.0.0.1; };
};

zone "15.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.rev_unix.nt";
        allow-transfer { 127.0.0.1; };
};

Файл /etc/bind/db.unix.nt служит для описания зоны прямого преобразования, а файл /etc/bind/db.rev_unix.nt - для обратного

Содержание файла /etc/bind/db.unix.nt:

$TTL 3000h
@ SOA unix.nt. user.host180.unix.nt. 2007012000 (
                                                10h ; slave-server connection preiod
                                                1h  ; retry
                                                1w  ; lifetime
                                                1h ); negative ttl

        NS @ 

host1.unix.nt. A 192.168.15.1
host2.unix.nt. A 192.168.15.2
host3.unix.nt. A 192.168.15.3
host4.unix.nt. A 192.168.15.4
host5.unix.nt. A 192.168.15.5
host6.unix.nt. A 192.168.15.6
host7.unix.nt. A 192.168.15.7
host8.unix.nt. A 192.168.15.8
host9.unix.nt. A 192.168.15.9
host10.unix.nt. A 192.168.15.10
host11.unix.nt. A 192.168.15.11
.
.
.

host251.unix.nt. A 192.168.15.251
host252.unix.nt. A 192.168.15.252
host253.unix.nt. A 192.168.15.253
host254.unix.nt. A 192.168.15.254

Содержание файла /etc/bind/db.rev_unix.nt:

15.168.192.in-addr.arpa. 10800 IN SOA unix.nt. user.host180.unix.nt. 2007012001 (
                                                10h  ; slave-server connection period
                                                1h   ; retry
                                                1w   ; life-time
                                                1h ) ; negative ttl

                NS host180.unix.nt.

1 PTR host1.unix.nt.
2 PTR host2.unix.nt.
3 PTR host3.unix.nt.
4 PTR host4.unix.nt.
5 PTR host5.unix.nt.
6 PTR host6.unix.nt.
7 PTR host7.unix.nt.
8 PTR host8.unix.nt.
9 PTR host9.unix.nt.
10 PTR host10.unix.nt.
11 PTR host11.unix.nt.
.
.
.
250 PTR host250.unix.nt.
251 PTR host251.unix.nt.
252 PTR host252.unix.nt.
253 PTR host253.unix.nt.
254 PTR host254.unix.nt.

Примечание: для быстрого описания всей зоны (254 хоста) можно дать команду в vim:

-- для прямой зоны:

:r! for i in `seq 1 254`;do echo host$i.unix.nt. A 192.168.15.$i; done

-- для обратной зоны:

:r! for i in `seq 1 254`;do echo $i PTR host$i.unix.nt. ; done

Другой вариант - использование директивы $GENERATE

$ORIGIN 15.168.192.in-addr.arpa.
$GENERATE 0-255 $.0 PTR host$.unix.net.

для реверсной зоны и аналогично для прямой зоны

$ORIGIN unix.net.
$GENERATE 0-255 host$ A 192.168.15.$


Рестартуем сервер:

%# rndc reload
server reload successful

И проверим:

%# host 192.168.15.190
190.15.168.192.in-addr.arpa domain name pointer host190.unix.nt.

%# host  host190.unix.nt
host190.unix.nt has address 192.168.15.190

[править] Настройка резолвера DNS

Резолвер (resolver) -- клиентская библиотека DNS, которая используется всеми программами Unix/Linux, которым нужен доступ к доменной системе имён.

Итак, прямое и обратное преобразование работает. На этом настройка DNS сервера завершена. Необходимо только указать операционной системе использовать только что сконфигурированный сервер. Делается это через файл /etc/resolv.conf:

%# cat /etc/resolv.conf 

search unix.nt
nameserver 127.0.0.1
nameserver 10.0.35.1

[править] Клиенты DNS. Программа dig

Эти темы не раскрыты: Клиенты DNS. Программа dig

dig — программа, предназначенная для получения информации из DNS. Пришла на смену устаревшей программе nslookup.

Пример использования команды dig:

$ dig mail.ru mx

; <<>> DiG 9.7.0 <<>> mail.ru mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4337
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 1

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

;; ANSWER SECTION:
mail.ru.		3471	IN	MX	10 mxs.mail.ru.

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

;; ADDITIONAL SECTION:
mxs.mail.ru.		3471	IN	A	94.100.176.20

;; Query time: 3 msec
;; SERVER: 10.0.35.1#53(10.0.35.1)
;; WHEN: Sat Mar 20 16:14:30 2010
;; MSG SIZE  rcvd: 168

[править] Обратное преобразование имён

Эти темы не раскрыты: Обратное преобразование имён.

[править] DNS и DHCP: Динамическое обновление

Эти темы не раскрыты: Динамическое обновление.

[править] BIND в качестве DNS в AD

Эти темы не раскрыты: Динамическое обновление.

[править] Дополнительная информация

[править] Материалы по DNS на xgu.ru