小编Mik*_*her的帖子

`ping` 不遵守 /etc/resolv.conf 命令

CentOS 7。我的问题是一个看似常见的问题,nslookup可以解决主机,但ping不能。然而,像弄乱avahi 或 /etc/nsswitch.conf这样的常见答案无济于事,因为我的 VPS 既没有运行 Avahi 也没有运行 NetworkManager。(换句话说,我可以/etc/nsswitch.conf通过设置中断hosts: filesping继续工作)

/etc/resolv.conf 如下:

nameserver 10.44.13.246
nameserver 10.32.72.88
nameserver 10.32.72.86
Run Code Online (Sandbox Code Playgroud)

第一个名称服务器指向dnsmasq在我的另一个 VPS 上运行的实例,最后两个是托管服务提供商的 DNS 服务器。我希望按顺序查询它们(最后两个只是最后的退路)。

现在,对于该dnsmasq实例中定义的任何主机,nslookup始终有效,并且ping某些时候也有效——主机将正确解析,然后中断,然后几分钟后又会正常。但是,如果我etc/resolv.conf像这样删除上游 DNS 服务器,

nameserver 10.44.13.246
#nameserver 10.32.72.88
#nameserver 10.32.72.86
Run Code Online (Sandbox Code Playgroud)

然后ping立即开始工作100% 的时间。这直接与 resolv.conf 文档相矛盾,它说在没有option rotate指令的情况下,服务器按顺序查询,直到发送响应。

nscd 正在运行并且正在被命中,因为我可以看到这些有问题的查询的缓存命中/未命中计数器上升。

我该如何解决这个问题?

domain-name-system linux

3
推荐指数
1
解决办法
3164
查看次数

标签 统计

domain-name-system ×1

linux ×1