![Centos 服务器可以 ping 通 IP,但无法 ping 通域名](https://linux22.com/image/773559/Centos%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%AF%E4%BB%A5%20ping%20%E9%80%9A%20IP%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%20ping%20%E9%80%9A%E5%9F%9F%E5%90%8D.png)
我有 3 台 DigitalOcean 服务器(AMS3)。突然,三台服务器同时面临同样的问题。似乎这些服务器无法连接到外界。我尝试 ping 不同的 IP 地址和域。结果如下:
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: icmpseq=1 ttl=60 time=2.11 ms
64 bytes from 8.8.8.8: icmpseq=2 ttl=60 time=0.946 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=60 time=0.724 ms
ping google.com
ping: google.com: Name or service not known
我在 StackOverflow、ServerFault 和 DO Community 上搜索了解决方案。有人建议该文件/etc/resolv.conf
可能有问题。这是我的/etc/resolv.conf
文件:
cat /etc/resolv.conf
; Created by cloud-init on instance boot automatically, do not edit.
nameserver 8.8.8.8
nameserver 8.8.4.4
您可能想要查看的其他文件的内容:
cat /etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
#initgroups: files sss
#hosts: db files nisplus nis dns
hosts: files dns myhostname
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: nisplus sss
publickey: nisplus
automount: files nisplus sss
aliases: files nisplus
cat /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
DEFROUTE=yes
DEVICE=eth0
GATEWAY=174.138.0.1
HWADDR=16:68:53:c5:4e:5e
IPADDR=174.138.X.Y
IPADDR1=10.18.0.19
IPV6ADDR=2A03:B0C0:0002:00D0:0000:0000:X:Y/64
IPV6INIT=yes
IPV6_DEFAULTGW=2A03:B0C0:0002:00D0:0000:0000:0000:0001
MTU=1500
NETMASK=255.255.240.0
NETMASK1=255.255.0.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
dig google.com @8.8.8.8
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.4 <<>> google.com @8.8.8.8
;; global options: +cmd
;; connection timed out; no servers could be reached
dig google.com @2001:4860:4860::8888
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.4 <<>> google.com @2001:4860:4860::8888
;; global options: +cmd
;; connection timed out; no servers could be reached
cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 bizcloud-vds bizcloud-vds
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
::1 bizcloud-vds bizcloud-vds
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
174.138.XXX.YYY cm105srv.ABC.ir cm105srv
任何帮助都将受到赞赏。
答案1
要配置接口以使用特定DNS
服务器,请将以下行添加到文件ifcfg
:
PEERDNS=no
DNS1=ip-address
DNS2=ip-address
其中 ip-address 是服务器的地址DNS
。这将导致网络服务/etc/resolv.conf
使用DNS
指定的服务器进行更新。只有一个DNS
服务器地址是必需的,另一个是可选的。
答案2
我花了几天时间才找到问题的根源。我创建了一个新的 DigitalOcean droplet,新创建的服务器也存在同样的问题。所以,我发现 DO 本身有问题。我希望这能帮助其他遇到同样问题的人。