`
fredlong
  • 浏览: 135012 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux的DNS配置(resolv.conf)导致Unknown Host问题

 
阅读更多

今天接到用户投诉说不定期会收到Unknown Host的错误,怀疑是应用服务器的DNS配置有问题,上应用服务器看了下/etc/resolv.conf,发现配置的第一行是:

 

options attempts:1 timeout:1

 

nameserver 10.10.10.10

 

查询相关配置说明发现DNS这块的逻辑是:

内网的DNS服务器的地址是10.10.10.10,应用服务器到内网的DNS去解析域名,内网DNS会在缓存中查找对应的域名解析,如果缓存中没有找到对应的,就会去上一级DNS域名解析器去查询,这个过程比较复杂,我改天写一篇详细的文章来仔细说明。

目前的配置的意思是应用服务器去获取域名的这个动作只尝试一次,超时时间是一秒。也就是说服务器去DNS服务器查询域名的时候,如果服务器没有在1秒之内收到应答就直接给应用程序报错。当本地DNS缓存没有请求域名的信息的时候,会去外网查询域名,这个过程会比较不稳定。很明显超时时间设置为1秒并且不重试的情况出现解析域名超时的情况会比较常见。下面是这两个参数的详细解释。把这行设置去掉,使用默认设置后,问题消失。

 

options
              Options allows certain internal resolver variables to be modified.  The syntax is

                     options option ...

              where option is one of the following:

              debug  sets RES_DEBUG in _res.options.

              ndots:n
                     sets  a threshold for the number of dots which must appear in a name given to res_query(3) (see resolver(3)) before an initial abso‐
                     lute query will be made.  The default for n is 1, meaning that if there are any dots in a name, the name will be tried first  as  an
                     absolute name before any search list elements are appended to it.  The value for this option is silently capped to 15.

              timeout:n
                     sets  the  amount  of time the resolver will wait for a response from a remote name server before retrying the query via a different
                     name server.  Measured in seconds, the default is RES_TIMEOUT (currently 5, see <resolv.h>).  The value for this option is  silently
                     capped to 30
.

              attempts:n
                     sets  the  number of times the resolver will send a query to its name servers before giving up and returning an error to the calling
                     application.  The default is RES_DFLRETRY (currently 2, see <resolv.h>).  The value for this option is silently capped to 5.

 

分享到:
评论

相关推荐

    解决Cent0S 6.7直接在/etc/resolv.conf文件下修改DNS地址重启不生效问题

    在Linux系统中,尤其是CentOS 6.7版本,配置网络连接时,有时会遇到一些问题,例如在`/etc/resolv.conf`文件中修改DNS地址后,重启系统或网络服务,这些更改不会生效。这个问题通常与网络服务的管理方式有关,特别是...

    ubuntu网络重启后或主机重启后,_etc_resolv.conf恢复原样的解决办法 - 正风三才的博客 - CSDN博客1

    标题中的问题涉及到Ubuntu系统下 `/etc/resolv.conf` 文件在重启后被自动恢复原状的情况。这个文件在Linux系统中是用于配置DNS(域名系统)服务器的,它包含了系统进行域名解析所需的DNS服务器地址。当网络接口配置...

    详解CentOS重启后resolv.conf被重置的解决方案

    `resolv.conf`文件是Linux系统中用于存储DNS解析器配置信息的重要文件之一,其中包括了系统使用的DNS服务器地址等信息。当该文件被重置时,可能会导致网络连接问题或服务中断等问题,因此解决这一问题至关重要。 ##...

    Centos修改DNS重启或重启network服务后丢失问题解决方法

    我们在搜索Centos配置DNS信息的时候,很多都是说在这个文件进行配置”/etc/resolv.conf”,我们在这个里面加了nameserver后确实可以ping通域名,但是重启centos或者重启network服务后就无法ping通了,在”/etc/resolv...

    修复愚蠢的macOS DNS堆栈(/etc/resolv.conf)-Golang开发

    修复愚蠢的macOS DNS堆栈(/etc/resolv.conf)dns-heaven dns-heaven通过启用通过/etc/resolv.conf的本机DNS堆栈的使用来修复macOS DNS堆栈。 概述诸如dig,nslookup之类的某些程序以及使用Go编译的任何程序都不会...

    安装设定11. [补充] 如果网络连不上线再看,DNS设定resolv.conf

    [Ubuntu][Linux][教學]_安裝設定#11.__[補充]_如果網路連不上線再看,DNS設定resolv.conf

    浅析Linux resolv.conf

    Linux中的`resolv.conf`是一个至关重要的配置文件,它负责管理系统的域名系统(DNS)解析设置。这篇简短的文章将深入探讨这个文件的功能、配置细节以及一些使用注意事项。 首先,`resolv.conf`的主要功能是为DNS...

    LINUX配置DNS服务器收集.pdf

    resolv.conf 文件是 DNS 客户端的配置文件,用于指定 DNS 服务器的地址。例如,nameserver 10.0.0.1 // 它的首选 DNS。 2. named.conf 文件 named.conf 文件是 DNS 服务器的核心配置文件,用于指定 DNS 服务器的...

    ansible-resolv:配置etcresolv.conf的Ansible角色

    在这个场景中,我们关注的是一个名为 "ansible-resolv" 的特定角色,这个角色专注于配置 `/etc/resolv.conf` 文件,这是一个在 Linux 系统中至关重要的文件,因为它包含了 DNS 解析器的设置,用于将域名转换为 IP ...

    linux DNS服务器配置

    配置 DNS 解析,使用 vim 编辑器编辑 /etc/resolv.conf 文件,命令如下: vim /etc/resolv.conf 在编辑 /etc/resolv.conf 文件时,需要添加 DNS 服务器的 IP 地址,例如: nameserver 192.168.10.1 六、总结 ...

    Linux下DNS服务器的配置.pdf

    3. `/etc/resolv.conf`:DNS 域名解析的配置文件,格式很简单,每行以一个关键字开头,后接配置参数。关键字主要有四个:nameserver、domain、search 和 sortlist。 4. `/etc/named.conf`:bind 的主配置文件,比较...

    Linux下DNS服务器配置.pdf

    下一步,需要设置 DNS 地址,使用 `vi /etc/resolv.conf` 命令,可以设置 DNS 服务器的 IP 地址。在客户机的 DNS 里,需要配置为这个地址,以便于客户端可以正确地解析域名。 在配置 DNS 服务器时,需要创建两个...

    linux dns 自动 运行 产生 配置 文件的 脚本

    在大多数Linux发行版中,DNS的主要配置文件是`/etc/resolv.conf`,它包含了系统用于解析域名的DNS服务器的IP地址。然而,对于DNS服务器本身,如BIND (Berkeley Internet Name Domain),主要的配置文件是`/etc/named....

    DNS配置情况,在LINUX

    1. `/etc/resolv.conf`:这是系统默认的DNS解析器配置文件,通常包含至少一个DNS服务器的IP地址,用于系统进行域名解析。 2. `/etc/nsswitch.conf`:这个文件定义了系统如何查找各种名称服务,包括DNS。它列出了不同...

    redhatDNS配置

    在Red Hat Linux系统中,DNS配置主要通过编辑`/etc/resolv.conf`文件来实现。 #### 二、`/etc/resolv.conf` 文件详解 `/etc/resolv.conf`文件是Red Hat Linux系统中DNS解析配置的主要文件。它包含了DNS服务器的...

    linux下DNS配置详解

    1. `/etc/resolv.conf`:这是Linux系统中的DNS客户端配置文件,其中包含首选和备选DNS服务器的IP地址,以及搜索域(search domain)等信息。例如: ``` nameserver 8.8.8.8 nameserver 8.8.4.4 search example.com `...

    linux路由配置在Linux操作系统下修改IP、DNS和路由配置.pdf

    Linux 路由配置详解 Linux 操作系统下修改 IP、DNS 和路由配置是 Linux 系统...在 Linux 操作系统下修改 IP、DNS 和路由配置需要熟悉使用 ifconfig 命令和编辑网络接口配置文件、网络配置文件和 resolv.conf 文件。

    设置UbuntuDNS缓存linux服务器应用-电脑资料.pdf

    4. 修改 resolv.conf 的配置:在修改了 dnsmasq 和 dhclient 的配置文件后,需要修改 resolv.conf 的配置,以使其能够使用 dnsmasq 作为 DNS 解析服务器。使用命令 `sudo gedit /etc/resolv.conf` 可以修改配置文件...

    linux下DNS服务器的简单配置分享.pdf

    - **Linux客户端**:通过/etc/host.conf和/etc/resolv.conf配置解析器。host.conf定义查询顺序和多IP支持,resolv.conf指定DNS服务器地址和搜索域。 - **Windows客户端**:配置方法与Linux不同,需要修改网络连接...

Global site tag (gtag.js) - Google Analytics