我确信以前有人以某种形式问过这个问题,但是我对 DNS 完全陌生,对 Linux 也不熟悉,所以请耐心等待 :)
我有一台 OVH 托管的 VPS,我已经成功配置它以很好地满足我的需求,但我似乎无法让 DNS 服务器正常工作。根据我在网上找到的故障排除页面,Bind 配置为不接受来自外部的连接,但我不知道如何更改这一点。
telnet localhost 53
在服务器上工作
telnet myserver.com 53
在我的本地机器上说telnet: Unable to connect to remote host: Connection refused
netstat -Wa
返回以下内容
tcp 0 0 *:imaps *:* LISTEN
tcp 0 0 *:pop3s *:* LISTEN
tcp 0 0 localhost.localdomain:10024 *:* LISTEN
tcp 0 0 *:rsync *:* LISTEN
tcp 0 0 localhost.localdomain:10025 *:* LISTEN
tcp 0 0 localhost.localdomain:mysql *:* LISTEN
tcp 0 0 localhost.localdomain:813 *:* LISTEN
tcp 0 0 *:pop3 *:* LISTEN
tcp 0 0 *:imap2 *:* LISTEN
tcp 0 0 localhost.localdomain:spamd *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:http-alt *:* LISTEN
tcp 0 0 *:www *:* LISTEN
tcp 0 0 *:tproxy *:* LISTEN
tcp 0 0 localhost.localdomain:domain *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost.localdomain:953 *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 *:https *:* LISTEN
tcp 0 0 mydomain.com:ssh 0-0-0-0.bb.dnainternet.fi:63879 ESTABLISHED
tcp 0 0 mydomain.com:ssh 0-0-0-0.bb.dnainternet.fi:58003 ESTABLISHED
tcp 0 0 rps0000.ovh.net:56314 iscsi00.rps.ovh.net:3260 ESTABLISHED
udp 0 0 localhost.locald:domain *:*
udp 0 0 *:sunrpc *:*
udp 0 0 mydomain.com:ntp *:*
udp 0 0 rps0000.ovh.net:ntp *:*
udp 0 0 localhost.localdoma:ntp *:*
udp 0 0 *:ntp *:*
一些故障排除页面说应该有一行用于监听端口 53 的 Bind。由于我没有那行,有没有可能是出了什么问题,尽管它
/etc/init.d/bind9 status
告诉我 bind9 正在运行?
答案1
此行显示绑定监听:
tcp 0 0 localhost.localdomain:域: 听
netstat 正在将端口号 (53) 转换为服务名称 (域),由文件 /etc/services 确定。但是,正如您所见,它只监听环回接口 - localhost - 而不是所有接口 (* 或 0.0.0.0)。
您没有指定正在运行哪个发行版,因此下一步有些模糊。您正在寻找主绑定配置文件 named.conf。它可能位于 /etc、/etc/bind9/、/etc/named/、/var/named/chroot/etc/ 或任何地方。找到它后,查找选项“listen-on”并将其完全删除。重新启动 named,它现在应该会监听所有接口。
答案2
是的,bind 正在运行。从 netstat 输出来看:
tcp 0 0 localhost.localdomain:domain *:* LISTEN
“域”服务是端口 53。问题是您的 bind 守护进程只监听本地主机 ( 127.0.0.1 )。您可以在 binds 的配置文件中添加以下内容来更改该行为:
listen-on { any; };
(检查文件中没有其他监听行)
答案3
在没有看到您的 BIND 配置文件的情况下,我会猜测您需要listen-on
适当地添加/修改指令。
看http://www.zytrax.com/books/dns/ch7/hkpng.html或者http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch06.html了解更多信息。
我还建议你拿一份DNS 和 BIND来自 O'Reilly 并正在阅读。它涵盖了您想要了解的有关 DNS 和 BIND 的所有内容,但又不敢问...
答案4
我在 listen-on 选项中添加了第二台服务器的 IP 地址和 localhost。我可以从第二台机器连接到我的 DNS 服务器,但是当我检查套接字统计信息 (ss -ltunp) 时,它显示端口 53 仅监听 localhost、服务器的本地私有地址和名称服务器 IP 地址(存在于 /etc/resolv.conf 文件中),但不显示我的第二台机器的 IP 地址。有人知道为什么吗?