为什么无法访问 www.google.com?

为什么无法访问 www.google.com?

我刚刚在家庭网络上安装了一台运行 Ubuntu 10.04 的新机器。出于某种奇怪的原因,我无法访问www.google.com。所有其他域名都运行正常,甚至谷歌搜索子域名也是如此docs.google.com。我不知道问题出在哪里。

curl http://www.google.com/

curl: (6) Could not resolve host: www.google.com; nodename nor servname provided, or not known

ping www.google.com

ping: cannot resolve www.google.com: Unknown host

dig www.google.com

; <<>> DiG 9.7.3-P3 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 51258
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     54813   IN  CNAME   www.l.google.com.

;; Query time: 46 msec
;; SERVER: 192.168.3.1#53(192.168.3.1)
;; WHEN: Tue Jan 10 14:48:35 2012
;; MSG SIZE  rcvd: 52

301重定向google.com可以访问,而 则不www.google.com可以。

答案1

dig返回的结果不完整,这是我得到的:

$ dig www.google.com

; <<>> DiG 9.2.1 <<>> www.google.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54679
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         0       IN      CNAME   www.l.google.com.
www.l.google.com.       263     IN      A       209.85.229.99
www.l.google.com.       263     IN      A       209.85.229.103
www.l.google.com.       263     IN      A       209.85.229.104
www.l.google.com.       263     IN      A       209.85.229.105
www.l.google.com.       263     IN      A       209.85.229.147

;; AUTHORITY SECTION:
l.google.com.           33378   IN      NS      ns3.google.com.
l.google.com.           33378   IN      NS      ns4.google.com.
l.google.com.           33378   IN      NS      ns1.google.com.
l.google.com.           33378   IN      NS      ns2.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.         193146  IN      A       216.239.32.10
ns2.google.com.         193146  IN      A       216.239.34.10
ns3.google.com.         193463  IN      A       216.239.36.10
ns4.google.com.         193146  IN      A       216.239.38.10

;; Query time: 147 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jan 10 16:23:30 2012
;; MSG SIZE  rcvd: 268

特别是你挖掘得到的答案缺少A以下记录www.l.google.com.

我会用wireshark或类似工具来查看 DNS 查询发送到哪里以及收到的 DNS 回复。比较工作和非工作 PC 上的结果。

答案2

当您dig注册 A 记录时,您的 DNS 服务器返回了没有额外记录的 CNAME。这很奇怪,可能表示服务器无法解析 www.l.google.com。

“google.com” 有效,因为 CNAME 不能与“@”记录一起使用,因此必须直接返回 A 记录。也许 DNS 服务器 192.168.3.1 正在过滤 l.google.com 域。检查它是否为dig @8.8.8.8 www.google.com您提供 A 记录。如果是,您可能需要更改 DNS 服务器。

答案3

DNS 解析似乎有问题。可能是 ISP 的 DNS 缓存有问题。您可以直接使用 Google 的 DNS 服务器“8.8.8.8”进行检查。

lab@x:~$ dig www.google.com @8.8.8.8

; <<>> DiG 9.7.3 <<>> www.google.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30985
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     81660   IN  CNAME   www.l.google.com.
www.l.google.com.   113 IN  A   74.125.236.84
www.l.google.com.   113 IN  A   74.125.236.80
www.l.google.com.   113 IN  A   74.125.236.81
www.l.google.com.   113 IN  A   74.125.236.82
www.l.google.com.   113 IN  A   74.125.236.83

;; Query time: 42 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jan 12 00:25:58 2012
;; MSG SIZE  rcvd: 132

lab@x:~$ 

如果运行正常,那么你可以改变

lab@x:~$ cat /etc/resolv.conf 

使用此 DNS 服务器,然后尝试发送 curl 请求。

相关内容