zoukankan      html  css  js  c++  java
  • 内网DNS

    有待整理

    https://www.cnblogs.com/f-ck-need-u/p/7367503.html   大佬的详细博文

    一、介绍

    1、/etc/resolv.conf中关键字searchdomain的作用

      resolv.conf是resolver类库使用的配置文件,每当一个程序需要通过域名来访问internet上面的其它主机时,需要利用该类库将域名转换成对应的IP,然后才可进行访问.

    domain:

      声明主机的域名。如果没有域名,主机名将被使用。domain mydomain.com  这个用来指定本地的域名,在没有设置search的情况下,search默认为domain的值。

    search:

      它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search 声明的域中分别查找。domain 和search 不能共存;如果同时存在,后面出现的将会被使用。

    主要是用来补全hostname,有时候域名太长,可以做一个短域名做主机名字,但是DNS解析需要的是FQDN,而在resolv.conf中设置search能进行补全。

    search google.com baidu.com  该选项可以用来指定多个域名,中间用空格或tab键隔开。当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,重新请求DNS,直到被正确解析或试完search指定的列表为止。

    比如 ping  zjz不通

    配置后

    search firefoxbug.net
    nameserver 114.114.114.114 
    

    ping zjz  就成了. ping   zjz.firefoxbug.net

    二、部署

    三、DNS域名解析流程

    DNS服务器里存着一张,表中放着域名和IP地址,域名和IP地址以映射关系保存,即一对一

    浏览器访问某个域名,实际上是访问它的ip地址

    所以浏览器需要知道域名对应的ip地址,由此产生dns解析查询流程。

    以客户端浏览器访问 www.rootkit.org 域名为例,

    1、首先去检查当前浏览器缓存是否有对应IP,如果有,就直接响应,如果没有,就继续往下找。

    2、接着,操作系统会去检查自己的hosts文件,如果从中没找到对应关系,会再到系统dns缓存中查,如果缓存中有,就直接返回该域名所对应的ip。

    3、如果缓存中没有,则会向我们事先设置好的dns服务器 [ 一般有两个, DNS1 & DNS2 ] 去请求,即所谓的`递归查询`,dns服务器首先会到自身解析数据库中去查。

    4、如果dns1(dns2)服务器在自己的解析库中也没找到,它就会自动帮我们向根服务器发送询问请求。

    5、此时,根看到要请求的是org的后缀(.org),就会把org所在的dns服务器告诉我们的dns。

    6、然后,我们的dns服务器就会去请求org所在的dns服务器

    7、当请求到达org dns服务器时,org一看域名是在rootkit这个域下的,就会把rootkit所在的dns服务器告诉我们的dns服务器

    8、再然后,我们的dns服务器就会去请求rootkit这个域名的dns服务器

    9、rootkit这个域的dns服务器一看是要访问www就直接找到了www对应的A记录的ip,并把它丢给我们的dns,上面逐个询问的过程,即 `迭代查询`

    10、最后,我们的dns再把最终解析到的这个ip丢给我们的客户端,然后客户端就直接拿着去访问了

    11、返回来的权威结果本地就会就会进行缓存,以便下次查询

    简洁版
           1.先向本地dns缓存查看有没有该域名对应的ip地址,有直接跳出,没有接着往下
      2.向根dns服务器询问域名对应的ip地址(根dns服务器会让他去查询顶级dns服务器)
      3.向顶级dns服务器询问域名对应的ip地址(顶级dns服务器会让他去查询权威dns服务器)
      4.向权威dns服务器询问域名对应的ip地址(权威dns服务器会让他去查询二级dns服务器)
      5.向二级dns服务器询问域名对应的ip地址(二级dns服务器会返回对应的ip地址)
      6.接收到ip地址后,会先把ip和域名对应关系保存到本地dns缓存,以便下次方便访问

  • 相关阅读:
    (8) MySQL主从复制架构使用方法
    (7) MySQL数据库备份详解
    (6) MySQL慢查询日志的使用
    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
    (5) 电商场景下的常见业务SQL处理
    (4) MySQL中EXPLAIN执行计划分析
    (3) MySQL分区表使用方法
    (2) 电商数据库表设计
    (1) Mysql高性能优化规范建议
    linux每日命令(39):lsof命令
  • 原文地址:https://www.cnblogs.com/zjz20/p/11700994.html
Copyright © 2011-2022 走看看