Когда я это сделаю dig
Я не получаю ответа ...
red@localhost:~$ dig +noall +answer name-one.name-two.com @mydns-server.name-one.com
... но когда добавляем name-two.com soa
Я получаю ответ на name-one.name-two.com
...
red@localhost:~$ dig +noall +answer name-one.name-two.com name-two.com soa @mydns-server.name-one.com
name-one.name-two.com. 868 IN A xx.xxx.xxx.xxx
name-two.com. 2926 IN SOA ns41.name-three.com. dns.name-four.net. 2013120202 28800 7200 604800 600
... Что здесь происходит?
Спасибо
Прямо из dig -h
:
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
[...]
global d-opts and servers (before host name) affect all queries.
local d-opts and servers (after host name) affect only that lookup.
Когда вы пишете:
dig +noall +answer name-one.name-two.com @mydns-server.name-one.com
dig
рассматривает это как:
+noall +answer
- глобальные параметры, применяются ко всем запросам
name-one.name-two.com @mydns-server.name-one.com
- хост для поиска на определенном сервере имен
Но когда вы пишете:
dig +noall +answer name-one.name-two.com name-two.com soa @mydns-server.name-one.com
dig
рассматривает это как:
+noall +answer
- глобальные опции, применяются ко всем
name-one.name-two.com
- хост для поиска
name-two.com soa @mydns-server.name-one.com
- еще один поиск SOA RR, но на этот раз на конкретном сервере
Таким образом, вы получаете ответ A RR для первого хоста не от @ mydns-server.name-one.com.