在我的 centos 上我遇到了一个问题。
我不能:
[root@server]# telnet www.google.com 80
telnet: www.google.com: Name or service not known
www.google.com: Unknown server error
[root@server]#
但是我可以挖掘 google.com
[root@server]# dig www.google.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 42872
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;www.google.com. IN A
;; Query time: 0 msec
;; SERVER: 180.188.196.76#53(180.188.196.76)
;; WHEN: Mon Oct 15 20:15:21 2012
;; MSG SIZE rcvd: 32
[root@server] #
我的 resolv.conf 是
# Automatically generated by OnApp (2.3.2)
domain com
nameserver 180.188.196.76
nameserver 8.8.4.4
nameserver 8.8.8.8
答案1
测试其他域服务器(例如 8.8.8.8 或 8.8.4.4):
dig @8.8.4.4 www.google.com
如果它可以解析该名称,请将其放在 /etc/resolv.conf 文件的第一位,然后再次尝试连接端口 80
telnet www.google.com 80
如果这仍然不起作用,那么问题就出在您的互联网连接或网络配置上,而不是 DNS 上。
答案2
一开始,看起来服务器拒绝了您的请求:
status: REFUSED
但是,如果我们仔细观察,0(零)毫秒是一个非常短的时间(如果服务器不在您的本地网络中)。
Query time: 0 msec
;; SERVER: 180.188.196.76#53(180.188.196.76)
很难说清楚问题是什么...
您是否对 DNS 使用了一些本地缓存?
- 使用您本地或 ISP 的 DNS,避免使用全球免费的 DNS 服务器 - 您可能会在访问 CDN 文件时遇到一些问题。
- 运行 BIND