DNS单机部署以及智能dns部署

dns理论

dns的出现

网络出现的早期是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件)。这个文件中记录着主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。

但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪重负,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的演化,直到现今的多层架构体系。

dns的解析过程

首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:

(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;

(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;

(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机           所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。

(4)若没有找到,则返回错误信息。

用户访问网站流程

第一步:客户端用户从浏览器输入www.baidu.com网站网址后回车,系统会查询本地hosts文件及DNS缓存信息,查找是否存在网址对应的IP解析记录。如果有就直接获取到IP地址,然后访问网站,一般第一次请求时,DNS缓存是没有解析记录的;

第二步:如果客户端没有DNS缓存或hosts没有对应www.baidu.com网站网址的域名解析记录,那么,系统会把浏览器的解析请求,交给客户端本地设置的DNS服务器地址解析(此DNS为LDNS,即Local DNS),如果LDNS服务器的本地缓存有对应的解析记录,就会直接返回IP地址;如果没有,LDNS会负责继续请求其它的DNS服务器;

第三步:LDNS会从DNS系统的“.”根开始请求www.baidu.com域名的解析,经过一系列的查找各个层次DNS服务器,最终会查找到www.baidu.com域名对应的授权DNS服务器,而这个授权DNS服务器,正是该企业购买域名时用于管理域名解析的服务器。这个服务器有www.baidu.com对应的IP解析记录,如果此时都没有,就表示企业的运维人员么有给www.baidu.com域名做解析;

第四步:baidu.com域名对应的授权DNS服务器会把www.baidu.com对应的最终IP解析记录发给LDNS;

第五步:LDNS把收到来自授权DNS服务器关于www.baidu.com对应的IP解析记录发给客户端浏览器,并且在LDNS本地把域名和IP的对应解析缓存起来,以便下一次更快的返回相同的解析请求的记录;

第六步:客户端浏览器获取到了www.baidu.com的对应IP地址,接下来浏览器会请求获得的IP地址对应的Web服务器,Web服务器接收到客户的请求并响应处理,将客户请求的内容返回给客户端浏览器;

至此,一次访问浏览网页的完整过程就完成了

博客地址:http://www.cnblogs.com/xinlibao/p/6633890.html

dns的分类

主DNS服务器:就是一台存储着原始资料的DNS服务器。

从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也称辅助DNS服务器。

缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。

转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

dig解析详解

[[email protected] xlb1.com]# dig -t A baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37773

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 6

;; QUESTION SECTION:      #查询的内容

;baidu.com.                      IN    A

;; ANSWER SECTION: #相应的内容,一般会得到至少一条A 记录,否则就还没有定义。

baidu.com.              347 IN    A      111.13.101.208

;; AUTHORITY SECTION:  #授权信息

baidu.com.              22823     IN    NS    ns7.baidu.com.

baidu.com.              22823     IN    NS    ns4.baidu.com.

baidu.com.              22823     IN    NS    ns3.baidu.com.

baidu.com.              22823     IN    NS    ns2.baidu.com.

baidu.com.              22823     IN    NS    dns.baidu.com.

;; ADDITIONAL SECTION:  #每个授权服务器的IP

dns.baidu.com.               22823     IN    A      202.108.22.220

ns2.baidu.com.               22823     IN    A      61.135.165.235

ns3.baidu.com.               22823     IN    A      220.181.37.10

ns4.baidu.com.               22823     IN    A      220.181.38.10

ns7.baidu.com.               22823     IN    A      119.75.219.82

caishikou.redirect.        3600        IN    A      127.0.0.1

;; Query time: 35 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)  #查询的dns服务器

;; WHEN: Sun Nov 26 21:23:41 2017

;; MSG SIZE  rcvd: 247

智能dns解析原理

DNS智能解析简单的来说就是根据DNS服务器根据客户端请求IP的不同来给客户端返回不同的服务器地址,比如说电信用户访问www.baidu.com的时候DNS服务器会返回给用户电信服务器,网通用户访问www.baidu.com的时候DNS服务器会返回给用户网通服务器,这样就解决了南北用户访问过慢或电信用户访问网通服务器过慢的问题,国内著名的DNSpod实现的也是这样的一个功能,而BIND9自带的VIEW视图功能就可以完全实现这个功能。VIEW视图可以说是BIND9一个最强大的功能之一,他可以完全按照你要求来实现DNS服务器对不同IP、不同网段的智能解析工作。

学习Bind

Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS.

环境准备

配置yum源。

我用的系统是centos6.8,使用centos6.8自带的yum源即可,同时确保机器可以解析外网域名,并能连接公网。

部署单dns

Yum安装bind

yum install bind-utils bind bind-devel bind-chroot -y

检查:

[[email protected] ~]# rpm -qa|grep bind

bind-9.8.2-0.62.rc1.el6_9.4.x86_64

bind-chroot-9.8.2-0.62.rc1.el6_9.4.x86_64

bind-devel-9.8.2-0.62.rc1.el6_9.4.x86_64

bind-libs-9.8.2-0.62.rc1.el6_9.4.x86_64

bind-utils-9.8.2-0.62.rc1.el6_9.4.x86_64

编辑主配置文件之前copy一份cp /etc/named.conf{,.bak}

编辑主配置文件vi /etc/named.conf(配置文件,定义bind进程的工作属性,区域的定义。)

options {

  version "1.1.1";

  listen-on port 53 {any;}; #表示监听任何ip对53端口的请求

  directory "/var/named/chroot/etc/";

  pid-file "/var/named/chroot/var/run/named/named.pid";

  allow-query { any; }; #表示接收任何来源查询dns

  Dump-file "/var/named/chroot/var/log/binddump.db";

  Statistics-file "/var/named/chroot/var/log/named_stats";

  zone-statistics yes;

  memstatistics-file "log/mem_stats";

  empty-zones-enable no;

  forwarders {202.106.196.115;8.8.8.8; };

};

key "rndc-key" {

        algorithm hmac-md5;

        secret "Eqw4hClGExUWeDkKBX/pBg==";

};

controls {

       inet 127.0.0.1 port 953

               allow { 127.0.0.1; } keys { "rndc-key"; };

 };

logging {

  channel warning {

    file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m;

    severity warning;

    print-category yes;

    print-severity yes;

    print-time yes;

  };

  channel general_dns {

    file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;

    severity info;

    print-category yes;

    print-severity yes;

    print-time yes;

  };

  category default {

    warning;

  };

  category queries {

    general_dns;

  };

};

include "/var/named/chroot/etc/view.conf";

编辑/etc/rndc.key(实现让远程工作的密钥文件)

key "rndc-key" {

        algorithm hmac-md5;

        secret "Eqw4hClGExUWeDkKBX/pBg==";

};

编辑/etc/rndc.conf(rndc的配置文件)

key "rndc-key" {

        algorithm hmac-md5;

        secret "Eqw4hClGExUWeDkKBX/pBg==";

};

options {

        default-key "rndc-key";

        default-server 127.0.0.1;

        default-port 953;

};

编辑/var/named/chroot/etc/view.conf

view "View" {

  zone "xlb.com" {

        type    master;

        file    "xlb.com.zone";

        allow-transfer {

                10.255.253.211;

        };

        notify  yes;

        also-notify {

                10.255.253.211;

        };

  };

};

  

编辑/var/named/chroot/etc/xlb.com.zone

$ORIGIN .

$TTL 3600       ; 1 hour

xlb.com                  IN SOA  op.xlb.com. dns.xlb.com. (

                                2000       ; serial

                                900        ; refresh (15 minutes)

                                600        ; retry (10 minutes)

                                86400      ; expire (1 day)

                                3600       ; minimum (1 hour)

                                )

                        NS      op.xlb.com.

$ORIGIN xlb.com.

shanks              A       1.2.3.4

op              A       1.2.3.4

修改权限

[[email protected] ~]# cd /var && chown -R named.named named/

[[email protected] var]# /etc/init.d/named start

Starting named:                                            [  OK  ]

域名解析验证

[[email protected] var]# dig @127.0.0.1 shanks.xlb.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> @127.0.0.1 shanks.xlb.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18531

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;shanks.xlb.com.                      IN    A

;; ANSWER SECTION:

shanks.xlb.com.              3600        IN    A      1.2.3.4

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; ADDITIONAL SECTION:

op.xlb.com.             3600        IN    A      1.2.3.4

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Nov 23 17:34:15 2017

;; MSG SIZE  rcvd: 81
[[email protected] ~]# dig @172.16.1.128 shanks.xlb.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> @172.16.1.128 shanks.xlb.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39717

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;shanks.xlb.com.                      IN    A

;; ANSWER SECTION:

shanks.xlb.com.              3600        IN    A      1.2.3.4

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; ADDITIONAL SECTION:

op.xlb.com.             3600        IN    A      1.2.3.40

;; Query time: 0 msec

;; SERVER: 172.16.1.128#53(172.16.1.128)

;; WHEN: Thu Nov 23 18:04:51 2017

;; MSG SIZE  rcvd: 81

配置智能dns(view视图)

编辑主配置文件vim /etc/named.conf   ##直接复制粘贴即可

options {

        listen-on port 53 {any;};

        allow-recursion {"none";};

        recursion yes;

        allow-query {any;};

        max-cache-ttl 900;

        directory "/var/named";

        pid-file "/var/named/named.pid";

        dump-file "/var/named/named_dump.db";

        statistics-file "/var/named/named.status";

};

include "/var/named/view/test1_view/ip";

include "/var/named/view/test1_view/view.conf";

编辑配置文件/var/named/view/test1_view/ip

##文件test1_view是没有的需要手动创建

mkdir /var/named/view/test1_view/ -p

##编辑配置文件ip

acl test1_view{

            192.168.1.110;

};

acl test2_view{

            172.16.1.50;

};

##编辑view.conf文件

view "test1" {

        match-clients { test1_view;};

        zone "xlb.com" in {

                 type master;

                 file "/var/named/xlb.com/zone.xlb.com";

                 allow-update{none;};

        };

};

view "test2" {

         match-clients { test2_view;};

         zone "xlb.com" in {

                 type master;

                 file "/var/named/xlb.com/zone.xlb1.com";

                 allow-update{none;};

        };

};

编辑/var/named/xlb.com/zone.xlb.com

##创建目录:

mkdir /var/named/xlb.com/ -p

##编辑 /var/named/xlb.com/zone.xlb.com

$ORIGIN .

$TTL 3600       ; 1 hour

xlb.com                  IN SOA  op.xlb.com. dns.xlb.com. (

                                2000       ; serial

                                900        ; refresh (15 minutes)

                                600        ; retry (10 minutes)

                                86400      ; expire (1 day)

                                3600       ; minimum (1 hour)

                                )

                        NS      op.xlb.com.

$ORIGIN xlb.com.

shanks              A       1.2.3.5

op              A       1.2.3.6

##编辑 /var/named/xlb.com/zone.xlb1.com

$ORIGIN .

$TTL 3600       ; 1 hour

xlb.com                  IN SOA  op.xlb.com. dns.xlb.com. (

                                2005       ; serial

                                900        ; refresh (15 minutes)

                                600        ; retry (10 minutes)

                                86400      ; expire (1 day)

                                3600       ; minimum (1 hour)

                                )

                        NS      op.xlb.com.

$ORIGIN xlb.com.

op                 A       192.168.122.2

shanks               A       192.168.122.2

编辑master节点vim /var/named/chroot/etc/group2.viewlnh.com.zone

$ORIGIN .

$TTL 3600       ; 1 hour

viewlnh.com                  IN SOA  op.viewlnh.com. dns.viewlnh.com. (

                                2005       ; serial

                                900        ; refresh (15 minutes)

                                600        ; retry (10 minutes)

                                86400      ; expire (1 day)

                                3600       ; minimum (1 hour)

                                )

                        NS      op.viewlnh.com.

$ORIGIN viewlnh.com.

op                 A       192.168.122.2

view               A       192.168.122.2

配置完成后可以检查语法

named-checkconf

修改文件所属,加载配置。

chown named.named /var/named/*

rndc reload

验证 IP地址192.168.1.110

[[email protected] xlb.com]# dig -t A op.xlb.com @192.168.1.110 #这是我本机ip就是dns服务器ip

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A op.xlb.com @192.168.1.110

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 418

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;op.xlb.com.                     IN    A

;; ANSWER SECTION:

op.xlb.com.             3600        IN    A      1.2.3.6

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; Query time: 0 msec

;; SERVER: 192.168.1.110#53(192.168.1.110)

;; WHEN: Mon Nov 27 09:54:38 2017

;; MSG SIZE  rcvd: 58
[[email protected] xlb.com]# dig -t A shanks.xlb.com @192.168.1.110

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A shanks.xlb.com @192.168.1.110

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12427

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;shanks.xlb.com.                      IN    A

;; ANSWER SECTION:

shanks.xlb.com.              3600        IN    A      1.2.3.5

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; ADDITIONAL SECTION:

op.xlb.com.             3600        IN    A      1.2.3.6

;; Query time: 0 msec

;; SERVER: 192.168.1.110#53(192.168.1.110)

;; WHEN: Mon Nov 27 09:56:14 2017

;; MSG SIZE  rcvd: 81

验证ip地址172.16.1.50

[[email protected] xlb.com]# dig -t A shanks.xlb.com @172.16.1.50

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A shanks.xlb.com @172.16.1.50

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20873

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;shanks.xlb.com.                      IN    A

;; ANSWER SECTION:

shanks.xlb.com.              3600        IN    A      192.168.122.2

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; ADDITIONAL SECTION:

op.xlb.com.             3600        IN    A      192.168.122.2

;; Query time: 0 msec

;; SERVER: 172.16.1.50#53(172.16.1.50)

;; WHEN: Mon Nov 27 09:58:20 2017

;; MSG SIZE  rcvd: 81

[[email protected] xlb.com]# dig -t A op.xlb.com @172.16.1.50

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A op.xlb.com @172.16.1.50

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23688

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;op.xlb.com.                     IN    A

;; ANSWER SECTION:

op.xlb.com.             3600        IN    A      192.168.122.1

;; AUTHORITY SECTION:

xlb.com.          3600        IN    NS    op.xlb.com.

;; Query time: 0 msec

;; SERVER: 172.16.1.50#53(172.16.1.50)

;; WHEN: Mon Nov 27 10:00:06 2017

;; MSG SIZE  rcvd: 58
时间: 2024-10-29 03:18:07

DNS单机部署以及智能dns部署的相关文章

第十三周---DNS原理、实现智能DNS及源码编译mariadb数据库

1.  简述DNS服务器原理,并搭建主-辅服务器. (1)递归查询: 递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态. 当收到DNS工作站的查询请求后,DNS服务器在自己的缓存或区域数据库中查找,如找到则返回结果,如找不到,返回错误结果.即DNS服务器只会向DNS工作站返回两种信息:要么是在该DNS

Windows Server 2016 智能DNS(一)

说到智能DNS,作为一个IT人员来说并不陌生,但是一般都是第三方提供的,很少可以在本地实现,今天我们说说可以在本地实现配置智能DNS的解决方案,那就是Windows Server 2016下通过配置DNS Policy可以实现智能DNS解析,我们必须要重申一下,只有Windows Server 2016下的DNS才支持哦,Windows Server 2016已经发布很长时间了,所以今天我们对于Windows Server上DNS支持的功能我们做一下功能演示,首先介绍的是DNS Policy G

linux 使用bind部署智能DNS

其实真的是掌握了,电信或者网通的路由表就是可以做智能DNS 上次已经装好了,bind 9.6.1 直接开始吧: vi /etc/named.conf key "rndc-key" {        algorithm hmac-md5;        secret "jDw02/wylWu8aMTIDpN+Wg=="; }; controls {        inet 127.0.0.1 port 953                allow { 127.0.

Azure虚拟机部署Skype for Business Server 二、部署AD、DNS

上一章节全面概述了Azure虚拟机部署Skype for Business Server的详细步骤,这一章节主要讲述如何在Azure虚拟机部署AD(Active Directory)和DNS服务器,在部署之前需要先按照上一章创建1-5,分开创建以便更详细的了解模块化的过程. 此次全部实验使用国际版Azure,管理入口:https://portal.azure.com 创建Resource groups,把部署Skype所用到的资源都放在规划的资源组,方便标识和查找 Resource groups

高校智能DNS解析技术总结分析

写在正文之前: DNS:域名系统 DNS功能:提供域名及IP地址的解析查询服务 正向解析:已知域名www.abc.com,查询其对应的IP地址. 反向解析:已知IP地址,查询该服务器上配置的域名信息. 常用工具:nslookup 域名记录: NS记录:解析服务器记录,用于声明解析该域名的服务器.例dns.abc.com MX记录:邮件交换记录,用于指向该域名下的邮件服务器.例mail.abc.com A记录:正向解析记录 CNAME记录:别名记录 PTR记录:反向解析记录 SVR记录:一种资源记

利用智能DNS和squid反向代理模拟简易CDN

前提本次实验应该用到5台Server和至少两台测试Client.但受制于服务器数量影响,实际一共用到了3台服务器,其中权威DNS本次没有配置.智能DNS跟CDN缓存节点1共用同一台服务器. 本次实验不介绍源站Server的搭建.本实验环境中用的是现成的系统.本次实验默认读者已经了解 DNS的相关知识,如A记录.CNAME记录.NS记录等.本次实验默认读者已经了解CDN的基本原理.本次实验默认读者了解Linux基本的知识点.如果不具备以上知识点,请先补充完善自己的知识体系. 实验规划:1. 客户源

烂泥:智能DNS使用与配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 公司的业务现在已经扩展到海外,对外提供的统一接口都是通过域名来解析的,但是海外用户访问国内接口的话,你懂的,很慢的.为了提高域名解析的速度,打算使用智能DNS功能,来解决海外用户域名解析慢的问题. PS:以下所有实验,都是使用我的博客www.ilanni.com域名来进行的测试. 国内用户访问www.ilanni.com解析到121.40.187.200这个IP. 国外用户访问www.

智能dns

acl inet { 172.16.0.0/16; 192.168.1.0/24;}; allow-query {inet;}; none; any; 智能DNS view view  VIEW_NAME  { }: 所有的区域都必须定义在视图中 zone "."定义在需要递归的区域中 acl  telecom { 172.16.0.0/16:127.0.0.0/8:}: acl  unicom  { 192.168.0.0/24;0.0.0.0/0;}; options { dire

访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)

大型网站或多受众用户服务网站在中国特定网络环境下,离不开CDN(内容服务网络)及用户调度.而CDN与用户调度则涉及智能DNS解析与用户定位的问题. 大家知道,现在很多网站的 GLSB 都是基于 DNS 来做用户定位调度.DNS 的解析流程如下: 比如,我是北京的用户,我的 DNS 为 202.106.0.20.当我要打开 www.php-oa.com 时,先会给请求发给 ISP 告诉我的 DNS.这个叫 Local DNS .然后其它的向根域和二级域的查询,都是由 Local DNS 帮我完成的