Domain-Name-System
為什麼有時(但並非總是)在 nslookup 查詢的輸出中看到 MX 記錄的“網際網路地址”數據?
CentOS 5.x
我注意到有時我會在 nslookup 的輸出中看到 MX 記錄的“網際網路地址”。不過,這並不總是發生。
例如,假設 foo.com 使用 Microsoft 提供郵件服務。在這種情況下,當我跑步時,
nslookup -q=mx foo.com
我會看到:foo.com MX preference = 10, mail exchanger = mail.messaging.microsoft.com foo.com nameserver = ns71.worldnic.com foo.com nameserver = ns72.worldnic.com mail.messaging.microsoft.com internet address = 216.32.180.190 mail.messaging.microsoft.com internet address = 207.46.163.30 ns71.worldnic.com internet address = 205.178.190.36 ns72.worldnic.com internet address = 206.188.198.36
其他時候,當我執行相同的查詢時,我會得到:
foo.com MX preference = 10, mail exchanger = mail.messaging.microsoft.com foo.com nameserver = ns71.worldnic.com foo.com nameserver = ns72.worldnic.com ns71.worldnic.com internet address = 205.178.190.36 ns72.worldnic.com internet address = 206.188.198.36
為什麼底部部分有時會缺少 mail.messaging.microsoft.com?nslookup 似乎試圖變得聰明並更進一步提供 A 記錄(即使我沒有明確要求它),但這並不是一直發生的。
我很確定當您執行查找的解析器在其記憶體中具有 A 記錄時會發生這種情況。它將額外記錄作為響應中附加部分的一部分返回。不是 nslookup 在做任何不同的事情。
如果您正在查找包含主機名 (CNAME/MX/etc) 的記錄,您可能會想要與這些記錄關聯的地址,但解析器不會特意查找它們如果它們還沒有在它的記憶體中。(完全有可能您不需要實際地址,具體取決於您詢問的原因,因此實際查找地址可能比它需要的要多。但是,如果有地址,則返回地址不需要額外的查詢,並且可以節省您的電腦不得不做更多的事情,減少整體的 DNS 流量。)