Назад | Перейти на главную страницу

Сервер Centos BIND: невозможно запустить named daemon

Я установил новый сервер Centos и установил на него утилиты bind и bind. Содержание /etc/named.conf является:

# create new
 options {
    directory "/var/named";
    allow-query { localhost; 10.1.2.0/24; };
    allow-transfer { localhost; 10.1.2.0/24; };
    recursion yes;
};
controls {
    inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
view "internal" {
    match-clients {
        localhost;
        10.1.2.0/24;
    };
    zone "." IN {
        type hint;
        file "named.ca";
    };
    zone "amadeus.netvision" IN {
        type master;
        file "amadeus.netvision.lan";
        allow-update { none; };
    };
    zone "0.0.10.in-addr.arpa" IN {
        type master;
        file "0.0.10.db";
        allow-update { none; };
    };
    zone "localdomain" IN {
        type master;
        file "localdomain.zone";
        allow-update { none; };
    };
    zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
    };
    zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
    };
    zone "255.in-addr.arpa" IN {
        type master;
        file "named.broadcast";
        allow-update { none; };
    };
    zone "0.in-addr.arpa" IN {
        type master;
        file "named.zero";
        allow-update { none; };
    };
};
view "external" {
    match-clients { any; };
    allow-query { any; };
    recursion no;
    zone "amadeus.netvision" IN {
        type master;
        file "amadeus.netvision.wan";
        allow-update { none; };
    };
};
include "/etc/rndc.key";

# allow-query ⇒ query range you permit
# allow-transfer ⇒ the range you permit to transfer zone info
# recursion ⇒ allow or not to search recursively
# view "internal" { *** }; ⇒ write for internal definition
# view "external" { *** }; ⇒ write for external definition
# For How to write for reverse resolving, Write network address reversely like below.
# 10.1.2.0/24
# network address⇒ 10.1.2.0
# range of network⇒ 10.1.2.0 - 10.0.0.255
# how to write⇒ 0.0.10.in-addr.arpa
# 172.16.0.80/29
# network address⇒ 172.16.0.80
# range of network⇒ 172.16.0.80 - 172.16.0.87
# how to write⇒ 80.0.16.172.in-addr.arpa

Когда я пытаюсь запустить названный демон, я получаю следующую ошибку:

[root@srv ~]# service named restart
Stopping named:                                            [  OK  ]
Starting named: 
Error in named configuration:
/etc/named.conf:9: unknown key 'rndckey'
                                                           [FAILED]
[root@srv ~]#

Я не понимаю, что делаю не так, я создал rndc.key следующей командой: rndc-confgen -a -c /etc/rndc.key и он создал ключ, но я все равно получаю ту же ошибку. Файл находится по правильному пути: /etc/rndc.key и он включен в /etc/named.conf файл.

Я только что испытал вышеуказанный симптом.

Хотя мой случай был немного другим, и это не точный ответ на поставленный выше вопрос, надеюсь, это может кому-то помочь ...

В моем случае я указал ключ внутри блока параметров, который неверен.

В ключ оператор должен быть определен вне любого другого оператора (например, блока операторов параметров) в named.conf файл конфигурации.

т.е. следующее неверный:

options {
    ...
    include "/etc/rndc.key";
};

Верно следующее:

options {
    ...
};        
include "/etc/rndc.key";

Проверить файл /etc/rndc.key и посмотрите, какое имя у ключа. Например:

key "rndc-key" {

Это имя должно быть указано в named.conf

keys { rndc-key; };