DNS ( Domain Name System — система доменных имён) - компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), а так же получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Заменяет введенное человеком буквенное имя (которое проще запоминается) на IP-адрес, а так же обязательное условие для виртуальных веб-серверов.


Как сбросить кеш

В Windows в командной строке нужно задать команду

ipconfig /flushdns

В Linux кеш DNS отсутствует, в нем нет необходимости.

Простая настройка DNS на Bind

Простейшая установка DNS, на случай быстрого поднятия сервиса. Все действия сводятся к установке нужных пакетов и записи файлов конфигурации.

Устанавливаем пакет bind

yum install bind bind-chroot

Задаем конфигурации:

файл named.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 options {
         recursion no;
         allow-transfer {
                 none;
                 };
         directory "/etc";
         pid-file "/var/run/named/named.pid";
         };
 
 zone "." {
         type hint;
         file "/etc/db.cache";
         };
 
 zone "wikiadmin.net" {
         type master;
         file "/var/named/wikiadmin.net.hosts";
         };
 
 zone "0.168.192.in-addr.arpa" {
         type master;
         file "/var/named/0.168.192.hosts";
         }; 
 
 logging {
     channel query_log {
         file "/var/log/named.log";
         severity dynamic;
         print-time yes;
     };
     channel main {
         file "/var/log/named.log";
         severity info;
         print-time yes;
         print-category yes;
         print-severity yes;
     };
     category queries { query_log; };
     category xfer-in { main; };
     category xfer-out { main; };
     category security { main; };
     category resolver { main; };
     category client { main; };
     category unmatched { main; };
     category database { main; };
 };

В конце файла обязательно стоит оставить пустую строку, иначе будет выскакивать ошибка!

Файл /var/named/wikiadmin.net.hosts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 $ttl 1800
 wikiadmin.net.   IN      SOA     ns1.wikiadmin.net. admin.wikiadmin.net. (
                         1263200764
                         1800
                         1800
                         604800
                         1800 ) 
 
                         IN      NS      ns1
                         IN      NS      ns2
                         IN      MX      10      mail
 *                       IN      A       192.168.0.1
 mail.wikiadmin.net.      IN      A       192.168.0.1
 www.wikiadmin.net.       IN      CNAME   wikiadmin.net.

1263200764 - сменить!

Файл /var/named/0.168.192.hosts

Так называемая “обратная зона”. Число в начале строк - это последнее значение IP

1
2
3
4
5
6
7
8
9
10
11
12
 $TTL 3600
 @       IN      SOA     ns1.wikiadmin.net. root.wikiadmin.net. (
                         1261986020
                         10800
                         3600
                         604800
                         38400 )
         IN      NS      ns1.wikiadmin.net.
         IN      NS      ns2.wikiadmin.net. 
 
 1     IN      PTR     wikiadmin.net.
 2     IN      PTR     wikiadmin.net.

1261986020 - сменить!

Теперь реальные [IP] можно указать регистратору домена как ns1 и ns2 и самим управлять своим доменом как будет угодно.

Как отключить логирование запросов

Добавьте channel null и укажите category queries скидывать туда логи. Например, получается такая секция logging

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 logging {
    channel null {
        null;
        };
    channel main {
        file "/var/log/named.log";
        severity critical;
        print-time yes;
        print-category yes;
        print-severity yes;
    };
    category queries { null; };
    category xfer-in { main; };
    category xfer-out { main; };
    category security { main; };
    category resolver { main; };
    category client { main; };
    category unmatched { main; };
    category database { main; };
 };

Как отключить работу Bind9 на IPv6

Итак, отдаём команду:

netstat -antpu | grep named

И видим среди нескольких строчек следующую:

tcp6 0 0 ::1:953 :::* LISTEN 22193/named

Если у вас IPv6 не подключен, то оно вам не очень и нужно. Давайте отключим прослушку для IPv4 на 953 порту.

Зайдите в ‘’‘/etc/default/bind9’‘’

Исправьте строчку OPTIONS=“-u bind” на OPTIONS=“‘’‘-4’‘’ -u bind”

Перезапустите сервис ‘’‘/etc/init.d/bind9 restart’‘’

Проверяем:

netstat -antpu | grep named

Получаем:

tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 22245/named

Все, tcp6 как не было.