专栏首页C/C++基础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

参考文档

[1]man 3 resolver [2]man 5 resolv.conf [3]resolv.conf:search、domain、nameserver解释

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++类成员指针

    成员指针是C++引入的一种新机制,它的申明方式和使用方式都与一般的指针有所不同。成员指针分为成员函数指针和成员数据指针。

    Dabelv
  • C#常见转义字符

    ·一种特殊的字符常量; ·以反斜线"\"开头,后跟一个或几个字符。 ·具有特定的含义,不同于字符原有的意义,故称“转义”字符。 ·主要用来表示那些用一般...

    Dabelv
  • Linux 命令(118)—— bzip2 命令

    bzip2 用来压缩和解压缩文件,是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,采用 Burrow-Wheeler 块排序文本压缩算法和 ...

    Dabelv
  • linux修改DNS地址

    不知道大家有没有这样的感觉,就是上网的时候域名解析很慢,是什么原因呢?当然是可恶的运营商,垃圾的运营商了,现在我教大家修改自己的DNS解析地址来加快上网的速度

    bboysoul
  • DNS域名服务器

    4.1    域名服务器 4.1.1    简介     DNS(Domain Name Server,...

    cfs
  • [京东价格监控网站]自定义商品监控/品类商品监控/降价邮件提醒

    这是我的个人项目,京东价格监控爬虫。开源在Github上,请各位多多支持。网站还是非常实用的。手机端打开网站请使用电脑版本显示,暂时还没做手机端适配。

    Rude3Knife的公众号
  • 恶意域名的阻止:Quad9DNS服务

    这个被称为Quad9(在服务获得的9.9.9.9互联网协议地址之后)的免费公共域名服务系统,旨在阻止与僵尸网络,网络钓鱼攻击和其他恶意Internet主机...

    躲在树上的域小名
  • 如何快速搭建一个wordpress

    如果只是个人网站或者一个访问量很小的可以用虚拟机,当然vps更好一些。国内的话建议腾讯云、国外可以选香港的vps,访问性价比较高。

    笑君日常
  • 「 神器 」用得贼舒服的压缩/解压缩工具

    压缩/解压缩软件是电脑上必备软件,大多数人都是用的WinRAR / WinZip,但其实它们都是收费软件,与其盗版,不如找个好用的正品。

    KEN DO EVERTHING
  • Python爬取B站5000条视频,揭秘为何千万人为它流泪

    导语:我们特邀作者Yura爬取B站5000条视频,为你揭秘电影《哪吒》的更多“优秀梗”,看完还能Get新技能,赶快往下滑吧。

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券