Может ли Bind вернуть IP-адрес записи CNAME для внешнего хоста на официальном сервере?

502
John Malia

Я использую BIND 9.9.4 в конфигурации master / slave на Redhat 7.4 с chroot. Серверы установлены с "рекурсией нет;" опция в файле named.conf. У меня есть запись в одном из моих файлов зоны:

test IN CNAME server.outsidedomain.com. 

Когда я запрашиваю у dns-сервера test.mydomain.com, я бы хотел, чтобы он возвращал IP-адрес server.outsidedomain.com, но не «рекурсировал» другие поиски (на самом деле у меня есть несколько записей CNAME, которые ссылаются на хосты за пределами моего домен).

Фрагмент файла зоны: (очищенный)

$TTL 3h @ IN SOA ns01.mydomain.com. admin.mydomain.com. ( 2018032007 ; serial number 2h ; refresh 1h ; retry 4d ; expire 1d ; default TTL )  @ NS ns01.mydomain.com. @ NS ns02.mydomain.com.  test CNAME server.outsidedomain.com. 

фрагмент named.conf: (очищенный)

options { listen-on port 53 { any; }; 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-query-cache { 1.1.1.2; }; allow-transfer { key "ns02.mydomain.com"; };  recursion no;  dnssec-enable yes; dnssec-lookaside auto; dnssec-validation yes;  /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key";  managed-keys-directory "/var/named/dynamic";  pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key";  version "Unavailable"; }; 

Вывод nslookup: (очищенный)

# nslookup test.mydomain.com Server: 1.1.1.1 Address: ns01.mydomain.com  Name: server.outsidedomain.com 

копать вывод: (продезинфицировать)

dig test.mydomain.com  ; <<>> DiG 9.11.3 <<>> test.mydomain.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36042 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;test.mydomain.com. IN A  ;; ANSWER SECTION: test.mydomain.com. 10800 IN CNAME server.outsidedomain.com. 

Я хотел бы / ожидаю увидеть: (продезинфицировать)

# nslookup test.mydomain.com Server: ns01.mydomain.com Address: 1.1.1.1  Name: server.outsidedomain.com Address: 5.5.5.5 Aliases: test.mydomain.com 
0
Это то, что делает рекурсия. см. здесь описание того, как обрабатывается запрос CNAME в удаленной зоне: https://ns1.com/articles/comparing-alias-and-cname-records. Frank Thomas 6 лет назад 0
Почему вы хотите, чтобы он возвращал IP-адрес для CNAME? Это противоречит принципам работы протокола DNS (если ваш сервер имен не является полномочным в зоне, где находится цель CNAME). Patrick Mevzek 6 лет назад 0
Спасибо. Статья была полезной. Вы подтвердили, как я думал, что вещи (должны) работать. У меня есть опыт работы с DNS, и я знаю достаточно, чтобы быть опасным. Спасибо, что поделились своими знаниями!! John Malia 6 лет назад 0

0 ответов на вопрос

Похожие вопросы