在 Debian Linux 中未正确设置 DNS?

Joh*_*n E 10 networking dns debian

我的网络上有一个静态IP 地址。

我可以 ping Google 的其中一台服务器:

root@napajohn:~# ping 74.125.224.72
PING 74.125.224.72 (74.125.224.72) 56(84) bytes of data.
64 bytes from 74.125.224.72: icmp_req=2 ttl=49 time=76.5 ms
64 bytes from 74.125.224.72: icmp_req=3 ttl=49 time=75.6 ms
64 bytes from 74.125.224.72: icmp_req=4 ttl=49 time=76.6 ms
64 bytes from 74.125.224.72: icmp_req=5 ttl=49 time=76.6 ms
Run Code Online (Sandbox Code Playgroud)

但我无法解析任何主机名:

root@napajohn:~# ping www.google.com
ping: unknown host www.google.com
Run Code Online (Sandbox Code Playgroud)

我应该注意到我在代理后面,但这不应该影响不解析名称。我也无法解析我的代理名称。

这些是我的 /etc/hosts 文件的内容:

root@napajohn:~# cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.0.1 napadev
Run Code Online (Sandbox Code Playgroud)

这些是我的 /etc/networks 文件的内容:

root@napajohn:~# cat /etc/networks
default         0.0.0.0
loopback        127.0.0.0
link-local      169.254.0.0
Run Code Online (Sandbox Code Playgroud)

这些是我的 /etc/network/interfaces 文件的内容:

root@napajohn:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

#default bootstrap static address
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
        address 129.83.161.162
        netmask 255.255.255.0
        gateway 129.83.161.254
Run Code Online (Sandbox Code Playgroud)

This is the content of my /etc/netswitch.conf file:

root@napajohn:~# cat /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 dns
networks:       files

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

netgroup:       nis
Run Code Online (Sandbox Code Playgroud)

Some output of various commands:

One:

root@napajohn:~# getent hosts
127.0.0.1       localhost
127.0.0.1       localhost ip6-localhost ip6-loopback
127.0.0.1       napadev
Run Code Online (Sandbox Code Playgroud)

Two:

root@napajohn:~# find / -name resolv*
/usr/lib/gcc/4.4.7/gcc-4.4.7/gcc/fortran/resolve.c
/usr/share/vim/vim72/syntax/resolv.vim
Run Code Online (Sandbox Code Playgroud)

Three:

root@napajohn:~# find / -name named.*
/usr/lib/gcc/4.4.7/gcc-4.4.7/gcc/testsuite/g++.dg/cpp0x/named.C
/usr/share/vim/vim72/syntax/named.vim
Run Code Online (Sandbox Code Playgroud)

Four:

root@napajohn:~# grep -riI dns /etc
/etc/insserv.conf:$named                +named +dnsmasq +lwresd +bind9 $network
/etc/lynx-cur/lynx.cfg:# until a valid Internet host is created, based on a successful DNS
/etc/lynx-cur/lynx.cfg:# no-proxy zones in the DNS domain name space.  If a tail substring of the
/etc/services:mdns              5353/tcp                        # Multicast DNS
/etc/services:mdns              5353/udp                        # Multicast DNS
/etc/udhcpd.conf:# as the dns option, they can be listed on the same line, or multiple
/etc/udhcpd.conf:opt    dns     192.168.10.2 192.168.10.10
/etc/udhcpd.conf:option dns     129.219.13.81   # appened to above DNS servers for a total of 3
/etc/udhcpd.conf:#opt dns
/etc/profile.d/napa_config.sh:#export NAPA_DNS='192.168.42.1'
/etc/ssl/certs/Verisign_Time_Stamping_Authority_CA.pem:/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11
/etc/ssl/certs/95750816.0:/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11
/etc/ssl/certs/a3896b44.0:9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
/etc/ssl/certs/DigiCert_Assured_ID_Root_CA.pem:VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
/etc/ssl/certs/69105f4f.0:VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
/etc/ssl/certs/ca-certificates.crt:VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
/etc/ssl/certs/ca-certificates.crt:9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
/etc/ssl/certs/ca-certificates.crt:/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11
/etc/ssl/certs/Security_Communication_Root_CA.pem:9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
/etc/ssl/certs/6f5d9899.0:VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
/etc/ssl/certs/6f5d9899.0:9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
/etc/ssl/certs/6f5d9899.0:/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11
/etc/ssh/ssh_config:#   GSSAPITrustDNS no
/etc/nsswitch.conf:hosts:          files dns
Run Code Online (Sandbox Code Playgroud)

Five:

root@napajohn:~# grep -riI name-server /etc
root@napajohn:~# grep -riI nameserver /etc
/etc/services:nameserver        42/tcp          name            # IEN 116
Run Code Online (Sandbox Code Playgroud)

Six:

root@napajohn:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:c9:28:e3:96
          inet addr:129.83.161.162  Bcast:129.83.161.255  Mask:255.255.255.0
          inet6 addr: fe80::215:c9ff:fe28:e396/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:128 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1586688 (1.5 MiB)  TX bytes:13557 (13.2 KiB)
          Interrupt:80

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:900 errors:0 dropped:0 overruns:0 frame:0
          TX packets:900 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:72008 (70.3 KiB)  TX bytes:72008 (70.3 KiB)
Run Code Online (Sandbox Code Playgroud)

I have spent a couple hours trying to figure out potential causes of this problem, but from what I have read and tried so far, everything seems normal (as in what people have suggested in other threads is already fine/exists on my machine), except that I do not have an /etc/named.conf file nor do I have an /etc/resolv.conf file. I could create them (how would I even know what to put in?) but I don't think that would solve the problem. Suggestions?

I am running:

root@napajohn:~# cat /etc/debian_version
6.0.3
root@napajohn:~# uname -a
Linux napajohn 2.6.34 #4 Mon Oct 31 16:41:13 EDT 2011 armv7l GNU/Linux
Run Code Online (Sandbox Code Playgroud)

Edit 1, after strkol's comment:

root@napajohn:~# echo "nameserver 8.8.8.8" > /etc/resolv.conf
root@napajohn:~# ping www.google.com
ping: unknown host www.google.com
Run Code Online (Sandbox Code Playgroud)

小智 10

您需要 /etc/resolv.conf 文件。它告诉服务器使用哪些名称服务器作为解析器。我怀疑您的服务器当前正在尝试使用自身,并且您没有将 name 配置为充当解析器。

询问您的 ISP 或托管服务提供商使用哪些名称服务器作为解析器。如果所有其他方法都失败了,请将以下内容放入 /etc/resolv.conf,这两个应该可以工作:

nameserver 208.67.220.220
nameserver 208.67.222.222
Run Code Online (Sandbox Code Playgroud)