一台“被修补过的” PC 可以通过 IP 进行 ping,但不能通过主机名进行 ping。如何修复?

一台“被修补过的” PC 可以通过 IP 进行 ping,但不能通过主机名进行 ping。如何修复?

像这样:

root@tis-server:~# ping www.google.com
ping: unknown host www.google.com

root@tis-server:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=55 time=50.3 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=55 time=65.4 ms

它被别人修改过,我(和他!)无法追踪他的操作。图形连接管理器也因修改而无法工作。

route add default gw 192.168.0.1每次重启时也需要至少通过 IP 进行 ping。

我该如何解决?

这是 Ubuntu 11.10


按照要求:

ifconfig 的输出:

eth0      Link encap:Ethernet  HWaddr 48:5b:39:ae:21:98  
          inet addr:192.168.0.100  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::4a5b:39ff:feae:2198/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13194 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1420596 (1.4 MB)  TX bytes:827295 (827.2 KB)
          Interrupt:42 Base address:0x2000 

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:4817 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:377732 (377.7 KB)  TX bytes:377732 (377.7 KB)

resolv.conf 的输出:

/etc/network/interfaces 的输出:

  GNU nano 2.2.6         File: /etc/network/interfaces                          

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0

答案1

对于 Ubuntu 12.04 之前的版本,您可以将名称服务器信息放在 /etc/resolv.conf 中,前提是它不是由 NetworkManager 或其他实用程序自动生成的。

键入以下命令。

echo 'nameserver 8.8.8.8' | sudo tee -a /etc/resolv.conf

要将网关添加到 /etc/network/interfaces,请在编辑器中打开该文件并添加一行

gateway 192.168.0.1

到适当的 iface 节。

答案2

如果您要声明静态 IP,则需要告诉计算机几乎所有它从 DHCP 服务器获得的信息。这是来自较新的 (12.04) Ubuntu 版本,其中dns-nameservers用于代替编辑 resolv.conf

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.1.1
dns-nameservers 192.168.0.1 8.8.8.8

这导致 /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 192.168.0.1
nameserver 8.8.8.8

答案3

我同意 Tim 的观点,您可以 ping 通但无法解析,那么这就是 DNS 问题。您需要在 /etc/resolv.conf 文件的顶部添加一行“ nameserver 8.8.8.8 ”,以便它是解析 DNS 查询时查找的第一个服务器。但是,如果您的默认网关不正确,那么您将无法离开本地网络,因此如果您可以 ping 8.8.8.8,则说明一切正常且正常工作,因此一定是 DNS。因此,请编辑 /etc/resolv.conf 文件并查看其顶部的内容。如果这是针对您的桌面的,那么我建议使用任务栏中的 GUI 来设置所有信息。

答案4

只能通过 IP 地址“ping”而不能通过主机名“ping”意味着您的 DNS 解析不正确。

但是您还必须添加默认网关 - 这表明您的初始网络设置不正确。

虽然“弹出”一个值resolv.conf似乎是个好主意 - 我建议您去设置网络连接(通过 GUI)来指定这些值。看看情况是否有所改善。

相关内容