Bind

如何配置 bind9 以將伺服器 IP 指向 nic?

  • June 2, 2016

簡單的介紹

example.ir我從我的國家域名提供商那裡購買了一個域名,nic.ir並從examplevps.ir.

我的 VPS 給了我一個靜態 IP,讓我們想像它是:170.120.100.140

安裝了一個在 localhost127.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
...

引用自:https://serverfault.com/questions/780407