Slave DNS (BIND / NAMED) на CentOS 7 Linux

В следующем сообщении в блоге мы рассмотрим шаги по установке и настройке сервера Slave DNS (BIND / NAMED) на CentOS 7 Linux. Имейте в виду, что у вас должен быть рабочий Master DNS-сервер, прежде чем вы сможете использовать подчиненный DNS-сервер. Вы можете использовать следующую статью о том, как установить и настроить Master DNS-сервер (BIND / NAMED) на CentOS 7.

Что такое DNS-сервер?
Подчиненный DNS-сервер — это DNS-сервер, который может получать передачу зон с серверов основных DNS-серверов.
Он поддерживает каталог / запись доменных имен и переводит их в адреса протокола Интернета (IP).
Это необходимо, потому что, хотя имена доменов легко запоминаются, компьютеры или компьютеры получают доступ к веб-сайтам на основе IP-адресов.

ЧТО ТАКОЕ BIND / NAMED?
Это наиболее широко используемое программное обеспечение для доменных имен (DNS) в Интернете. В Unix-подобных операционных системах это стандартная программа де-факто, используемая для DNS.

ОБНОВЛЕНИЕ  CENTOS
Прежде чем приступать к установке и настройке сервера Slave DNS (BIND / NAMED), убедитесь, что  сервер CentOS 7 полностью обновлен, выполнив следующую команду yum:

1
yum update

УСТАНОВИТЕ BIND/NAMED ПАКЕТ
Как только ваша система CentOS 7 будет обновлена, приступайте к установке пакета bind. Вы можете установить его с помощью yum

1
yum install bind

КОНФИГУРАЦИЯ СЕРВЕРА DNS
Следующий шаг — фактически настроить DNS-сервер для работы в качестве основного (первичного) DNS. Прежде всего, создайте резервную копию исходного файла конфигурации, используя:

1
mv /etc/named.conf{,.bak}

Затем создайте следующий конфигурационный файл подчиненного DNS в файле /etc/named.conf
Убедитесь, что вы заменили 1.2.3.4 на ваш IP-адрес Master DNS-сервера.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
* specify master.
*/
masters "master" {
        1.2.3.4;
};
acl "master" {
        1.2.3.4;
};

/*
* specify slaves.
*/
acl "slaves" {

};

/*
* You might put in here some ips which are allowed to use the cache or
* recursive queries
*/
acl "trusted" {
        127.0.0.0/8;
};

options {
        directory "/var/named";
        pid-file "/run/named/named.pid";
       
        listen-on-v6 { none; };
        listen-on { any; };

        version "SLAVE DNS IT-SVC.COM.UA";
        hostname none;
        server-id none;

        /*
         * Accept queries from our "trusted" ACL. We will
         * allow anyone to query our master zones below.
         * This prevents us from becoming a free DNS server
         * to the masses.
         */
        allow-query {
                trusted;
        };

        /* Use the cache for the "trusted" ACL. */
        allow-query-cache {
                trusted;
        };

        /* Only trusted addresses are allowed to use recursion. */
        allow-recursion {
                trusted;
        };

        /* Zone tranfers are denied by default. */
        allow-transfer {
                none;
        };

        /* Don't allow updates, e.g. via nsupdate. */
        allow-update {
                none;
        };

        /* if you have problems and are behind a firewall: */
        //query-source address * port 53;

        dnssec-validation auto;
        auth-nxdomain no; # conform to RFC1035

        // forwarders {
        // 0.0.0.0;
        // };
};
zone it-svc.com.ua" {
    type slave;
    file "/var/named/it-svc.com.ua.db";
    masters { master; };
    allow-transfer { master; };
    allow-query { any; };
};

Затем перезапустите DNS-сервер, чтобы изменения вступили в силу, и добавьте их к запуску вашего сервера:

1
2
systemctl restart named
systemctl enable named