Bind9 编译安装.doc_第1页
Bind9 编译安装.doc_第2页
Bind9 编译安装.doc_第3页
Bind9 编译安装.doc_第4页
Bind9 编译安装.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Bind9 编译安装一、准备 BIND9 源代码/index.pl将最新的 BIND9 源代码包下载到 /usr/local/src 下。二、编译安装 BIND9# cd /usr/local/src# tar xzvf bind-9*.gz# cd bind-9*# ./configure -prefix=/usr/local/bind9 -enable-threads -enable-static -enable-ipv6=no注:如果需要支持 IPv6 ,则将 -enable-ipv6=no 改为 -enable-ipv6=yes 。# make# make install三、配置 BIND9 环境1. 建立 BIND9 需要的目录 (1) 配置文件目录: # mkdir /usr/local/bind9/etc (2) 域数据文件目录: # mkdir -p /usr/local/bind9/var/named (3) BIND9 运行时目录: # mkdir /usr/local/bind9/var/run (4) BIND9 日志目录 # mkdir /usr/local/bind9/var/logs2. 创建 BIND9 系统文件: # touch /usr/local/bind9/var/run/named.pid # touch /usr/local/bind9/var/named_dump.db # touch /usr/local/bind9/var/run/named.stats3. 下载最新的 named.ca 根 DNS 服务器数据文件 # cd /usr/local/bind9/var/named # wget /domain/named.root # mv named.root named.ca四、创建 BIND9 配置文件1. 创建包含root server 和 locahost. 以及 . 域的默认 named.conf 文件(见附带的 named.conf); # vi /usr/local/bind9/etc/named.conf2. 创建 localhost. 域数据文件和反解文件(见附带的 localhost.zone、localhost.rzone); # vi /usr/local/bind9/var/named/localhost.zone # vi /usr/local/bind9/var/named/localhost.rzone3. 创建 . 域数据文件和反解文件(见附带的 .zone、localhost.rzone); # vi /usr/local/bind9/var/named/.zone # vi /usr/local/bind9/var/named/.rzone五、配置 RNDC # /usr/local/bind9/sbin/rndc-confgen /usr/local/bind9/etc/rndc.conf 打开刚刚创建的 rndc.conf ,查看 # End of rndc.conf 以下部分的注释信息, 按照说明对 named.conf 进行修改。六、设置 BIND9 运行权限 # useradd named # chown -R named:named /usr/local/bind9/ # chmod 600 /usr/local/bind9/etc/* # chmod 600 /usr/local/bind9/var/* # chmod 600 /usr/local/bind9/logs/*七、启动并检查 BIND9 # /usr/local/bind9/sbin/named -4 -c /usr/local/bind9/etc/named.conf -n X -u named (其中 X 为服务器的 CPU 数量) # /usr/local/bind9/sbin/rndc status 停止 BIND9 # /usr/local/bind9/sbin/rndc stop附加信息(配置文件):named.conf:/ Generated by Comsen-Nanuoptions directory /usr/local/bind9/var/named; pid-file /usr/local/bind9/var/run/named.pid; dump-file /usr/local/bind9/var/named_dump.db; statistics-file /usr/local/bind9/var/run/named.stats;/ Loglogging channel error_log file /usr/local/bind9/var/logs/error.log versions 10 size 32m; severity warning; print-time yes; print-severity yes; print-category yes; ; channel query_log file /usr/local/bind9/var/logs/query.log versions 10 size 32m; severity info; print-time yes; print-severity yes; print-category yes; ; category default error_log; ; category queries query_log; ;/ RNDCkey rndc-key algorithm hmac-md5; secret FzWz75c8ejrACCDKV8ttoA=;controls inet port 953 allow ; keys rndc-key; ;/ Cacheing Only Name Server Configzone . IN type hint; file named.ca;/ localhost.zone localhost IN type master; file localhost.zone; allow-update none; ;zone 0.0.127. IN type master; file localhost.rzone; allow-update none; ;/ .zone IN type master; file .zone; allow-update none; ;zone 0.0.10. IN type master; file .rzone; allow-update none; ;rndc.conf:key rndc-key algorithm hmac-md5; secret FzWz75c8ejrACCDKV8ttoA=;options default-key rndc-key; default-server ; default-port 953;localhost.zone:$TTL 86400$ORIGIN localhost. IN SOA localhost. root.localhost. ( 2006083100 ; Serial (YYMMDDSN) 1800 ; Refresh 300 ; Retry 3600 ; Expiry 300 ) ; Minimum IN NS localhost. IN A localhost.rzone:$TTL 86400 IN SOA localhost. root.localhost. ( 2006083100 ; Serial (YYMMDDSN) 30M ; Refresh 5M ; Retry 1H ; Expire 5M ) ; Minimum IN NS localhost.1 IN PTR .zone:$TTL 600$ORIGIN . IN SOA . . ( 2006083100 ; Serial (YYMMDDSN) 1800 ; Refresh 300 ; Retry 3600 ; Expiry 300 ) ; Minimum IN NS . IN A 7ns1 IN A 7www IN A 7web IN CNAME wwwmail IN MX 7.rzone:$TTL 600 IN SOA . . ( 2006083100 ; Serial (YYMMDDSN) 1800 ; Refresh 300 ; Retry 3600 ; Expire 300 ) ; Minimum IN NS .97 IN PTR .bind9详解ISC的bind一直以来基本上都是DNS的工业标准,不过BIND一直是漏洞不断,直到出了BIND9,isc的开发人员对bind9进行了重写,才相对好了一点.BIND9的安装就不用多说了,这里使用最新版本9,.2.3,说白了也就是需要named这个可执行文件就可以了,其他的配置文件完全可以自己来写.如果需要进行服务的控制的话,则需要rndc这个文件了.named大约有4M多,strip一下也就1M多点,再裁减裁减完全可以做到400K的,做嵌入式的朋友也不妨考虑考虑这个了.服务的启动与停止可以完全自己来写一个脚本来控制,启动的话先判断是否已经启动,pidof named,如果已经启动,则提示已经启动,否则执行named c /etc/named.conf,停止的时候先判断是否已经启动,是的话则killproc named,否的话提示没有启动,具体可在网上查找.下面重点来说说BIND9的新功能.Named.conf是bind9的最先读取的一个文件,named支持如下语句:AclControlsIncludeKeyLoggingLwresOptionsServerTrusted-keysViewZone其中主要的是acl,controls,include,logging,key,options,view,zone其他的很少用到我们就来详细的对这些进行解释一下.Acl用来对bind的访问进行限制,是一个全局的设置,前面配置的acl在整个bind中都适用,和路由器里面的access-list有同工之处,语法是acl acl-name address_match_list ;其中的address match list是一个地址列表,如”/24;”,记住最后一定得有分号,有多个的话中间用分号格开,如/32;/24;bind内置了4个acl分别是:any(不是all) 对应所有的,也就是/0.none 对应为空.localhost 对应本地机器.localnets 对应本地网络.Controls主要用于对bind进行控制,如:key rndc-key algorithm hmac-md5; secret VkMaNHXfOiPQqcMVYJRyjQ=;controls inet port 953 allow ; keys rndc-key; ;设置rndc控制的端口以及端口,keys用来设置控制的密钥, include是一个非常有用的选项,如果需要写程序来读写bind的配置文件,这个将会用到,因为bind的配置文件很不规则,但是用了include后,就可以变的很规则,就和数据库一样了,功用和c语言里面的include一样。Options是用于设置bind的一些选项,我们将重点介绍,BING9支持的选项如下: options blackhole ; . ; coresize ; datasize ; deallocate-on-exit ; / obsolete directory ; dump-file ; fake-iquery ; / obsolete files ; has-old-clients ; / obsolete heartbeat-interval ; host-statistics ; / not implemented interface-interval ; listen-on port ; ; . ; listen-on-v6 port ; ; . ; match-mapped-addresses ; memstatistics-file ; / not implemented multiple-cnames ; / obsolete named-xfer ; / obsolete pid-file ; port ; random-device ; recursive-clients ; rrset-order class ; type ; name ; ; ; . ; / not implemented serial-queries ; / obsolete serial-query-rate ; stacksize ; statistics-file ; statistics-interval ; / not yet implemented tcp-clients ; tkey-dhkey ; ; tkey-gssapi-credential ; tkey-domain ; transfers-per-ns ; transfers-in ; transfers-out ; treat-cr-as-space ; / obsolete use-id-pool ; / obsolete use-ixfr ; version ; allow-recursion ; . ; allow-v6-synthesis ; . ; sortlist ; . ; topology ; . ; / not implemented auth-nxdomain ; / default changed minimal-responses ; recursion ; provide-ixfr ; request-ixfr ; fetch-glue ; / obsolete rfc2308-type1 ; / not yet implemented additional-from-auth ; additional-from-cache ; query-source ; query-source-v6 ; cleaning-interval ; min-roots ; / not implemented lame-ttl ; max-ncache-ttl ; max-cache-ttl ; transfer-format ( many-answers | one-answer ); max-cache-size ; check-names ; ; / not implemented cache-file ; allow-query ; . ; allow-transfer ; . ; allow-update-forwarding ; . ; allow-notify ; . ; notify ; notify-source ( ; | * ) port ( ; | * ) ; notify-source-v6 ( ; | * ) port ( ; | * ) ; also-notify port ; ( ; | ; ) port ; ; . ; dialup ; forward ( first | only ); forwarders port ; ( ; | ; ) port ; ; . ; maintain-ixfr-base ; / obsolete max-ixfr-log-size ; / obsolete transfer-source ( ; | * ) port ( ; | * ) ; transfer-source-v6 ( ; | * ) port ( ; | * ) ; max-transfer-time-in ; max-transfer-time-out ; max-transfer-idle-in ; max-transfer-idle-out ; max-retry-time ; min-retry-time ; max-refresh-time ; min-refresh-time ; sig-validity-interval ; zone-statistics ;obsolete是已经过时的选项,这里不用考虑, not yet implemented是尚未完成的选项,这里也不用考虑,下面详细介绍这里面的有用选项:(注意前面打”*”的为选项)*blockhole 定义服务器不对查询进行反应的地址列表,也就是”黑名单”,比如说3721的ip段:/24,当设置了黑名单后,对于这个段的请求查询,服务器将不会作出反应.*directory 设置bind的数据文件的存放位置:如 directory “/var/named”.*dump-file 设置当执行rndc dumpdb命令后的导出文件存放绝对路径,如果没有指定的话,缺省文件为named_dump.db,放在directory指定的目录下面.*pid-file 设置bind的进程号pid文件.*interface-interval 设置bind检查网卡变化的周期.*forward 值有first和only两项, first则首先转发到forwarders中的服务器,然后自己查询,only则仅转发到 转发服务器列表中的服务器,不再自己查询*forwarders设置转发服务器地址列表,语法同acl中的语法.*listen-on 设置bind的绑定ip和端口,如listen-on 53 ;*max-cache-size 设置最大缓存的大小,如max-cache-size 5M*version 设置客户查询DNS版本好的返回信息,如果不想让客户探测到当前的版本好,就用这个好了,如version mydns1.0;*auth-nxdomain 是否做为权威服务器回答域不存在(Auth-nxdomain)如果设置为yes,则允许服务器以权威性(authoritatively)的方式返回NXDOMAIN(该域不存在)的回答,否则就不会作权威性的回答,缺省值为”是”.*notify 在主服务器更新时是否通知辅助服务器(notify)如果设置为”yes”,则在主服务器区域数据发生变化时,就会向在域的”域名服务器“中列出的服务器和“亦通知”中列出的服务器发送更新通知。这些服务器接受到更新通知后,就会向主服务器发送请求传输的消息,然后区域文件得以更新。*recursion 是否允许递规查询(recursion)如果设置为”yes”,则允许服务器采用递归的方式进行查询,也就是当要查询的地址不在服务器的数据库列表中时,服务器将一级一级的查询,直到查到为止。(一般对局域网都打开)设置为”no”,并不意味着服务器对于请求的递归查询不给予回答,而是对于请求的递归查询,不再向上级服务器请求,也不缓存,如果不对请求的递归查询回答,可以清空缓存,然后设置为“NO” *allow-query 允许普通查询的地址列表(allow-query):设置允许进行普通查询的ip地址列表,在域中的设置将覆盖全局设置,默认情况下是允许所有的地址进行普通查询.*allow-recursion允许递归查询的地址列表(allow-recursion):设置允许进行递归查询的ip地址列表,缺省值是允许所有地址进行查询,需要注意的是当设置了不允许递归查询后,如果仍然能够查询部分外部的域名,那是因为dns的缓存在起作用,将缓存清除以后就可以了.*allow-transfer允许服务器进行区域传输的地址列表(Allow-transfer):(注意的是视区和域中的设置将覆盖全局设置).*allow-notify 允许更新通知的地址列表(allow-notify)当服务器作为辅助服务器的时候,设置这个可以对收到的更新通知进行判断,只是接收该列表的更新通知.默认情况下,只是接收来自主服务器的更新通知。对于其他服务器的更新通知,会忽略掉.*also-notify 更新时亦通知下列地址(also-notify):设置发送更新通知的时候,不仅是域名服务器中列出的地址,亦通知此地址列表中的地址。View(视)是bind9中提出的一个新概念,在这里可以理解为”从不同的眼光来看dns”,在这里”view”这个词可真是取的经典呀,具体而已,就是根据不同的源地址,目的地址,解析请求来判断该给客户提供什么样的解析.其语法如下:view ; ; match-clients ; . ; match-destinations ; . ; match-recursive-only ; key ; algorithm ; secret ; ; zone ; ; type ( master | slave | stub | hint | forward ); allow-update ; . ; file ; ixfr-base ; / obsolete ixfr-tmp-file ; / obsolete masters port ; ( ; | ; ) port ; key ; ; . ; pubkey ; ; ; ; / obsolete update-policy ( grant | deny ) ; ( name | subdomain | wildcard | self ) ; ; . ; database ; check-names ; / not implemented allow-query ; . ; allow-transfer ; . ; allow-update-forwarding ; . ; allow-notify ; . ; notify ; notify-source ( ; | * ) port ( ; | * ) ; notify-source-v6 ( ; | * ) port ( ; | * ) ; also-notify port ; ( ; | ; ) port ; ; . ; dialup ; forward ( first | only ); forwarders port ; ( ; | ; ) port ; ; . ; maintain-ixfr-base ; / obsolete max-ixfr-log-size ; / obsolete transfer-source ( ; | * ) port ( ; | * ) ; transfer-source-v6 ( ; | * ) port ( ; | * ) ; max-transfer-time-in ; max-transfer-time-out ; max-transfer-idle-in ; max-transfer-idle-out ; max-retry-time ; min-retry-time ; max-refresh-time ; min-refresh-time ; sig-validity-interval ; zone-statistics ; ; server bogus ; provide-ixfr ; request-ixfr ; support-ixfr ; / obsolete transfers ; transfer-format ( many-answers | one-answer ); keys ; edns ; ; trusted-keys ; ; ; ; ; . ; allow-recursion ; . ; allow-v6-synthesis ; . ; sortlist ; . ; topology ; . ; / not implemented auth-nxdomain ; / default changed minimal-responses ; recursion ; provide-ixfr ; request-ixfr ; fetch-glue ; / obsolete rfc2308-type1 ; / not yet implemented additional-from-auth ; additional-from-cache ; query-source ; query-source-v6 ; cleaning-interval ; min-roots ; / not implemented lame-ttl ; max-ncache-ttl ; max-cache-ttl ; transfer-format ( many-answers | one-answer ); max-cache-size ; check-names ; ; / not implemented cache-file ; allow-query ; . ; allow-transfer ; . ; allow-update-forwarding ; . ; allow-notify ; . ; notify ; notify-source ( ; | * ) port ( ; | * ) ; notify-source-v6 ( ; | * ) port ( ; | * ) ; also-notify port ; ( ; | ; ) port ; ; . ; dialup ; forward ( first | only ); forwarders port ; ( ; | ; ) port ; ; . ; maintain-ixfr-base ; / obsolete max-ixfr-log-size ; / obsolete transfer-source ( ; | * ) port ( ; | * ) ; transfer-source-v6 ( ; | * ) port ( ; | * ) ; max-transfer-time-in ; max-transfer-time-out ; max-transfer-idle-in ; max-transfer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论