简单的介绍
example.ir
我从我所在国家的域名提供商那里购买了一个域名nic.ir
,并从那里购买了一个 VPS examplevps.ir
。
我的 VPS 给了我一个静态 IP,让我们想象一下:安装了在 localhost和 eth0170.120.100.140
上运行的 Web 服务器。 我可以通过 ssh 连接到我的 VPS 并做任何我想做的事情,我是新手……我的第一个 VPS。127.0.0.1
170.120.100.140
我做了什么?
实际上像这样设置我的bind9:
命名的.conf.本地
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
分贝.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
+------------------+
我在网上读了很多页但仍然不明白它是如何工作的。
答案1
您需要允许来自任何地方的查询。可以将以下内容添加到每个区域语句中,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
...