为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DNS

2012-08-05 16页 doc 111KB 32阅读

用户头像

is_116103

暂无简介

举报
DNS1. 声明 · 版本信息: 本文档的最新版本将张贴于: LinuxSir.Org论坛 Debian 发行版讨论区 ; 也可以从 http://debian.linuxsir.org/ HYPERLINK "http://debian.linuxsir.org/" 获取. · 反馈: 所有评论, 错误报告, 其他信息以及批评, 请邮寄到 etony@tom.com HYPERLINK "mailto:etony@tom.com" ; 或在LinuxSir.Org论坛 Debian发行版讨论区 张贴. ...
DNS
1. 声明 · 版本信息: 本文档的最新版本将张贴于: LinuxSir.Org论坛 Debian 发行版讨论区 ; 也可以从 http://debian.linuxsir.org/ HYPERLINK "http://debian.linuxsir.org/" 获取. · 反馈: 所有评论, 错误报告, 其他信息以及批评, 请邮寄到 etony@tom.com HYPERLINK "mailto:etony@tom.com" ; 或在LinuxSir.Org论坛 Debian发行版讨论区 张贴. · 版权信息: 本文档的版权(c)2006-2007 归 etony C.F.AN 所有. 转载请注明源自 http://debian.linuxsir.org/ HYPERLINK "http://debian.linuxsir.org/" . 2. DNS 系统基础 Internet上的成千上万台主机都是通过IP地址来区分的。当大家对IP地址了解后,发现去记这些数字很难记。能否有些方便我们记忆的形式来互相访问?在这种需求之下,我们有了DNS(域名) 。 2.1 DNS 定义 DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。 例如,多数用户喜欢使用友好的名称(如 debian.linuxsir.org)来查找计算机,如网络上的邮件服务器或 Web 服务器。友好名称更容易了解和记住。但是,计算机使用数字地址在网络上进行通讯。为更容易地使用网络资源,DNS 等命名系统提供了一种方法,将计算机或服务的用户友好名称映射为数字地址。 下图显示了 DNS 的基本用途,即根据计算机名称查找其 IP 地址。 DNS示意图 本例中,客户端计算机查询 DNS 服务器,要求获得某台计算机(Debian.linuxsir.org)的 IP 地址。由于 DNS 服务器能够根据其本地数据库应答此查询,因此,它将以包含所请求信息的应答来回复客户端,即一条主机 (A) 资源记录,其中含有 Debian.linuxsir.org 的 IP 地址信息(211.93.98.20)。 此例显示了单个客户端与 DNS 服务器之间的简单 DNS 查询。实际上,DNS 查询要复杂得多,包含此处未显示的许多其他步骤。 2.2 DNS的结构 DNS是一个分层级的分散式名称对应系统有点像电脑的目录树结构在最顶端的是一个“.”(root)然後其下分为好几个基本类别名称如com、org、edu等再下面是组织名称如cisco、intel等继而是主机名称如www、mail、ftp等。因为当初internet是从美国发起的所以当时并没有国域名称但随着后来internet的蓬勃发展DNS也加进了诸如cn、jp、au等国域名称。所以一个完整的dns名称就好像是这样的www.xyz.com.cn而整个名称对应的就是一个IP地址了。 在开始的时候root下面只有六个组织类别 类别名称 代表意思 edu 教育学术单位 org 组织机构 net 网路通讯单位 com 公司企业 gov 政府机关 mil 军事单位 不过自从组织类别名称开放以後各种各样五花八门的名称也相继现出来了但无论如何取名的规则最好量适合网站性质。除了原来的类别资料由美国的NIC(Network Information Center)管理之外其它在国域以下的类别分别由该国的NIC管理。 2.3 DNS 查询的工作原理 当 DNS 客户端需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户端发送的每条查询消息都包括三条信息,指定服务器回答的问: * 指定的 DNS 域名,规定为完全合格的域名 (FQDN) * 指定的查询类型,可根据类型指定资源记录,或者指定查询操作的专用类型。 * DNS 域名的指定类别。 例如,指定的名称可为计算机的 FQDN,如 Debian.linuxsir.org ,并且指定的查询类型用于通过该名称搜索地址 (A) 资源记录。将 DNS 查询看作客户端向服务器询问由两部分组成的问题,如“您是否拥有名为‘Debian.linuxsir.org’的计算机的 A 资源记录?”当客户端收到来自服务器的应答时,它将读取并解释应答的 A 资源记录,获取根据名称询问的计算机的 IP 地址。 DNS 查询以各种不同的方式进行解析。有时,客户端也可使用从先前的查询获得的缓存信息在本地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询。DNS 服务器也可代表请求客户端查询或联系其他 DNS 服务器,以便完全解析该名称,并随后将应答返回至客户端。这个过程称为递归。 另外,客户端自己也可尝试联系其他的 DNS 服务器来解析名称。当客户端执行此操作时,它会根据来自服务器的参考答案,使用其他的独立查询。这个过程称为迭代。 总之,DNS 查询进程分两部分进行: * 名称查询从客户端计算机开始,并传输至解析程序即 DNS 客户端服务程序进行解析。 * 不能在本地解析查询时,可根据需要查询 DNS 服务器来解析名称。 2.4 Internet上域名命名的一般规则 由于Internet上的各级域名是分别由不同机构管理的,所以,各个机构管理域名的方式和域名命名的规则也有所不同。但域名的命名也有一些共同的规则,主要有以下几点: 域名中只能包含以下字符: 1. 26个英文字母 2. “0,1,2,3,4,5,6,7,8,9”十个数字 3. “-”(英文中的连词号)。 域名中字符的组合规则: 1. 在域名中,不区分英文字母的大小写 2. 对于一个域名的长度是有一定限制的 2.5 常见资源记录 SOA(Start Of Authority) 起始授权记录表示一个授权区的开始 A (Address) 将主机名转换为地址。这个字段保存以点分隔的十进制形式的IP地址。任何给定的主机都只能有一个A记录,因为这个记录被认为是授权信息。这个主机的任何附加地址名或地址映射必须用CNAME类型给出 CNAME (Canonical NAME) 给定一个主机的别名,主机的别名记录是在这个主机的A记录中指定的 MX (Mail eXchanger) 建立邮件交换器记录。MX记录告诉邮件传送进程把邮件送到另一个系统,这个系统知道如何将它递送到它的最终目的地 NS (Name Server) 一个域的域名服务器。NS资源记录的数据字段包括这个域名服务器的DNS名。我们还需要指定这个名字名字服务器的地址与主机名相匹配的A记录 PTR (domain name PoinTeR) 将地址变换成主机名。主机名必须是规范主机名 3. BIND9 的安装与配置 3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 的一个实现,提供了DNS主要功能的开放实现,包括 · 域名服务器 (named) · DNS解析库函数 · DNS服务器运行调试所用的工具 是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的, 按照ISC的,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,DNS的故障会给你带来用户根本无法访问这些服务。 BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本: v4 1998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用BIND4。这样一来BIND8/9的很多优点都不包括在v4中。 v8 就是如今使用最多最广的版本,其详细内容可以参阅 BIND 8+ 域名服务器安全增强 v9 最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BIND9在2000年十月份推出,现在稳定版本是9.3.2。 3.2 软件的相关资源 官方网站: http://www.bind.com/ 最新版本: 9.3.2 http://www.isc.org/sw/bind/bind9.3.php#download 帮助文档: http://www.isc.org/sw/bind/ 配置文件样例: http://www.bind.com/bind.html FAQ: http://www.nominum.com/getOpenSourceResource.php?id=6 3.3 配置环境 环境:GNU/Linux Debian/testing Linux 2.6.8-2-386 版本:bind9 9.3.2-2 测试域名:mydebian.org 测试ip: 192.168.102.47 主域名服务器 192.168.102.48 纯缓存域名服务器 192.168.102.49 辅助域名服务器 192.168.102.49 测试客户机 3.4 配置文件说明 安装bind9的命令: ~# aptitude update ~# aptitude install bind9 bind9-host dnsutils 配置文件族: # ls /etc/bind/ -l total 44 -rw-r--r-- 1 root root 237 Jan 16 2006 db.0 -rw-r--r-- 1 root root 271 Jan 16 2006 db.127 -rw-r--r-- 1 root root 237 Jan 16 2006 db.255 -rw-r--r-- 1 root root 353 Jan 16 2006 db.empty -rw-r--r-- 1 root root 256 Jan 16 2006 db.local -rw-r--r-- 1 root root 1507 Jan 16 2006 db.root -rw-r--r-- 1 root bind 1611 Jan 16 2006 named.conf -rw-r--r-- 1 root bind 165 Jan 16 2006 named.conf.local -rw-r--r-- 1 root bind 672 Jan 16 2006 named.conf.options -rw-r----- 1 bind bind 77 Aug 4 08:41 rndc.key -rw-r--r-- 1 root root 1317 Jan 16 2006 zones.rfc1918 配置文件说明: named.conf 设置一般的named参数,指向该服务器使用的域数据库的信息源 named.conf.options 全局选项 db.root 根服务器指向文件, 由Internet NIC创建和维护, 无需修改, 但是需要定期更新 db.local localhost正向区文件,用于将名字localhost转换为本地回送IP地址 (127.0.0.1) db.127 localhost反向区文件,用于将本地回送IP地址(127.0.0.1)转换为名字localhost 其中,主配置文件/etc/named.conf的配置语句  命令 用法  acl 定义IP地址的访问控制清单  control 定义ndc使用的控制通道  include 把其他文件包含到配置文件中  key 定义授权的安全密钥  logging 定义日志写什么,写到哪 opitons 定义全局配置选项和缺省值   server 定义远程服务器的特征  trunsted-keys 为服务器定义DNSSEC加密密钥  zone 定义一个区 默认情况下, 内容如下: include "/etc/bind/named.conf.options"; zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; include "/etc/bind/named.conf.local"; 其中type项的值: master:表示定义的是主域名服务器 slave :表示定义的是辅助域名服务器 hint:表示是互联网中根域名服务器 在Debian环境中,options语句的配置内容, 被移至named.conf.options文件中: options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you might need to uncomment the query-source // directive below. Previous versions of BIND always asked // questions using port 53, but BIND 8.1 and later use an unprivileged // port by default. // query-source address * port 53; // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 }; 3.5 创建主域名服务器 a. 首先, 在在192.168.102.47机器上安全bind9 b. 使用编辑器,比如vi, 编辑配置文件/etc/bind/named.conf 加入如下内容 zone "mydebian.org" { type master; //定义此区为主服务器 file "/etc/bind/db.mydebian"; 指定区资源文件的位置 }; zone "102.168.192.in-addr.arpa" { type master; //定义此区为主服务器 file "/etc/bind/db.192"; //指定区资源文件的位置 }; c. 创建区资源文件: 创建区资源文件/etc/bind/db.mydebian内容如下 ; ; BIND data file for local loopback interface ; $TTL 604800 $ORIGIN mydebian.org. @ IN SOA mydebian.org. root.mydebian.org. ( 2006080401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns IN MX 0 mail.mydebian.org. @ IN A 192.168.102.47 ns IN A 192.168.102.47 www IN A 192.168.102.47 webserver IN CNAME www mail IN A 192.168.102.47 ftp IN A 192.168.102.48 ns2 IN A 192.168.102.48 ns3 IN A 192.168.102.49 第一行是TTL设定,生存时间记录字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。这里定义为604800秒,也就是1周. 第二行是$ORIGIN设定,说明下面的记录出自何处.请您加倍留意最后的一个小小数点"." 然后,第三行,是一个 SOA 记录的设定,在这里我们看到一个特殊字符 @ ,它就是 ORIGIN 的意思,也就是刚刚所定义的$ ORIGIN mydebian.org. 的内容,您可以写成 mydebian.org. 也可以用 @ 来代替。 假如这个文件前面没有定义 $ ORIGIN 的话, 那這个 @ 的值就以 named.conf 里的 zone . 接着 SOA 后面,指定了这个区域的授权主机和管理者的信箱,这里分别是"mydebian.org." 和"root.mydebian.org."。我们平时使用的信箱通常是“user@host”这样的格式,但因为@在 DNS 记录中是个保留字符,所以在 SOA 中就用“.”来代替了@。目前这个信箱是 "root@mydebian.org."。 接下来的 SOA 设置,是被括在“( )”之间的 5 组数字,主要作为和 slave 服务器同步 DNS 资料所使用的资料: Serial:其格式通常会是“年月日+修改次序”(但也不一定如此,您自己能够记得就行)。当 slave 要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值“大”,就进行更新,否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字! Refresh:这里是是告诉 slave 要隔多久要进行资料同步(是否同步要看 Serial 的比较结果)。 Retry:如果 slave 在进行更新失败后,要隔多久再进行重试。 Expire:这是记录逾期时间:当 slave 一直未能成功与 master 取得联系,那到这里就放弃 retry,同时这里的资料也将标识为过期( expired )。 Minimum:这是最小默认 TTL 值,如果您在前面没有用“$TTL”来定义,就会以此值为准。 请注意:SOA 记录中这对 “ ( ) ”符号之第一个 “ (”括号一定要和 SOA 写在同一行,而不能用 Enter 断行到下一行去,而且其左边最好有一个空格键或 tab 建。而最后一个 “ )”括号也不能写在注解符号 “ ;”的右边。 置 DNS 的 RR 记录档,其格式要求非常严格,我们丝毫不能掉以轻心。比方说:如果句子不是以空格键、Tab 键、 或注解符号 ( ; )开头,也不在 SOA 的 “ ( ) ”之内, 则表示要定义一个“新记录项 (Entry) ”;如果句子是以空格键或 tab 键开始的话,其设置被视为上一个“记录项”的内容。所以,如果您要为“同一个记录项”定义多个记录设置,而不想重复打字,您倒可以偷懒:在接着它的后面几行用空白或 Tab 来缩排就可以了。 NS表明负责mydebian.org.这个域的Name Server是mydebian.org这台主机 MX记录标明发往mydebian.org域的邮件由mail.mydebian.org这台服务器接收 A记录标明了IP地址和域名之间的对应关系 接下来创建该区的反向映射资源文件 /etc/bind/db.192内容如下: ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA mydebian.org. root.mydebian.org. ( 2006080401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS mydebian.org. 47 IN PTR mail.mydebian.org. 47 IN PTR www.mydebian.org. 47 IN PTR ns.mydebian.org. 48 IN PTR ftp.mydebian.org. 48 IN PTR ns2.mydebian.org. 49 IN PTR ns3.mydebian.org. 其中PTR记录用来解析IP地址对应的域名 d. 重启DNS服务 /etc/init.d/bind9 restart 此时查看系统日志,可了解BIND的启动情况,比如如下输出,则说明引导正常 tonybox:~# tail /var/log/syslog Aug 14 08:36:45 localhost named[2792]: zone 127.in-addr.arpa/IN: loaded serial 1 Aug 14 08:36:45 localhost named[2792]: zone 102.168.192.in-addr.arpa/IN: loaded serial 2006080801 Aug 14 08:36:45 localhost named[2792]: zone 255.in-addr.arpa/IN: loaded serial 1 Aug 14 08:36:45 localhost named[2792]: zone localhost/IN: loaded serial 1 Aug 14 08:36:45 localhost named[2792]: zone mydebian.org/IN: loaded serial 2006080801 Aug 14 08:36:45 localhost named[2792]: running Aug 14 08:36:45 localhost named[2792]: zone mydebian.org/IN: sending notifies (serial 2006080801) Aug 14 08:36:45 localhost named[2792]: zone 102.168.192.in-addr.arpa/IN: sending notifies (serial 2006080801) Aug 14 08:36:45 localhost named[2792]: client 192.168.102.47#1030: received notify for zone 'mydebian.org' Aug 14 08:36:45 localhost named[2792]: client 192.168.102.47#1030: received notify for zone '102.168.192.in-addr.arpa' e. 在客户机上的设置 # cat /etc/resolv.conf search mydebian.org nameserver 192.168.102.47 f. 测试: 使用nslookup 测试 tonybox2:~# nslookup > set type=any > mydebian.org Server: 192.168.102.47 Address: 192.168.102.47#53 mydebian.org origin = mydebian.org mail addr = root.mydebian.org serial = 2006080801 refresh = 604800 retry = 86400 expire = 2419200 minimum = 604800 mydebian.org nameserver = ns.mydebian.org. mydebian.org mail exchanger = 0 mail.mydebian.org. Name: mydebian.org Address: 192.168.102.47 使用dig测试 tonybox2:~# dig @192.168.102.47 mydebian.org ; <<>> DiG 9.3.2 <<>> @192.168.102.47 mydebian.org ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41793 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;mydebian.org. IN A ;; ANSWER SECTION: mydebian.org. 604800 IN A 192.168.102.47 ;; AUTHORITY SECTION: mydebian.org. 604800 IN NS ns.mydebian.org. ;; ADDITIONAL SECTION: ns.mydebian.org. 604800 IN A 192.168.102.47 ;; Query time: 31 msec ;; SERVER: 192.168.102.47#53(192.168.102.47) ;; WHEN: Mon Aug 14 09:16:27 2006 ;; MSG SIZE rcvd: 79 tonybox2:~# dig @192.168.102.47 ftp.mydebian.org ; <<>> DiG 9.3.2 <<>> @192.168.102.47 ftp.mydebian.org ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63890 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;ftp.mydebian.org. IN A ;; ANSWER SECTION: ftp.mydebian.org. 604800 IN A 192.168.102.48 ;; AUTHORITY SECTION: mydebian.org. 604800 IN NS ns.mydebian.org. ;; ADDITIONAL SECTION: ns.mydebian.org. 604800 IN A 192.168.102.47 ;; Query time: 22 msec ;; SERVER: 192.168.102.47#53(192.168.102.47) ;; WHEN: Mon Aug 14 09:16:41 2006 ;; MSG SIZE rcvd: 83 反向查询 tonybox2:~# dig @192.168.102.47 -x 192.168.102.47 ; <<>> DiG 9.3.2 <<>> @192.168.102.47 -x 192.168.102.47 ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21885 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;47.102.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 47.102.168.192.in-addr.arpa. 604800 IN PTR www.mydebian.org. 47.102.168.192.in-addr.arpa. 604800 IN PTR mail.mydebian.org. 47.102.168.192.in-addr.arpa. 604800 IN PTR mydebian.org. ;; AUTHORITY SECTION: 102.168.192.in-addr.arpa. 604800 IN NS mydebian.org. ;; ADDITIONAL SECTION: mydebian.org. 604800 IN A 192.168.102.47 ;; Query time: 33 msec ;; SERVER: 192.168.102.47#53(192.168.102.47) ;; WHEN: Mon Aug 14 09:17:00 2006 ;; MSG SIZE rcvd: 138 3.6 纯缓存域名服务器 192.168.102.48 为我们的dns 缓存服务器,首先, 在在192.168.102.48 机器上安全bind9, 在配置前我们用dig 进行测试 tonybox2:/etc/bind# dig @192.168.102.48 www.mydebian.org ; <<>> DiG 9.3.2 <<>> @192.168.102.48 www.mydebian.org ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 34137 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.mydebian.org. IN A ;; Query time: 1844 msec ;; SERVER: 192.168.102.48#53(192.168.102.48) ;; WHEN: Tue Aug 8 12:05:17 2006 ;; MSG SIZE rcvd: 34 修改named.conf.options文件 tonybox2:/etc/bind# cat named.conf.options options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you might need to uncomment the query-source // directive below. Previous versions of BIND always asked // questions using port 53, but BIND 8.1 and later use an unprivileged // port by default. // query-source address * port 53; // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 192.168.102.47; //主域名服务器的IP地址 }; auth-nxdomain no; # conform to RFC1035 }; 然后再进行测试 tonybox2:/etc/bind# dig @192.168.102.48 www.mydebian.org ; <<>> DiG 9.3.2 <<>> @192.168.102.48 www.mydebian.org ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54332 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.mydebian.org. IN A ;; ANSWER SECTION: www.mydebian.org. 604800 IN A 192.168.102.47 ;; AUTHORITY SECTION: mydebian.org. 604800 IN NS mydebian.org. ;; ADDITIONAL SECTION: mydebian.org. 604800 IN A 192.168.102.47 ;; Query time: 44 msec ;; SERVER: 192.168.102.48#53(192.168.102.48) ;; WHEN: Tue Aug 8 12:05:47 2006 ;; MSG SIZE rcvd: 80 所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。 我们知道,当DNS服务器接到客户端主机的查询请求时,首先会检查这个查询是否属于本机管辖,否则将转向 "." zone 再逐级的查询下去,最后再把查询结果告诉客户端。 在这个过程之中,DNS服务器还会将查询到的结果存放到缓存中。只要缓存中的 TTL 没过期,在下次遇到同样查询的时候,就可以直接将结果响应给客户端,而无需再重复上次的查询流程。 如果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。但无论这个结果是自己直接查询得来的,还是 forwarder 送回来的,DNS服务器都会保存一份数据在缓存中。 这样,以后的相同查询就快多了,这对于DNS所服务的 客户端而言查询效率会提高很多。 /var/named/named.ca dig @a.root-servers.net . ns > /var/named/named.ca 3.7 辅助域名服务器 a. 192.168.102.49 为我们的dns 缓存服务器,首先, 在在192.168.102.49 机器上安全bind9, b. 在主配置文件/etc/named.conf中加入如下内容: zone "mydebian.org" { type slave; file "/etc/bind/slaves/db.mydebian"; masters {192.168.102.47;}; }; zone "102.168.192.in-addr.arpa" { type slave; file "/etc/bind/slaves/db.192"; masters {192.168.102.47;}; }; type后面的值已经成为slave; 表示定义的是辅助域名服务器 file 后面也可以是别的文件名不必与主域DNS服务器的设置一样 masters 后为主域DNS服务器的IP地址, 可以是多个IP,型如 masters {ip1;ip2;ip3;}; c. 创建/etc/bind/slaves/目录 tonybox2:/etc/bind# mkdir slaves tonybox2:/etc/bind# chown bind.bind slaves d. 重启dns服务 tonybox2:/etc/bind/slaves# /etc/init.d/bind9 restart name
/
本文档为【DNS】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索