当前位置: 首页 > 编程笔记 >

浅析Linux resolv.conf

禹昆
2023-03-14
本文向大家介绍浅析Linux resolv.conf,包括了浅析Linux resolv.conf的使用技巧和注意事项,需要的朋友参考一下

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

以上就是浅析Linux resolv.conf的详细内容,更多关于Linux resolv.conf的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 前面我们讲解了 express 中路由和模板引擎 ejs 的用法,但 express 的精髓并不在此,在于中间件的设计理念。 3.4.1 中间件与 next express 中的中间件(middleware)就是用来处理请求的,当一个中间件处理完,可以通过调用 next() 传递给下一个中间件,如果没有调用 next(),则请求不会往下传递,如内置的 res.render 其实就是渲染完 html

  • 前面我们讲解了 express 中路由和模板引擎 ejs 的用法,但 express 的精髓并不在此,在于中间件的设计理念。 3.4.1 中间件与 next express 中的中间件(middleware)就是用来处理请求的,当一个中间件处理完,可以通过调用 next() 传递给下一个中间件,如果没有调用 next(),则请求不会往下传递,如内置的 res.render 其实就是渲染完 html

  • 本文向大家介绍浅析mysql索引,包括了浅析mysql索引的使用技巧和注意事项,需要的朋友参考一下 数据库索引是一种数据结构,目的是提高表的操作速度。可以使用一个或多个列,提供快速随机查找和访问记录的高效排序来创建索引。 要创建的索引,应当认为哪列将用于使SQL查询,创建对这些列的一个或多个索引。 实际上,索引也是表,其中保存主键或索引字段的指针并指向每个记录到实际的表的类型。 用户无法看到索引,

  • 本文向大家介绍浅析JavaScript动画,包括了浅析JavaScript动画的使用技巧和注意事项,需要的朋友参考一下 今天,小学生以自己浅薄的见地,在前辈大能的基础上写这篇文章,希望给大家打开一扇窥探JavaScript(以下简称JS)动画的窗户。 JS如何制造出动画效果?   结合浏览器提供的 setInterval 或 setTimeout API,高频改变DOM元素的一些属性,即可创造一个

  • 本文主要以 http-example 为例来分析。 前言 MOSN是基于Go开发的sidecar,用于service mesh中的数据面代理,建议先看下一个sidecar的自我修养 对sidecar 的基本概念、原理有所了解。 手感 使用 MOSN 作为 HTTP 代理。 通过设置 log level 为debug,代码中加更多日志来辅助分析代码。本文主要以http-example 为例来分析。

  • 本文向大家介绍Python yield 使用浅析,包括了Python yield 使用浅析的使用技巧和注意事项,需要的朋友参考一下 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会