ip与域名解析 dns host

参考文献:

    【1】执行顺序
所有的解析请求由linux的resolver library(指的是一些C标准库的函数,主要是 gethostbyname和gethostbyaddr)完成,它涉及/etc/host.conf和/etc/nsswitch.conf,后者优先。它会查询2个东西,一个是domain name server,具体地说,就是DNS/BIND( /etc/resolv.conf相关),一个是本地的/ets/hosts。这2个的先后顺序可以配置,在 /etc/host.conf里有一句
order hosts,bind    # hosts,bind or nis
这样的话,会先查找/etc/hosts,找不到才执行bind的DNS查找。
/etc/host.conf默认是先执行 DNS查找,而不是/etc/hosts。
但/etc/nsswitch.conf可以覆盖它:
hosts:      files dns
  就表示优先查找/etc/hosts。如果/etc/nsswitch.conf没有注明,或者没有这个文件,才去找/etc/host.conf的设置。

【2】
涉及的文件
示例
说明
/etc/hosts

127.0.0.1       localhost
192.168.1.10    foo.mydomain.org       foo
192.168.1.13    bar.mydomain.org       bar
IP_address canonical_hostname [aliases...]
#注释
/etc/resolv.conf



domain foo.com
search foo.com
nameserver 210.34.0.14
nameserver 210.34.0.2
(nameserver按顺序来,最多支持3个。如果不指定,就认为nameserver在本地)
    执行查找的对象,必=必须有domain,形式必须是XXX.domain  
domain   声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。  如果你ping abc,那么他会搜索abc.foo.com
  search   它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。  如果你ping abc,他会先找abc,找不到再找abc.foo.com
  sortlist  允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序
/etc/nsswitch.conf
hosts:      files dns

/etc/host.conf
multi on/off   表示查找/etc/hosts时,是否支持多IP地址,只对/etc/hosts有效
nospoof on    对ip地址欺骗攻击加强防范
alert on 检测到ip地址欺骗时记日志
order bind hosts


/etc/resolv.conf中domain和search的规则:
查找顺序
domain a.com
search a.com b.com
未设置domian和search,
hostname形式为XXX
未设置domian和search,
hostname形式为XXX.YYY
ping abc
abc.a.com
abc.a.com -> abc.b.com
abc
abc.YYY
ping abc.xyz
abc.xyz  ->  abc.xyz.a.com
abc.xyz  -> abc.xyz.a.com -> abc.xyz.b.com
abc.xyz
abc.xyz   ->  abc.xyz.YYY
ping abc.xyz.
ping abc.
全都不会在结尾添加额外的东西



即:
1.形式为abc.xyz,则直接解析,成功则结束,如果失败则到2;如果形式为abc,也到2
2.尝试在末尾添加domain。
if    /etc/resolv.conf有domain或search字段
       则添加上去再解析。(其中search可以指定多个)。
else
     if  `hostname` 形式为XXX.YYY
            添加.YYY,再解析
      else
              没办法,直接解析
      end

end
    






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值