设置名称服务器 - bind

设置名称服务器 - bind

首先,抱歉我的英语不好。

我是 FreeBSD 的新手,我会喜欢上它的。在尝试 FreeBSD 之前,我有一个 Linux VPS(我的 ISP 为我设置了它)。我决定放弃它,转而使用 FreeBSD,并在 VMWare ESXi 4.0 上从头开始安装 FreeBSD(我的 ISP 只提供 Linux VPS,但他们同意让我自己设置)。

问题是我对设置 DNS 和名称服务器一无所知。(我只是一名 Web 开发人员,对网络相关知识一无所知)

我按照本指南设置绑定名称服务器: http://www.freebsd.org/doc/handbook/network-dns.html

服务器规格:

91.194.91.7
ns1.babaei.net 91.194.90.11
ns2.babaei.net 91.194.90.12
ns3.babaei.net 193.200.241.6
ns4.babaei.net 93.104.209.252

我在 Directi 域面板中的设置:

http://forums.freebsd.org/attachment.php?attachmentid=696&d=1264193553

/etc/hosts

::1                     localhost localhost.babaei.net
127.0.0.1               localhost localhost.babaei.net
91.194.91.7             3rr0r.babaei.net 3rr0r
91.194.91.7             3rr0r.babaei.net.

/etc/resolv.conf

domain  babaei.net
search babaei.net
nameserver      127.0.0.1
nameserver      91.194.90.11
nameserver      93.104.209.252
nameserver      193.200.241.6
nameserver      91.194.90.12

我编辑 /etc/rc.conf:

named_enable="YES"

/etc/namedb/named.conf

zone "babaei.net" {
    type master;
    file "master/babaei.net";
};

zone "1.168.192.in-addr.arpa" {
        type slave;
        file "slave/1.168.192.in-addr.arpa";
        masters {
                192.168.1.1;
        };
};

/etc/namedb/master/babaei.net

$TTL 3600        ; 1 hour default TTL
babaei.net.    IN      SOA      ns1.babaei.net. root.babaei.net. (
                                2010012208      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                300             ; Negative Reponse TTL
                        )

; DNS Servers
                IN      NS      ns1.babaei.net.
                IN      NS      ns2.babaei.net.
                IN      NS      ns3.babaei.net.
                IN      NS      ns4.babaei.net.

; MX Records
                IN      MX 10   mx.babaei.net.
                IN      MX 20   mail.babaei.net.

                IN      A       91.194.91.7

; Machine Names
localhost       IN      A       127.0.0.1
ns1             IN      A       91.194.90.11
ns2             IN      A       93.104.209.252
ns3             IN      A       193.200.241.6
ns4             IN      A       91.194.90.12
mx              IN      A       91.194.91.7
mail            IN      A       91.194.91.7

; Aliases
www             IN      CNAME   babaei.net.

/etc/namedb/slave/1.168.192.in-addr.arpa

$TTL 3600

1.168.192.in-addr.arpa. IN SOA ns1.babaei.net. root.babaei.net. (
                        2010012208      ; Serial
                        10800           ; Refresh
                        3600            ; Retry
                        604800          ; Expire
                        300 )           ; Negative Reponse TTL

        IN      NS      ns1.babaei.net.
        IN      NS      ns2.babaei.net.
        IN      NS      ns3.babaei.net.
        IN      NS      ns4.babaei.net.

1       IN      PTR     babaei.net.
2       IN      PTR     ns1.babaei.net.
3       IN      PTR     ns2.babaei.net.
4       IN      PTR     ns3.babaei.net.
5       IN      PTR     ns4.babaei.net.
6       IN      PTR     mx.babaei.net.
7       IN      PTR     mail.babaei.net.


# named-checkzone babaei.net /etc/namedb/master/babaei.net
zone babaei.net/IN: loaded serial 2010012208
OK

# /etc/rc.d/named reload
// or
# rndc reload

当我从 VPS 本身尝试此操作时:

# host -t ns babaei.net
babaei.net name server ns4.babaei.net.
babaei.net name server ns2.babaei.net.
babaei.net name server ns3.babaei.net.
babaei.net name server ns1.babaei.net.


# dig ns "babaei.net" "@localhost"

; <<>> DiG 9.6.1-P1 <<>> ns babaei.net @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63012
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION:
;babaei.net.   IN NS

;; ANSWER SECTION:
babaei.net.  3600 IN NS ns2.babaei.net.
babaei.net.  3600 IN NS ns1.babaei.net.
babaei.net.  3600 IN NS ns3.babaei.net.
babaei.net.  3600 IN NS ns4.babaei.net.

;; ADDITIONAL SECTION:
ns1.babaei.net.  3600 IN A 91.194.90.11
ns2.babaei.net.  3600 IN A 93.104.209.252
ns3.babaei.net.  3600 IN A 193.200.241.6
ns4.babaei.net.  3600 IN A 91.194.90.12

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Jan 24 01:28:49 2010
;; MSG SIZE  rcvd: 164

我尝试了 7 天,但仍然无法浏览我的网站:

http://checkdns.net/quickcheck.aspx?...net&detailed=1

  Tried to fetch SOA record for domain, but DNS server ns1.babaei.net [91.194.90.11] returned error code Refused 
  Error fetching SOA from ns2.babaei.net [93.104.209.252]: Connection reset. Probably DNS server is offline. 
  Tried to fetch SOA record for domain, but DNS server ns3.babaei.net [193.200.241.6] returned error code Refused 
  Tried to fetch SOA record for domain, but DNS server ns4.babaei.net [91.194.90.12] returned error code Refused

它是一个坚如磐石的操作系统,我不想仅仅因为我无法设置绑定 DNS 或我的 ISP 不支持 FreeBSD 而忽略它。

如果相关的话这是我的 /usr/local/etc/lighttpd.conf

$HTTP["host"] =~ "(^|\.)babaei\.net$" {
server.document-root = "...../www"
server.errorlog = "...../_error.log"
accesslog.filename = "...../_access.log"
server.error-handler-404 = "/_404.html"
}

我也在这里发布了类似的问题:

http://forums.freebsd.org/showthread.php?t=10593

提前致谢。

#

编辑:

最终它起作用了:

我只是将所有内容更改为 VPS IP 本身:

ns1             IN      A       91.194.91.7
ns2             IN      A       91.194.91.7
ns3             IN      A       91.194.91.7
ns4             IN      A       91.194.91.7

(这也发生在域面板中)。

我还需要改变这一行

/etc/namedb/named.conf

//     listen-on       { 127.0.0.1; };
// Changed to:
        listen-on       { 91.194.91.7; };

或者根本就不起作用。

我补充道

/etc/rc.conf

sendmail_enable="YES"

或者我会得到:

error connecting to mail server port 25 : connection refused.

我仍在等待整个网络的 DNS 数据库更新。

http://checkdns.net/quickcheck.aspx?domain=www.babaei.net&detailed=1

真可惜!!他们告诉我这些 IP 对我的域名来说是权威的,但事实并非如此。我认为这些是我 ISP 的 DNS 服务器,因为我可以用浏览器浏览它们。我真的不知道他们如何处理这个问题,但我现在很高兴。

答案1

假设您的问题是“我怎样才能让它工作”,我认为您在这里忽略了一些基本的东西。

NS 记录(间接)指向保存该域的 DNS 记录的 DNS 服务器的 IP 地址。在您的例子中,这些是 [ns1、ns2、ns3、ns4]。因此,任何查找您的域名的客户端都希望在其中一个地址找到答案,但他们没有答案,因为您已经在自己的 VPS 上为您的域设置了 DNS 记录。

这意味着您需要做以下两件事之一:您要么需要让这 4 台服务器保存您的 DNS 记录,要么您需要更改 NS 记录以指向您的 VPS。

假设这些名称服务器已由您的 VPS 提供商提供,您通常会获得一个 Web 前端,以便您可以添加和修改记录。在这种情况下,您根本不需要在 VPS 上运行 BIND。

如果您希望服务器的 BIND 成为域的 DNS 服务器,则域的 NS 记录必须指向您的 VPS 的 IP 地址。请注意,您通常需要为域提供至少两个(不同的)NS 记录,因此您可能需要为 VPS 提供两个 IP 地址。

答案2

您希望babei.net指向什么地址?您只需添加:

babei.net. IN A xxxx
到 /etc/namedb/master/babaei.net,其中 xxxx 是您希望它指向的 IP。

消除

                在 91.194.91.7
www IN CNAME babaei.net。
从 /etc/namedb/master/babaei.net 并重新启动 named 并查看是否有区别。

您还可以使用以下命令检查您的 named.conf 文件:

named-checkconf /etc/namedb/named.conf
并将您的区域文件替换为:
命名检查区域 babaei.net /etc/namedb/master/babaei.net

相关内容