我在尝试在家庭局域网上托管自己的 DNS 和 Web 服务器时遇到了 DNS 问题。基本上,我在 DNS 服务器上看到了正确的 DNS 解析,但在局域网或公共 WWW 上的任何其他地方都看不到。
我承认我以前从未安装过 BIND,但管理过区域文件,无论如何请不要做任何假设。
我的家庭局域网上有一个 LAMP 服务器正在运行。它运行的是 Ubuntu 10.04 LTS。
鉴于我无法从我的 ISP 获取静态 IP,也不想向域名提供商支付 DNS 管理费用,我决定尝试在服务器上安装 BIND9,以便我可以自己管理 DNS。
我已经关注了本教程。注意:我没有添加反向 DNS,因为我认为这对于解析域中的 IP 来说不是必需的。一旦其他一切都正常,我将稍后再执行此操作。
正如我所说,我是新手,真的不知道从哪里开始。
以下是一些小知识:
dig @localhost carylson.com
; <<>> DiG 9.7.0-P1 <<>> @localhost carylson.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20700
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;carylson.com. IN A
;; ANSWER SECTION:
carylson.com. 300 IN A 127.0.0.1
;; AUTHORITY SECTION:
carylson.com. 300 IN NS ns0.carylson.com.
carylson.com. 300 IN NS ns1.carylson.com.
;; ADDITIONAL SECTION:
ns0.carylson.com. 300 IN A 127.0.0.1
ns1.carylson.com. 300 IN A 127.0.0.1
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Nov 29 20:58:35 2011
;; MSG SIZE rcvd: 114
dig @8.8.8.8 carylson.com ***** GOOGLE NAMESERVERS *****
; <<>> DiG 9.7.0-P1 <<>> @8.8.8.8 carylson.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 60779
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;carylson.com. IN A
;; Query time: 1052 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Nov 29 21:00:28 2011
;; MSG SIZE rcvd: 30
任何指点都值得赞赏。
答案1
您需要向您的注册商发布您的名称服务器 IP。
[ ~]$ whois carylson.com | tail
Domain servers in listed order:
NS.WEBS.CARYLSON.COM
NS0.CARYLSON.COM
NS1.CARYLSON.COM
所有这些都指向 69.204.115.89,我猜这是你的家庭 IP。
[ ~]$ host 69.204.115.89
89.115.204.69.in-addr.arpa domain name pointer cpe-69-204-115-89.buffalo.res.rr.com.
如果这是真的,那么你需要检查两件事:
- 查看是否在传入调制解调器上打了洞,以允许 DNS 流量到达服务器
查看绑定配置中是否有阻止查询的 ACL。这很可能是问题所在,因为您说您也无法从 LAN 进行查询。如果您看到类似以下内容:
allow-query { 127.0.0.1; };
在您的区域或全局配置中,将其更改为
allow-query { any; };