我正在测试 DNS 服务器。我对我的 dnd 服务器做了以下事情
- 我正在使用 DDNS(不是 DNS)appleorange.no-ip.org
- 我已将 DDNS 名称配置为域名(如下图所示)
- DMZ 至 192.168.0.50(DNS 服务器)
- 我使用 open-DNS DNS(作为我的 isp dns)
- 192.168.0.50 是我的 DNS 服务器
更多细节
远程控制[电子邮件保护]
密码 = 1
nslookup
dig 本地 dns 服务器 dig 127.0.0.1
我是不是做错了? 我是不是做错了? /etc/hosts 路由 正确吗?
区域文件
我已经正确配置了我的 DNS 吗?
更多细节
远程控制[电子邮件保护]
密码 = 1
答案1
此设置中存在许多错误。看来人们对 DNS 的工作原理缺乏了解。这很好,我们都从那里开始。;-)
我还认为,你可能在不需要 DNS 服务器时尝试设置它。除非你想添加自己的 DNS 记录,否则你不需要 DNS 服务器——如果你只想使用DNS,只需使用 ISP 的 DNS 服务器即可。如果您希望网络上的计算机能够通过名称相互通信,我建议您考虑在宽带路由器上启用“DNSMasq”(或购买支持该功能的路由器;它们很便宜)。
或者,您可能正在尝试设置反向 DNS,以便邮件服务器不会被列入黑名单。在这种情况下,您需要通过您的 ISP (ptcl.net),因为他们控制他们提供的 IP 的反向 DNS (in-addr.arpa 区域),而不是您或您的 DNS 提供商 (no-ip.com)。您通常需要一个静态 IP 和一个好的 ISP。给他们打电话应该可以回答很多问题。
但是,我假设您确实需要一个 DNS 服务器,并回答提出的问题。
为了让全世界都使用您自己的 DNS 服务器来管理域名,您需要“父”级别的 DNS 服务器具有指向您服务器的名称服务器 (NS) 记录。在此示例中,您需要 no-ip.org 的名称服务器中有 NS 记录。简而言之,您需要 dig 来报告类似以下内容的内容(以下内容出于教育目的而伪造):
zanfur@laptop:~$ dig appleorange.no-ip.org NS
; <<>> DiG 9.7.3 <<>> appleorange.no-ip.org NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55890
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;appleorange.no-ip.org. IN NS
;; ANSWER SECTION:
appleorange.no-ip.org. 86400 IN NS ns1.appleorange.no-ip.org.
appleorange.no-ip.org. 86400 IN NS ns2.appleorange.no-ip.org.
;; ADDITIONAL SECTION:
ns2.appleorange.no-ip.com. 66570 IN A 119.152.231.211
ns2.appleorange.no-ip.com. 66570 IN A 119.152.231.211
;; Query time: 43 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Nov 17 02:19:35 2011
;; MSG SIZE rcvd: 99
在这个(虚构的)例子中,no-ip.org 服务器将在其区域文件中包含“NS”记录,以指向您的服务器。然后,对 *.appleorange.no-ip.com(或只是 appleorange.no-ip.com 本身)的任何请求都将发送到您的 DNS 服务器,并且将使用您 DNS 服务器中的记录。您还需要至少两个 NS 记录,尽管(如在这个虚构的例子中)它们都可以指向同一个 IP。
我很确定 no-ip.org 不会为你做这件事,所以我认为你运气不好。抱歉。有些 DNS 提供商可以这样做;你可能需要更换。
如果你想要的只是你的网络使用您的名称服务器,那么这很容易,而且看起来您已经将主机配置为使用您的名称服务器,所以我不会在这里解释这一点。但是,您的区域文件非常不正确。查看 db.appleorange.no-ip.org 区域文件,我们遇到以下问题:
- 它具有其所服务的域的 NS 记录,这些记录应该位于 no-ip.com 的区域文件中,正如我上面所解释的那样。
- 即使曾是用于查找 NS 记录,它将返回 localhost、127.0.0.1 和 ::1 作为地址,这意味着客户端计算机将尝试连接自身以查询 DNS,这几乎肯定不是您想要的。
db.192 区域文件也存在问题:
- 它还具有其所服务的域名的名称服务器记录。
- 它声称 192.168.0.0.0.1 这个毫无意义的 IP 具有 localhost 的反向 DNS(1.0.0.0.168.192.in-addr.arpa)。看来您错误地修改了 db.127 示例文件。
我认为根据给出的信息,这就是我能给出的最好的答案。
恕我直言,设置 DNS 服务器并非易事,需要很多知识。从上面的例子来看,你似乎没有太多 Linux 网络方面的经验,虽然我尊重你完成设置 DNS 服务器的任务,但请不要指望它会很快或简单。如果你想继续,你的第一步应该是研究 DNS 是什么以及它是如何工作的。域名系统维基百科上的文章是一个很好的开始,区域文件文章。如果您需要了解更多信息,这两篇文章都包含指向各种规范的链接。在尝试实现您自己的名称服务器之前,请确保您了解以下内容:
- DNS 查找的工作原理
- 什么是根名称服务器
- A、CNAME、NS 和 PTR 记录类型的含义(如果您运行邮件服务器,则还有 MX)