首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ping到FQDN失败了,但是dig成功了?

为什么ping到FQDN失败了,但是dig成功了?
EN

Server Fault用户
提问于 2019-04-12 23:21:49
回答 1查看 1.2K关注 0票数 0

当我尝试平某个FQDN时,我失败了:

代码语言:javascript
复制
$ ping test-customer-1.clients.jsonar.com
ping: test-customer-1.clients.jsonar.com: Name or service not known

然而,dig等人。成功:

代码语言:javascript
复制
$ dig test-customer-1.clients.jsonar.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> test-customer-1.clients.jsonar.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57830
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test-customer-1.clients.jsonar.com. IN A

;; ANSWER SECTION:
test-customer-1.clients.jsonar.com. 3119 IN CNAME _r1.clients.jsonar.com.
_r1.clients.jsonar.com. 3119    IN  CNAME   _w1.clients.jsonar.com.
_w1.clients.jsonar.com. 3119    IN  A   3.209.217.53

;; Query time: 15 msec
;; SERVER: 192.168.1.99#53(192.168.1.99)
;; WHEN: Fri Apr 12 15:44:21 PDT 2019
;; MSG SIZE  rcvd: 115

$ nslookup test-customer-1.clients.jsonar.com.
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
test-customer-1.clients.jsonar.com  canonical name = _r1.clients.jsonar.com.
_r1.clients.jsonar.com  canonical name = _w1.clients.jsonar.com.
Name:   _w1.clients.jsonar.com
Address: 3.209.217.53

$ host test-customer-1.clients.jsonar.com
test-customer-1.clients.jsonar.com is an alias for _r1.clients.jsonar.com.
_r1.clients.jsonar.com is an alias for _w1.clients.jsonar.com.
_w1.clients.jsonar.com has address 3.209.217.53

文件:

代码语言:javascript
复制
$ cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.1.99
nameserver 8.8.8.8

$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s31f6"
UUID="cf566dc0-de91-497d-a045-560fddfbaf3e"
DEVICE="enp0s31f6"
ONBOOT="yes"
DNS1=8.8.8.8

$ cat /etc/nsswitch.conf | grep hosts
#hosts:     db files nisplus nis dns
#hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname
hosts:      files dns myhostname

编辑:

代码语言:javascript
复制
$ getent hosts test-customer-1.clients.jsonar.com
$ echo $?
2
# According to the man page, exit code 2 means: 
# One or more supplied key could not be found in the database

从Linux机器点击失败,但成功从Windows机器。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-04-18 16:25:55

事实证明,这个问题是由一个非常奇怪的错误配置引起的: DNS中的test-customer-1.clients.jsonar.com记录是NS而不是A记录。(看起来Windows并不在意,这就是为什么Windows机器的pings是成功的,但是*nix将此错误配置(正确地)视为可能的安全漏洞,并使ping失败)。

一旦test-customer-1.clients.jsonar.com以A记录在DNS中注册,问题就解决了。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/962872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档