3

Я работаю над centos6.5 и bind9, и мне удалось добавить записи в зону DNS, выполнив следующие действия:

Создание ключа:

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com.

редактирование конф. файл:

// TSIG Key
key "example.com." {
 algorithm hmac-md5;
 secret "THE KEY GENERATED ABOVE";
}; 

zone "example.com" IN {
 type master;
 file "example.com.zone";
 allow-update{ key "example.com."; };
};

предоставьте именованную авторизацию папке /var /named:

# chown -R named:named /var/named
# find . -type d -exec chmod 770 {} \;
# find . -type f -exec chmod 660 {} \;

Я добавляю записи, используя этот скрипт:

#!/bin/bash
#Defining Variables
DNS_SERVER="localhost"
DNS_ZONE="example.com."
USER_NAME="dd2.example.com."
IP="192.168.1.7"
TTL="60"
RECORD=" $USER_NAME $TTL A $IP"
echo "
server $DNS_SERVER
zone $DNS_ZONE
debug
update add $RECORD
show
send" | nsupdate -k Kexample.com.+157+55566.key

это не вернуло никакой ошибки.

Я проверяю, добавляю ли я эту запись с помощью команды dig:

#dig +short dd2.example.com.
192.168.1.7

но проблема в том, что добавленная запись не отображается в файле зоны «example.com.zone»:

$ORIGIN .
$TTL 86400  ; 1 day
example.com     IN SOA  dns.exaple.com. hostmaster.example.com. (
        2001062504 ; serial
        21600      ; refresh (6 hours)
        3600       ; retry (1 hour)
        604800     ; expire (1 week)
        86400      ; minimum (1 day)
        )
    NS  dns.example.com.
    A   192.168.1.2
    MX  10 mail.example.com.
$ORIGIN example.com.
$TTL 86400  ; 1 day
ex1         A   192.168.1.2
ex2         A   192.168.1.2
ex3         A   192.168.1.3
ex4         A   192.168.1.4

но когда я перезагружаю именованную службу: service named restart запись появляется в файле зоны:

$ORIGIN .
$TTL 86400  ; 1 day
example.com     IN SOA  dns.example.com. hostmaster.example.com. (
        2001062504 ; serial
        21600      ; refresh (6 hours)
        3600       ; retry (1 hour)
        604800     ; expire (1 week)
        86400      ; minimum (1 day)
        )
    NS  dns.example.com.
    A   192.168.1.2
    MX  10 mail.example.com.
 $ORIGIN example.com.
 $TTL 60 ; 1 minute
 dd2         A   192.168.1.7
 $TTL 86400  ; 1 day
 ex1         A   192.168.1.2
 ex2         A   192.168.1.2
 ex3         A   192.168.1.3
 ex4         A   192.168.1.4

мой вопрос:

Это способ добавить запись в файл зоны без перезапуска указанной службы?

ПРИМЕЧАНИЕ: перезагрузка rndc MYZONE или перезагрузка rndc не работает

это то, что случилось, когда я использую перезагрузить

[root@dd Shells]# rndc reload example.com. rndc: 'reload' failed: dynamic zone

2 ответа2

4

Я нашел ответ:

Моя проблема заключалась в том, что BIND не rndc reload zone с динамическими зонами, поэтому BIND не позволит нам перезагрузить динамическую зону. Поэтому мы должны указать bind временно прекратить разрешать динамические обновления. Это обрабатывается с помощью опции замораживания.

rndc freeze example.com

затем перезагрузка

rndc reload example.com  

затем снова разрешить динамическое обновление:

rndc thaw example.com
0

Вы пробовали /etc/init.d/named reload?

Кроме того, почему rndc reload <namezone> не работает? Вы получили ошибку? Попробуйте изменить свой "серийный номер" на текущую дату и версию и перезапустите rndc reload .

Вы также можете попробовать rndc flush перед перезагрузкой зоны.

Надеюсь это поможет!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .