![需要帮助在 Ubuntu 上安装 DNS](https://linux22.com/image/498924/%E9%9C%80%E8%A6%81%E5%B8%AE%E5%8A%A9%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E5%AE%89%E8%A3%85%20DNS.png)
我正在尝试为 Ubuntu 服务器配置 DNS。最初,我在 ping 服务器或执行任何类型的 dig 时遇到了问题。到目前为止的相关信息可以在下面的“旧问题”下看到。通过大量帮助,我让 DNS 通过其 IP 响应 ping 请求,最重要的是它现在确认 dig -x 127.0.0.1 命令。
这些先前的问题是由于我的名称服务器语法在正向区域文件中(例如 db.example.com)。
目前问题仍然是 example.com 无法调用该服务器。我只能假设这是我引用递归 DNS 服务器时出现的问题,但我不确定如何修复此问题。非常感谢大家的帮助。
旧问题
根据要求,以下是各种 ping 请求、挖掘的结果以及在任何建议之前输入到 bind named.config 中的内容。
“ping example.com”超时并输出:
ping: unknown host example.com
“ping 1.2.3.4”(网络 ip)输出:
10 packets transmitted, 10 received, 0% packet loss, time 8999ms
rtt min/avg/max/mdev = 0.688/0.960/3.221/0.754 ms
“ping 1.2.3.4”(本地ip)输出:
PING 192.168.1.68 (192.168.1.68) 56(84) bytes of data.
^C
--- 192.168.1.68 ping statistics ---
21 packets transmitted, 0 received, 100% packet loss, time 19999ms
“ping 4.2.2.2”输出:
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 32.742/33.081/33.544/0.411 ms
绑定named.conf文件:
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
resolv.conf 文件:
版本 1
nameserver 127.0.0.1
nameserver 4.2.2.2
版本 2
search example.com
nameserver 192.168.1.1
nameserver 68.238.64.12
nslookup google.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: google.com
Address: 74.125.45.100
Name: google.com
Address: 74.125.53.100
Name: google.com
Address: 74.125.67.100
新问题
dig -x 127.0.0.1 这行似乎值得关注,这些 0 不应该是 1 吗?
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
猫/ var / log / syslog | grep 绑定
命名的.conf.本地
zone "example.com"{
type master;
file "/etc/bind/db.example.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.233";
};
答案1
- 检查网络是否正常运行
- 检查您的路由以及是否安装了默认路由(
netstat -rn
) - 通过 ping 4.2.2.2 检查互联网连接(
ping 4.2.2.2
) - 检查你的 DNS 配置 (
cat /etc/resolv.conf
) - 检查名称解析是否与其他 DNS 服务器兼容 (
nslookup google.com 4.2.2.2
) - 如果您只希望名称解析工作(即通过名称 ping 任何站点),则可以
nameserver 4.2.2.2
在您的中使用。/etc/resolv.conf
- 顺便说一下,分享您的绑定
named.conf
,它必须作为缓存服务器开箱即用。
答案2
您需要向我们澄清一下该服务器应该执行什么特定的 DNS 功能 - 具体来说,它是:
- 递归 - 为您的 LAN 提供全局 DNS 查找
- 权威 - 为您运行的区域提供数据
- 两者 - 可能,但出于安全原因强烈建议不要这么做
编辑现已确认为权威。
不过,考虑到所报告的问题ping
,在我们开始担心 DNS 服务器配置之前,您可能需要先解决潜在的网络问题。不过,您的原始问题不清楚 - 您似乎报告了三个不同的问题:
ping example.com
超时ping 1.2.3.4
说“没有主人”- DNS 服务器返回
SERVFAIL
(1)和(2)与报告的不一致 - 如果有的话,我希望错误是相反的。请提供这两个命令的输出示例(已编辑)。
一旦解决了这个问题,我们就可以开始解决 (3) - 该SERVFAIL
错误通常表示配置错误,而不是访问控制问题。但是我发现它需要 4 秒钟才能产生该响应 -SERVFAIL
也可能表示无法访问上游 DNS 服务器,这与您遇到网络问题一致。
答案3
尝试在named.conf中加入“recursion yes;”——这将允许你的服务器给你提供不受它控制的dns记录。
这应该在您的“选项”部分中。我还会创建一个 ACL 来限制对该功能的访问。
acl homenet { 192.168.0.0/24; 127.0.0.0/8; };
options {
recursion yes;
allow-recursion { homenet; };
}
答案4
“DNS”?DNS 是一种协议。这就像说“我想要一个 HTTP”。
您能否描述一下您是否想要 DNS 权威服务器、辅助服务器、客户端、缓存服务器、私有根、DNSsec 等?