为什么挖掘成功,如果我添加一个SOA查询和失败时,我不?

当我做这个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。