版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BIND9 配置手册Next Previous Contents -3. BIND9 的安装与配置3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括 域名服务器 (named) DNS解析库函数 DNS服务器运行调试所用的工具 是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,
2、DNS的故障会给你带来用户根本无法访问这些服务。BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本:v41998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用BIND4。这样一来BIND8/9的很多优点都不包括在v4中。v8就是如今使用最多最广的版本,其详细内容可以参阅 BIND 8+ 域名服务器安全增强v9最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BI
3、ND9在2000年十月份推出,现在稳定版本是9.3.2。3.2 软件的相关资源 官方网站: 最新版本: 9.3.2 帮助文档: 配置文件样例: FAQ: 3.3 配置环境 环境:GNU/Linux Debian/testing Linux 2.6.8-2-386 版本:bind9 9.3.2-2 测试域名: 测试ip: 7 主域名服务器 8 纯缓存域名服务器 9 辅助域名服务器 9 测试客户机3.4 配置文件说明 安装bind9的命令: # aptitude upda
4、te # 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.lo
5、cal -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.rfc1
6、918配置文件说明:named.conf设置一般的named参数,指向该服务器使用的域数据库的信息源named.conf.options全局选项db.root根服务器指向文件, 由Internet NIC创建和维护, 无需修改, 但是需要定期更新db.locallocalhost正向区文件,用于将名字localhost转换为本地回送IP地址 ()db.127localhost反向区文件,用于将本地回送IP地址()转换为名字localhost其中,主配置文件/etc/named.conf的配置语句 命令 用法 acl 定义IP地址的访问控制清单 control
7、 定义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&
8、quot; type master; file "/etc/bind/db.local" ; zone "127." type master; file "/etc/bind/db.127" ; zone "0." type master; file "/etc/bind/db.0" ; zone "255." type master; file "/etc/bind/db.255"
9、; 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 mig
10、ht 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 pro
11、bably want to use them as forwarders. / Uncomment the following block, and insert the addresses replacing / the all-0's placeholder. / forwarders / ; / ; auth-nxdomain no; # conform to RFC1035 ;3.5 创建主域名服务器 a. 首先, 在在7机器上安全bind9b. 使用编辑器,比如vi, 编辑配置文件/etc/bind/named.conf加入如下内容 z
12、one "" type master; /定义此区为主服务器 file "/etc/bind/db.mydebian" 指定区资源文件的位置 ; zone "102.168.192." type master; /定义此区为主服务器 file "/etc/bind/db.192" /指定区资源文件的位置 ;c. 创建区资源文件:创建区资源文件/etc/bind/db.mydebian内容如下 ; ; BIND data local loopback interface
13、 ; $TTL 604800 $ORIGIN . IN SOA . . ( 2006080401 ; Serial 604800 ; Refresh 86400 ; Retry ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns IN MX 0 . IN A 7 ns IN A 7 www IN A 7 webserver IN CNAME www mai
14、l IN A 7 ftp IN A 8 ns2 IN A 8 ns3 IN A 9第一行是TTL设定,生存时间记录字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。这里定义为604800秒,也就是1周.第二行是$ORIGIN设定,说明下面的记录出自何处.请您加倍留意最后的一个小小数点"."然后,第三行,是一个 SOA 记录的设定,在这里我们看到一个特殊字符 ,它就是 ORIGIN 的意思,也就是刚刚所定义的$ ORIGIN . 的
15、内容,您可以写成 . 也可以用 来代替。假如这个文件前面没有定义 $ ORIGIN 的话, 那這个 的值就以 named.conf 里的 zone . 接着 SOA 后面,指定了这个区域的授权主机和管理者的信箱,这里分别是"." 和"."。我们平时使用的信箱通常是“userhost”这样的格式,但因为在 DNS 记录中是个保留字符,所以在 SOA 中就用“.”来代替了。目前这个信箱是 "."。 接下来的 SOA 设置,是被括在“( )”之间的 5 组数字
16、,主要作为和 slave 服务器同步 DNS 资料所使用的资料: Serial:其格式通常会是“年月日+修改次序”(但也不一定如此,您自己能够记得就行)。当 slave 要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值“大”,就进行更新,否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字!Refresh:这里是是告诉 slave 要隔多久要进行资料同步(是否同步要看 Serial 的比较结果)。Retry:如果 slave 在进行更新失败后,要隔多久再进行重试。Expire:这是记录逾期时间:当 slave 一直未能成功与 master 取得联系
17、,那到这里就放弃 retry,同时这里的资料也将标识为过期( expired )。Minimum:这是最小默认 TTL 值,如果您在前面没有用“$TTL”来定义,就会以此值为准。 请注意:SOA 记录中这对 “ ( ) ”符号之第一个 “ (”括号一定要和 SOA 写在同一行,而不能用 Enter 断行到下一行去,而且其左边最好有一个空格键或 tab 建。而最后一个 “ )”括号也不能写在注解符号 “ ;”的右边。 置 DNS 的 RR 记录档,其格式要求非常严格,我们丝毫不能掉以轻心。比方说:如果句子不是以空格键、Tab 键、 或注解符号 ( ; )开头,也不在 SOA 的 “ ( ) ”之
18、内, 则表示要定义一个“新记录项 (Entry) ”;如果句子是以空格键或 tab 键开始的话,其设置被视为上一个“记录项”的内容。所以,如果您要为“同一个记录项”定义多个记录设置,而不想重复打字,您倒可以偷懒:在接着它的后面几行用空白或 Tab 来缩排就可以了。NS表明负责.这个域的Name Server是这台主机MX记录标明发往域的邮件由这台服务器接收A记录标明了IP地址和域名之间的对应关系接下来创建该区的反向映射资源文件/etc/bind/db.192内容如下: ; ; BIND r
19、everse data local loopback interface ; $TTL 604800 IN SOA . . ( 2006080401 ; Serial 604800 ; Refresh 86400 ; Retry ; Expire 604800 ) ; Negative Cache TTL ; IN NS . 47 IN PTR . 47 IN PTR . 47 IN PTR . 48 IN PTR . 48 IN PTR ns2.m
20、. 49 IN PTR .其中PTR记录用来解析IP地址对应的域名d. 重启DNS服务 /etc/init.d/bind9 restart此时查看系统日志,可了解BIND的启动情况,比如如下输出,则说明引导正常 tonybox:# tail /var/log/syslog Aug 14 08:36:45 localhost named2792: zone 127./IN: loaded serial 1 Aug 14 08:36:45 localhost named2792: zone 102.168.192.in-
21、/IN: loaded serial 2006080801 Aug 14 08:36:45 localhost named2792: zone 255./IN: loaded serial 1 Aug 14 08:36:45 localhost named2792: zone localhost/IN: loaded serial 1 Aug 14 08:36:45 localhost named2792: zone /IN: loaded serial 2006080801 Aug 14 08:36:45 localhost
22、named2792: running Aug 14 08:36:45 localhost named2792: zone /IN: sending notifies (serial 2006080801) Aug 14 08:36:45 localhost named2792: zone 102.168.192./IN: sending notifies (serial 2006080801) Aug 14 08:36:45 localhost named2792: client 7#1030: received not
23、ify for zone '' Aug 14 08:36:45 localhost named2792: client 7#1030: received notify for zone '102.168.192.'e. 在客户机上的设置 # cat /etc/resolv.conf search nameserver 7f. 测试:使用nslookup 测试 tonybox2:# nslookup > set type=any &g
24、t; Server: 7 Address: 7#53 origin = mail addr = serial = 2006080801 refresh = 604800 retry = 86400 expire = 2419200 minimum = 604800 nameserver = . mail exchanger = 0 mail.myde
25、. Name: Address: 7使用dig测试 tonybox2:# dig 7 ; <<>> DiG 9.3.2 <<>> 7 ; (1 server found) ; global options: printcmd ; Got answer: ; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
26、41793 ; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ; QUESTION SECTION: ;. IN A ; ANSWER SECTION: . 604800 IN A 7 ; AUTHORITY SECTION: . 604800 IN NS . ; ADDITIONAL SECTION: . 604800 IN A 192.168.
27、102.47 ; Query time: 31 msec ; SERVER: 7#53(7) ; WHEN: Mon Aug 14 09:16:27 2006 ; MSG SIZE rcvd: 79 tonybox2:# dig 7 ; <<>> DiG 9.3.2 <<>> 7 ; (1 server found) ; global options: printcmd ; Got answer: ; ->>HEADER<&l
28、t;- opcode: QUERY, status: NOERROR, id: 63890 ; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ; QUESTION SECTION: ;. IN A ; ANSWER SECTION: . 604800 IN A 8 ; AUTHORITY SECTION: . 604800 IN NS . ; ADDITIONAL SECTION: . 6048
29、00 IN A 7 ; Query time: 22 msec ; SERVER: 7#53(7) ; WHEN: Mon Aug 14 09:16:41 2006 ; MSG SIZE rcvd: 83反向查询 tonybox2:# dig 7 -x 7 ; <<>> DiG 9.3.2 <<>> 7 -x 7 ; (1 server found) ; global
30、 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: ;92.. IN PTR ; ANSWER SECTION: 92.. 604800 IN PTR . 47.102.
31、168.192.. 604800 IN PTR . 92.. 604800 IN PTR . ; AUTHORITY SECTION: 102.168.192.. 604800 IN NS . ; ADDITIONAL SECTION: . 604800 IN A 7 ; Query time: 33 msec ; SERVER: 7#53(1
32、7) ; WHEN: Mon Aug 14 09:17:00 2006 ; MSG SIZE rcvd: 1383.6 纯缓存域名服务器 8 为我们的dns 缓存服务器,首先, 在在8 机器上安全bind9, 在配置前我们用dig 进行测试 tonybox2:/etc/bind# dig 8 ; <<>> DiG 9.3.2 <<>> 8 ; (1 server found) ; global options: prin
33、tcmd ; Got answer: ; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 34137 ; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ; QUESTION SECTION: ;. IN A ; Query time: 1844 msec ; SERVER: 8#53(8) ; WHEN: Tue Aug 8 12:05:17 2006 ; MSG SIZE rcvd
34、: 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 / que
35、stions 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 repla
36、cing / the all-0's placeholder. forwarders 7; /主域名服务器的IP地址 ; auth-nxdomain no; # conform to RFC1035 ;然后再进行测试 tonybox2:/etc/bind# dig 8 ; <<>> DiG 9.3.2 <<>> 8 ; (1 server found) ; global options: printcmd ; Got answer: ; ->>HEA
37、DER<<- opcode: QUERY, status: NOERROR, id: 54332 ; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ; QUESTION SECTION: ;. IN A ; ANSWER SECTION: . 604800 IN A 7 ; AUTHORITY SECTION: . 604800 IN NS . ; ADDITIONAL SECTION: . 6048
38、00 IN A 7 ; Query time: 44 msec ; SERVER: 8#53(8) ; WHEN: Tue Aug 8 12:05:47 2006 ; MSG SIZE rcvd: 80所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。我们知道,当DNS服务器接到客户端主机的查询请求
39、时,首先会检查这个查询是否属于本机管辖,否则将转向 "." zone 再逐级的查询下去,最后再把查询结果告诉客户端。在这个过程之中,DNS服务器还会将查询到的结果存放到缓存中。只要缓存中的 TTL 没过期,在下次遇到同样查询的时候,就可以直接将结果响应给客户端,而无需再重复上次的查询流程。如果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。但无论这个结果是自己直接查询得来
40、的,还是 forwarder 送回来的,DNS服务器都会保存一份数据在缓存中。这样,以后的相同查询就快多了,这对于DNS所服务的 客户端而言查询效率会提高很多。 /var/named/named.ca dig a.root- . ns > /var/named/named.ca3.7 辅助域名服务器 a. 9 为我们的dns 缓存服务器,首先, 在在9 机器上安全bind9,b. 在主配置文件/etc/named.conf中加入如下内容: zone "" type slave; file &q
41、uot;/etc/bind/slaves/db.mydebian" masters 7; ; zone "102.168.192." type slave; file "/etc/bind/slaves/db.192" masters 7; ;type后面的值已经成为slave; 表示定义的是辅助域名服务器 file后面也可以是别的文件名不必与主域DNS服务器的设置一样 masters 后为主域DNS服务器的IP地址, 可以是多个IP,型如 masters ip1;ip
42、2;ip3;c. 创建/etc/bind/slaves/目录 tonybox2:/etc/bind# mkdir slaves tonybox2:/etc/bind# chown bind.bind slavesd. 重启dns服务 tonybox2:/etc/bind/slaves# /etc/init.d/bind9 restartnamed进程第一次启动时,辅助域名服务器就下载主域名服务器的信息;辅助域名服务器根据主域名服务器的对应SOA记录规定的刷新时间间隔,去主域名服务器查询相关信息。 tonybox2:/etc/bind/slaves# ls -l total 8 -rw-r-r- 1 bind bind 410 2006-08-08 12:23 db.192 -rw-r-r- 1 bind bind 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全咨询员冲突解决评优考核试卷含答案
- 色彩搭配师风险评估与管理强化考核试卷含答案
- 西式糕点师保密意识评优考核试卷含答案
- 尾矿处理工班组协作能力考核试卷含答案
- 2025年《职业能力倾向测验》常识判断考核试题(易错题)
- 2025四川荥经县人力资源和社会保障局招聘社区专职工作者8人备考题库附答案
- 绢人工岗前工作规范考核试卷含答案
- 面包师持续改进水平考核试卷含答案
- 运动营养师班组建设知识考核试卷含答案
- 乳品加工工操作规范模拟考核试卷含答案
- 九宫数独200题(附答案全)
- 免责协议告知函
- 部编版八年级上册语文《期末考试卷》及答案
- 医院信访维稳工作计划表格
- 蕉岭县幅地质图说明书
- 地下车库建筑结构设计土木工程毕业设计
- (完整word版)人教版初中语文必背古诗词(完整版)
- GB/T 2261.4-2003个人基本信息分类与代码第4部分:从业状况(个人身份)代码
- GB/T 16601.1-2017激光器和激光相关设备激光损伤阈值测试方法第1部分:定义和总则
- PDM结构设计操作指南v1
- 投资学-课件(全)
评论
0/150
提交评论