У меня есть Setup A Bind DNS, где я пытаюсь поместить запись для разрешения короткого имени. Это разрешается, но занимает слишком много времени, и иногда DNS выходит из строя. Краткое имя - s3.ngsfdellpe.
Записи из named.conf
options {
listen-on port 53 { 127.0.0.1;10.209.194.15; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query {any;};
allow-recursion {any;};
//recursion no;
//dnssec-enable yes;
//dnssec-validation yes;
//dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone"vxctf8500.com" IN {
type master;
file "forward.vxctf8500.com";
allow-update { none; };
};
zone"106.209.10.in-addr.arpa" IN {
type master;
file "reverse.vxctf8500.com";
allow-update { none; };
};
Файлы прямых зон:
$TTL 1D
@ IN SOA ns1.vxctf8500.com. root.vxctf8500.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS vxctf8500.com.
IN A 10.209.194.15
ns1 IN A 10.209.194.15
s3.ngsfdellpe IN A 10.209.106.59
s3.ngsfdellpe IN A 10.209.106.53
s3.ngsfdellpe IN A 10.209.106.54
s3.ngsfdellpe IN A 10.209.106.55
s3.ngsfdellpe IN A 10.209.106.56
Файлы обратной зоны:
$TTL 1D
@ IN SOA ns1.vxctf8500.com. root.vxctf8500.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS vxctf8500.com.
15 IN PTR ns1.vxctf8500.com.
59 IN PTR s3.ngsfdellpe.
53 IN PTR s3.ngsfdellpe.
54 IN PTR s3.ngsfdellpe.
55 IN PTR s3.ngsfdellpe.
56 IN PTR s3.ngsfdellpe.
Не могли бы вы привести пример (команда / вывод) как вы пытаетесь разрешить имя, а также содержимое /etc/resolv.conf
на машине, на которой вы это тестируете.
Конечная точка в файле reverse-zonefile указывает, что имя LHS является полным доменным именем, но на самом деле это не так, поэтому ваши обратные записи должны выглядеть так:
59 IN PTR s3.ngsfdellpe.vxctf8500.com.
Разрешение «короткого имени» не имеет ничего общего с тем, как вы настраиваете авторитетный DNS, это зависит только от клиента (например, search
или domain
директива в /etc/resolv.conf
в Linux), как с этим справиться, и добавьте суффикс к имени перед выполнением фактического поиска в DNS.
Как сказал powo в своем ответе, это, скорее всего, артефакт вашего /etc/resolv.conf
конфигурация. Общее правило заключается в том, что чем больше у вас доменов поиска, тем дольше будет выполняться поиск DNS, чтобы завершиться сбоем, когда серверы недоступны.
Предполагая, что модуль nss_dns в glibc, формула максимального времени до отказа при поиске, который не заканчивается на .
будет выглядеть примерно так:
(w + 1) xyz
search
определены домены. Невозможно опуститься ниже 1, если полное доменное имя сервера не имеет доменного компонента. (или вы устанавливаете эквивалент, domain .
)timeout:x
(по умолчанию 5), как определено в /etc/resolv.conf
.attempts:y
(по умолчанию 2), как определено в /etc/resolv.conf
.nameserver
записи в /etc/resolv.conf
которые не отвечают во время поиска DNS. Учитываются только первые три записи, поэтому это всегда число от 0 до 3.Предпочтительное решение - убедиться, что ваши DNS-серверы всегда отвечают, при необходимости используя балансировщик нагрузки. В сценариях, где это невозможно, следует отметить, что количество поисковых доменов (Икс) имеет экспоненциальное влияние на то, как долго ваши DNS-запросы завершатся ошибкой.
(Да, ndots
будет иметь влияние и на это, но это становится педантично.)