浅析Linux resolv.conf

作者:Dabelv 时间:2022-05-15 19:13:35 

1.简介

resolv.conf是各种操作系统域名系统解析器(DNS Resolver)的配置文件。每当一个程序需要通过域名来访问Internet上面的其它主机时,需要利用Resolver库函数将域名转换成对应的IP,然后才可进行访问。

注意,域名系统解析器(DNS Resolver)并非一个可执行程序,而是C语言的一系列库函数,用于解析resolv.conf获取域名对应的IP。关于Resolver的解释,可以使用man 3 resolver查看帮助手册。

2.配置详情

resolv.conf的配置主要包含如下几项:
(1)nameserver x.x.x.x。用于配置DNS服务器,可以使用多个nameserver指定多个DNS服务器。
(2)search domain1 domain2 baidu.com。该选项可以用来指定多个域名,中间用空格或tab键隔开。其作用是当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,重新请求DNS,直到被正确解析或试完search指定的域名列表为止。比如:


#ping news
PING news.baidu.com (74.125.128.101) 56(84) bytes of data.
64 bytes from hg-in-f101.1e100.net (74.125.128.101): icmp_req=1 ttl=47 time=78.9 ms
64 bytes from hg-in-f101.1e100.net (74.125.128.101): icmp_req=2 ttl=47 time=63.6 ms

(3)domain mydomain.com。用于定义本地域名。在没有设置search的情况下,search默认为domain的值。
(4)sortlist IP/netmask IP。允许将得到的域名结果进行特定的排序。它的参数为IP或掩码-IP对,掩码是可选的,使用斜杠分隔。比如:


sortlist 130.155.160.0/255.255.240.0 130.155.0.0

(5)options。用于配置resolver的内置变量,不是resolv.conf的常见配置。语法格式如下:


options [option] ...

option部分取值如下:

ndots:[n]:设置调用res_query()解析域名时域名至少包含的点的数量
timeout:[n]:设置等待dns服务器返回的超时时间,单位秒。默认值RES_TIMEOUT=5,参见<resolv.h>
attempts:[n]:设置resolver向DNS服务器发起域名解析的请求次数。默认值RES_DFLRETRY=2,参见<resolv.h>
rotate:在_res.options中设置RES_ROTATE,采用轮询方式访问nameserver,实现负载均衡
no-check-names:在_res.options中设置RES_NOCHECKNAME,禁止对传入的主机名和邮件地址进行无效字符检查,比如下划线(_),非ASCII字符或控制字符

3.注意事项

(1)search和domain不能共存,如果同时存在,以最后出现的为准。
(2)分号(;)或井号(#)开头的行为注释行;
(3)每一个配置项必须单独成行,且以关键词开头,空格分隔配置值。

4.示例

下面是一个resolv.conf的内容。


nameserver 202.102.192.68
nameserver 202.102.192.69
search qq.com baidu.com
options no-check-names
options attempts:1
options timeout:1

来源:https://cloud.tencent.com/developer/article/1369633

标签:Linux,resolv.conf
0
投稿

猜你喜欢

  • 交互性与口碑传播 看博客的广告两大策略

    2009-01-20 10:37:00
  • Ftp命令小全

    2008-07-17 12:49:00
  • 2010年建站系统TOP10

    2010-10-19 12:30:00
  • 分级防御 针对Linux服务器攻击防范

    2009-09-20 20:04:00
  • Ubuntu下VIM配置成C++开发编辑器

    2023-06-12 00:43:35
  • linux不支持所有命令的解决办法

    2023-11-03 03:59:01
  • 与新站长探讨网站推广的三个问题

    2009-02-03 09:28:00
  • 博客网站优化的60个技巧

    2009-02-04 10:57:00
  • Vmware12虚拟机安装教程 Vmware12虚拟机上安装Oracle

    2023-03-01 20:10:49
  • linux增加iptables防火墙规则的示例

    2023-08-06 01:11:22
  • 在CentOS 7.2下安装Mono 5.0的方法教程

    2021-07-05 10:58:00
  • Linux服务器:邮件系统的原理

    2010-08-15 18:56:00
  • 谈谈网站运营中的关键的一环 团队的管理

    2008-12-01 15:12:00
  • 详解如何在 CentOS 7 中添加新磁盘而不用重启系统

    2021-01-30 22:49:30
  • VMware虚拟机克隆的方法

    2021-02-07 05:03:33
  • Linux用户自定义at、cron计划任务执行的方法

    2022-07-23 10:34:15
  • 做网站为什么要如此重视百度

    2008-12-25 10:06:00
  • VMware虚拟机下linux上网的几种方式示例

    2021-04-15 06:25:08
  • Microsoft JET Database Engine (0x80004005) 未指定的错误的完美解决

    2010-08-22 19:00:00
  • WordPress设置文章页面的动态关键字和描述

    2011-09-26 20:34:01
  • asp之家 网站运营 m.aspxhome.com