Bind
如何配置 bind9 以將伺服器 IP 指向 nic?
簡單的介紹
example.ir
我從我的國家域名提供商那裡購買了一個域名,nic.ir
並從examplevps.ir
.我的 VPS 給了我一個靜態 IP,讓我們想像它是:
170.120.100.140
安裝了一個在 localhost
127.0.0.1
和 eth0上執行的 Web 伺服器170.120.100.140
。我可以通過 ssh 連接到我的 VPS 並做任何我想做的事,我是新手……我的第一個 VPS。
我做了什麼?
實際上像這樣設置我的bind9:
命名.conf.local
zone "example.ir" { type master; file "/etc/bind/db.example.ir"; }; zone "140.100.120.170.in-addr.arpa" { type master; file "/etc/bind/db.170"; };
db.example.ir
$TTL 604800 @ IN SOA example.ir. root.example.ir. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS example.ir. @ IN A 170.120.100.140 @ IN AAAA ::1
db.170
$TTL 604800 @ IN SOA example.ir. root.example.ir. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS example.ir. 170 IN PTR example.ir.
並且永遠不要忘記:
service bind9 restart
我期待什麼?
root@examplevps$ nslookup example.ir Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: example.ir Address: 170.120.100.140
這就是我得到的
root@examplevps$ nslookup example.ir ;; Got SERVFAIL reply from 8.8.8.8, trying next server Server: 4.2.2.4 Address: 4.2.2.4#53 ** server can't find example.ir: SERVFAIL
結論
根據我上面提供的資訊,我完全清楚我想要什麼……我認為我必須做類似的事情:
+------------------+ | My VPS | | 170.120.100.140 | +------------------+ | +------------------+ | ns.examplevps.ir | bind 170.120.100.140 > example.ir +------------------+ | +------------------+ | nic.ir | bind ns.examplevps.ir > nic.ir +------------------+
我在網上閱讀了很多頁面,但仍然無法弄清楚它是如何工作的。
您需要允許來自任何地方的查詢。將以下內容添加到每個區域語句中
named.conf.local
以單獨允許查詢區域或將其添加named.conf.options
到允許查詢所有區域:allow-query { any; };
我建議使用
dig
調試:apt-get install dnsutils # for debian/ununtu dig +trace example.ir
此外,您需要將您的指向您
nic
的名稱伺服器。這通常在 nic 的 Web 界面中完成,您可以在其中為每個區域指定粘合記錄,名稱伺服器以以下形式為區域提供服務:ns.example.ir -> 170.120.100.140
很可能您還必須提供 2 個名稱伺服器。您可以將它們指向同一個 IP,儘管您可能會收到一條警告消息,即未使用 2 個不同的 IP 地址。
ns1.example.ir -> 170.120.100.140 ns2.example.ir -> 170.120.100.140
您還需要在您的 dns 伺服器區域中定義粘合記錄:
@ IN SOA ns1.example.ir. hostmaster.example.ir. ( ... ( @ IN NS ns1 @ IN NS ns2 ... ns1 IN A 170.120.100.140 ns2 IN A 170.120.100.140 ...