为什么 DNS 无法解析?

为什么 DNS 无法解析?

我无法使用git clone,甚至apt-get install因为我收到“无法解析主机”错误。它们之前可以正常工作,但我不知道是什么更改破坏了 DNS 解析。我找不到有关发生了什么的任何信息。

平安:

ping google.com
ping: unknown host google.com

远程登录:

telnet google.com
telnet: could not resolve google.com/telnet: Name or service not known

NSLookup:

nslookup google.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 74.125.239.40
Name:   google.com
Address: 74.125.239.46
Name:   google.com
Address: 74.125.239.36
Name:   google.com
Address: 74.125.239.39
Name:   google.com
Address: 74.125.239.33
Name:   google.com
Address: 74.125.239.41
Name:   google.com
Address: 74.125.239.38
Name:   google.com
Address: 74.125.239.32
Name:   google.com
Address: 74.125.239.35
Name:   google.com
Address: 74.125.239.34
Name:   google.com
Address: 74.125.239.37

主持人:

host google.com
google.com has address 74.125.239.38
google.com has address 74.125.239.36
google.com has address 74.125.239.39
google.com has address 74.125.239.35
google.com has address 74.125.239.32
google.com has address 74.125.239.33
google.com has address 74.125.239.40
google.com has address 74.125.239.41
google.com has address 74.125.239.34
google.com has address 74.125.239.46
google.com has address 74.125.239.37
google.com has IPv6 address 2607:f8b0:4010:801::1009
google.com mail is handled by 50 alt4.aspmx.l.google.com
google.com mail is handled by 10 aspmx.l.google.com
google.com mail is handled by 20 alt1.l.google.com
google.com mail is handled by 40 alt3.l.google.com
google.com mail is handled by 30 alt2.l.google.com

/etc/nsswitch.conf:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal dns wins [NOTFOUND=return] mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 2001:4860:4860::8844
nameserver 2001:4860:4860::8888
nameserver 8.8.8.8

服务器:Ubuntu 14.04 Trusty、Nginx、HHVM FastCGI

route -n

Kernel IP routing table
Destination     Gateway        Genmask        Flags Metric Ref Use Iface
0.0.0.0         162.243.147.1  0.0.0.0        UG    0      0     0 eth0
162.243.147.0   0.0.0.0        255.255.255.0  U     0      0     0 eth0

在 /etc/hosts 中:

127.0.1.1 my-domain.tld my-domain.tld
127.0.0.1 localhost

::1 ip6-localhost 1p6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

答案1

我的 IPv6 配置出了问题,所以我最终删除了/etc/hosts文件的 IPv6 部分,这样一切就恢复正常了。

更多信息可以在这里找到:https://unix.stackexchange.com/questions/232434/why-host-and-nslookup-on-ubuntu-resolve-hostnames-while-ping-and-telnet

相关内容