有一个网站,需要移至另一台服务器。它已复制到那里,运行良好。现在我需要更改我的 A 记录。然后我了解到,由于某些原因,我们无法访问 NS 管理端。
我们有另一个 DNS,我们可以将域名切换到它,但我们不知道所有的设置,有很多设置(MX、CNAME 等),所以我不能只创建 A 记录然后放手。有没有办法远程读取 NS 的当前设置?我的意思是,我可以获得 A 记录(域名指向的 IP),所以也许我可以得到所有(或至少一些)其他设置?
答案1
您可以使用挖获取指向特定主机的所有相关 DNS 信息。您需要知道该主机名的权威名称服务器是什么,然后运行:dig @ns.example.com example.com ANY
。
ns.example.com
用旧的名称服务器和example.com
您感兴趣的主机名替换。
(dig
是包的一部分bind
,通常客户端在单独的包中,例如http://packages.debian.org/sid/dnsutils)
示例输出
; <<>> DiG 9.6.0-APPLE-P2 <<>> @ns1.yahoo.com yahoo.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26934
;; flags: qr aa rd; QUERY: 1, ANSWER: 14, AUTHORITY: 0, ADDITIONAL: 7
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;yahoo.com. IN ANY
;; ANSWER SECTION:
yahoo.com. 1800 IN SOA ns1.yahoo.com. hostmaster.yahoo-inc.com. 2012042707 3600 300 1814400 600
yahoo.com. 3600 IN A 209.191.122.70
yahoo.com. 3600 IN A 72.30.38.140
yahoo.com. 3600 IN A 98.139.183.24
yahoo.com. 1800 IN MX 1 mta6.am0.yahoodns.net.
yahoo.com. 1800 IN MX 1 mta7.am0.yahoodns.net.
yahoo.com. 1800 IN MX 1 mta5.am0.yahoodns.net.
yahoo.com. 172800 IN NS ns3.yahoo.com.
yahoo.com. 172800 IN NS ns1.yahoo.com.
yahoo.com. 172800 IN NS ns2.yahoo.com.
yahoo.com. 172800 IN NS ns6.yahoo.com.
yahoo.com. 172800 IN NS ns4.yahoo.com.
yahoo.com. 172800 IN NS ns5.yahoo.com.
yahoo.com. 172800 IN NS ns8.yahoo.com.
;; ADDITIONAL SECTION:
ns1.yahoo.com. 172800 IN A 68.180.131.16
ns2.yahoo.com. 172800 IN A 68.142.255.16
ns3.yahoo.com. 172800 IN A 121.101.152.99
ns4.yahoo.com. 172800 IN A 68.142.196.63
ns5.yahoo.com. 172800 IN A 119.160.247.124
ns6.yahoo.com. 172800 IN A 202.43.223.170
ns8.yahoo.com. 172800 IN A 202.165.104.22
;; Query time: 19 msec
;; SERVER: 68.180.131.16#53(68.180.131.16)
;; WHEN: Sat Apr 28 19:27:50 2012
;; MSG SIZE rcvd: 449
答案2
你至少可以下载区域文件吗?这实际上就是你所需要的。如果你甚至不能做到这一点,你就必须使用 dig 或其他客户端来查看你知道的所有记录以查找信息,这将是痛苦的。