我正在尝试解决 DNS 问题,但没有什么办法。Google 似乎也没有帮助。
当我使用本地缓存名称服务器解析外部主机名时,它始终返回 192.168.1.251。下面是一些示例。
这个无效地址从何而来?更重要的是,我该如何纠正这个问题?
我的设置:本地域名 Solwiz.net 192.168.0.*
宽带路由器 - 内部地址为 192.168.0.1 - DHCP:已禁用
缓存名称服务器:Bind 9 192.168.0.32 Debian Squeeze
挖掘:
dig - 本地网络上的主机工作正常
$ dig @ns2 mail2.solwiz.net
; <<>> DiG 9.7.3 <<>> @ns2 mail2.solwiz.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17568
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;mail2.solwiz.net. IN A
;; ANSWER SECTION:
mail2.solwiz.net. 259200 IN A 192.168.0.34
;; AUTHORITY SECTION:
solwiz.net. 259200 IN NS ns2.solwiz.net.
;; ADDITIONAL SECTION:
ns2.solwiz.net. 259200 IN A 192.168.0.32
;; Query time: 0 msec
;; SERVER: 192.168.0.32#53(192.168.0.32)
;; WHEN: Fri Aug 1 21:09:36 2014
;; MSG SIZE rcvd: 84
dig-外部网络上的主机返回错误的 IP
$ dig @ns2 www.google.ch
; <<>> DiG 9.7.3 <<>> @ns2 www.google.ch
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16611
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.ch. IN A
;; ANSWER SECTION:
www.google.ch. 0 IN A 192.168.1.251
;; AUTHORITY SECTION:
google.ch. 333349 IN NS ns4.google.com.
google.ch. 333349 IN NS ns3.google.com.
google.ch. 333349 IN NS ns2.google.com.
google.ch. 333349 IN NS ns1.google.com.
;; Query time: 1 msec
;; SERVER: 192.168.0.32#53(192.168.0.32)
;; WHEN: Fri Aug 1 21:11:44 2014
;; MSG SIZE rcvd: 129
dig-外部网络上的主机返回错误的 IP
$ dig @ns2 www.microsoft.com
; <<>> DiG 9.7.3 <<>> @ns2 www.microsoft.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5476
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0
;; QUESTION SECTION:
;www.microsoft.com. IN A
;; ANSWER SECTION:
www.microsoft.com. 0 IN A 192.168.1.251
;; AUTHORITY SECTION:
com. 160501 IN NS j.gtld-servers.net.
com. 160501 IN NS k.gtld-servers.net.
com. 160501 IN NS h.gtld-servers.net.
com. 160501 IN NS e.gtld-servers.net.
com. 160501 IN NS f.gtld-servers.net.
com. 160501 IN NS d.gtld-servers.net.
com. 160501 IN NS m.gtld-servers.net.
com. 160501 IN NS l.gtld-servers.net.
com. 160501 IN NS a.gtld-servers.net.
com. 160501 IN NS i.gtld-servers.net.
com. 160501 IN NS c.gtld-servers.net.
com. 160501 IN NS b.gtld-servers.net.
com. 160501 IN NS g.gtld-servers.net.
;; Query time: 2 msec
;; SERVER: 192.168.0.32#53(192.168.0.32)
;; WHEN: Fri Aug 1 21:12:20 2014
;; MSG SIZE rcvd: 275
我用转储了缓存rdnc dumpdb --all
,其中提到了 192.168.1.* 地址。
清除了 _default 视图,192.168.1.* 的条目消失了。
重复对 Microsoft.com 的挖掘,条目又回来了:
;
; Start view _default
;
;
; Cache dump of view '_default' (cache _default)
;
$DATE 20140801194948
(several lines removed)
; Unassociated entries
(several lines removed)
; 192.168.1.251 [srtt 722240] [flags 00002000] [ttl 1780]
(lines to end of file removed)
来自 /etc/bind/named.conf.options
forwarders {
8.8.8.8;
62.2.24.162; 62.2.17.60;
};
8.8.8.8 当然是 Google 的 DNS,两个 62.2.* 是我的提供商的 DNS 服务器。
直接查询转发器(从我的名称服务器)
挖@8.8.8.8 www.google.ch
; <<>> DiG 9.7.3 <<>> @8.8.8.8 www.google.ch
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17711
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.ch. IN A
;; ANSWER SECTION:
www.google.ch. 0 IN A 192.168.1.251
;; Query time: 0 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Aug 2 15:36:51 2014
;; MSG SIZE rcvd: 47
其他货运代理也给出了同样的答复。
简单介绍一下背景:我的主网络通过 wlan 桥接到 wlan 路由器,一些客户端直接访问 wlan 路由器。一段时间以来,我一直遇到连接和性能问题。昨天,内部网络完全瘫痪,甚至直接 wlan 客户端都无法获得服务,尽管宽带路由器的以太网端口上的服务非常好。我的网络技术人员禁用了宽带适配器的 WLAN 功能,并将接入点连接到适配器的一个以太网端口。接入端口的默认 IP 是 192.168.1.2,但他将其更改为 192.168.0.2。据我所知,他禁用了接入点中的任何 DHCP 功能。自从更改以来,我一直遇到 IP 解析问题。
答案1
我怀疑您的路由器默认启用了“全部捕获”/“拦截 Web 流量”选项。我的 CPE 也遇到了同样的问题,因为我没有在 CPE 上设置 DNS。我禁用了“拦截 Web 流量”选项后,问题就解决了。
答案2
为什么本地 DNS 解析器需要 DNS 转发器?为什么不使用解析器本身呢?
- 我认为你的named.conf配置应该包括
recursion yes;
- 在您的客户端机器上,您应该只有您的 DNS 解析器 IP。
请将跟踪路由结果提供给您的 DNS 解析器和 192.168.1.251