我在ubuntu上有一個VPS。此外,我還配置了DNS(ns1.example.com、ns2.example.com)並將2 個測試網域連接到這些NS(我在2 個範例網域的網域註冊網站中將這些NS 寫入記錄中) 。現在,如果我使用 nslookup 搜尋這些網域 - 沒有找到任何記錄。我想建立一條記錄,將這些網域與名稱伺服器的 IP 連接起來。對於firstexample.com,它將是31.172.74.55(ns1.example.com的組成IP),對於secondexample.com,它將是79.132.156.160(ns2.example.com的組成IP)。我怎樣才能做到這一點?我正在使用綁定,透過 Vesta 建立 DNS,但我想知道如何使用終端建立記錄來編寫腳本,該腳本將自動為新網域建立記錄以節省時間。我寫了這個命令nslookup csgo.sbs
。結果是connection timed out; no servers could be reached
。dig
有相同的回复
答案1
為了診斷網域的名稱伺服器的正確註冊和良好的工作順序,請從根名稱伺服器開始手動回溯遞歸查找,直到到達目標網域或遇到錯誤。在你的情況下,這會產生:
~$ dig +noall +authority +answer ns sbs.
sbs. 170959 IN NS d.nic.sbs.
sbs. 170959 IN NS c.nic.sbs.
sbs. 170959 IN NS a.nic.sbs.
sbs. 170959 IN NS b.nic.sbs.
~$ dig +noall +authority +answer ns sbs. @g.root-servers.net.
sbs. 172800 IN NS a.nic.sbs.
sbs. 172800 IN NS b.nic.sbs.
sbs. 172800 IN NS c.nic.sbs.
sbs. 172800 IN NS d.nic.sbs.
~$ dig +noall +authority +answer ns csgo.sbs. @a.nic.sbs.
csgo.sbs. 3600 IN NS ns1.makeuppro.shop.
csgo.sbs. 3600 IN NS ns2.makeuppro.shop.
~$ dig +noall +authority +answer ns csgo.sbs. @ns1.makeuppro.shop.
;; connection timed out; no servers could be reached
~$ dig +noall +authority +answer ns csgo.sbs. @ns2.makeuppro.shop.
;; connection timed out; no servers could be reached
這表示伺服器ns1.makeuppro.shop
和ns1.makeuppro.shop
已正確註冊為網域的名稱伺服器csgo.sbs
,但不回答來自 Internet 的 DNS 查詢。
~$ dig +noall +authority +answer a ns2.makeuppro.shop.
ns2.makeuppro.shop. 1740 IN A 79.132.138.120
~$ dig +noall +authority +answer a ns1.makeuppro.shop.
ns1.makeuppro.shop. 1799 IN A 79.132.138.120
告訴我們,這兩個伺服器名稱都引用相同的 IPv4 位址,79.132.138.120
因此它們實際上是同一台伺服器。
下一步是檢查該位址是否正確、發送到該位址的連接埠 53 的 UDP 封包是否到達該伺服器(而不是被防火牆阻止)、BIND(或其他 DNS 服務)是否正在運行在該伺服器上並偵聽端口53,它是否正在接收和回應這些資料包,以及回應是否到達開放的Internet(而不是再次被防火牆阻止)。
一旦您以這種方式找出了問題,您就可以採取適當的措施來解決它,例如修復 BIND 配置中的啟動問題或與您的 VPS 提供者協商以在其防火牆中開啟連接埠 53。