已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux下DNS服务器bind的安装、配置和应用一、 DNS工作原理1. 当要进行域名解析的时候,系统会向本地DNS发出解析请求,由本地DNS服务器解析域名与对应的IP地址。2. 本地DNS服务器接收到解析请求后,再自己的本地数据库中查找与请求相匹配的DNS记录条目,如果本地没有相匹配的记录,则本地DNS服务器就会向根域名服务器发出查询请求。3. 根域名服务器在接收到查询请求时,会把查询请求发送到相应的顶级域,再由顶级域发送到二级域,再由二级域发送到三级域,以此类推,直到查询到请求的相应记录,然后发送回本地DNS服务器。4. 最终由本地DNS服务器把结果返回给客户端。5. 如果经过查找后仍然无记录,则由本地DNS服务器向客户端返回无法解析的错误信息。二、 安装bind软件1. 解压root#tar zxvf bind-9.9.2.tar.gz2. 安装root#./configure prefix=/usr/local/named sysconfdir=/usr/local/name/etc enable-thread3. 生成named.conf配置文件root#/usr/local/src/bind-9.9.2/bin/configen/rndc-configren | tail -10| head -9 |sed s/# /g /usr/local/etc/named.conf4. 启动和关闭Bind安装完bind后,可以让bind后台运行root#/usr/local/named/sbin/named &使用-g参数可以实现显示启动过程中的详细信息。root#/usr/local/named/sbin/named g &22-Nov-2012 20:41:30.832 built with -prefix=/usr/local/named/ -sysconfdir=/usr/local/named/etc -enable-thread22-Nov-2012 20:41:30.832 -22-Nov-2012 20:41:30.832 BIND 9 is maintained by Internet Systems Consortium,22-Nov-2012 20:41:30.832 Inc. (ISC), a non-profit 501(c)(3) public-benefit22-Nov-2012 20:41:30.832 corporation. Support and training for BIND 9 are22-Nov-2012 20:41:30.832 available at /support22-Nov-2012 20:41:30.833 -22-Nov-2012 20:41:30.833 using 1 UDP listener per interface22-Nov-2012 20:41:30.833 using up to 4096 sockets22-Nov-2012 20:41:30.841 loading configuration from /usr/local/named/etc/named.conf22-Nov-2012 20:41:30.841 reading built-in trusted keys from file /usr/local/named/etc/bind.keys22-Nov-2012 20:41:30.842 using default UDP/IPv4 port range: 1024, 6553522-Nov-2012 20:41:30.843 using default UDP/IPv6 port range: 1024, 6553522-Nov-2012 20:41:30.870 automatic empty zone: 113.0.203.IN-ADDR.ARPA22-Nov-2012 20:41:30.870 automatic empty zone: 55.IN-ADDR.ARPA22-Nov-2012 20:41:30.870 automatic empty zone: ........IP6.ARPA22-Nov-2012 20:41:30.870 automatic empty zone: ........IP6.ARPA22-Nov-2012 20:41:30.870 automatic empty zone: D.F.IP6.ARPA22-Nov-2012 20:41:30.871 automatic empty zone: 8.B.D..2.IP6.ARPA22-Nov-2012 20:41:30.878 /usr/local/named/etc/named.conf:7: couldnt add command channel #953: address in use22-Nov-2012 20:41:30.878 ignoring config file logging statement due to -g option22-Nov-2012 20:41:30.879 managed-keys-zone: loaded serial 022-Nov-2012 20:41:30.881 all zones loaded22-Nov-2012 20:41:30.882 running关闭:kill 进程ID号三、 配置named服务器1. 开机自动启动编写bind服务启动关闭的脚本:vi /etc/init.d/named#/bin/bash#Start script for the Berkeley Internet Name Domain Server # chkconfig: 345 35 75 # description:BIND is a Name Domain Server# Source function library. /etc/rc.d/init.d/functions# Source function library.if -f /etc/init.d/functions ; then. /etc/init.d/functionselif -f /etc/rc.d/init.d/functions ; then. /etc/rc.d/init.d/functionselse exit 0finamed=/usr/local/named/sbin/namedprog=namedRETVAL=0#start functionstart()if -n /sbin/pidof $prog thenecho $prog: already runningechoreturn 1fiecho Starting $prog: base=$prog$named &RETVAL=$?usleep 500000 if -z /sbin/pidof $prog then#The child processes have died after fork()ingREVEL=1fiif $RETVAL -ne 0 thenecho Startup failureelseecho Startup successfiechoreturn$RETVALstop () echo Stopping $prog:killall$namedRETVAL=$?if $RETVAL -ne 0 thenecho Shutdown failureelseecho Shutdown successfiecho# See how we were called.case $1 instart)start;stop)stop;status)status $namedRETVAL=$?;restart)stop;usleep 500000start;*)echo $Usage:$prog start | stop | restart |status exit 1esacexit $RETVAL2. 添加到到开机启动项:chkconfig named add3. 检查开启动项中named启动级别是否on;rootlocalhost init.d# chkconfig -listip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:offiptables 0:off 1:off 2:on 3:on 4:on 5:on 6:offirqbalance 0:off 1:off 2:off 3:on 4:on 5:on 6:offkdump 0:off 1:off 2:off 3:on 4:on 5:on 6:offlvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:offmcelogd 0:off 1:off 2:off 3:on 4:off 5:on 6:offmdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:offmessagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:offnamed 0:off 1:off 2:on 3:on 4:on 5:on 6:offnetconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:offnetfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off四、 Bind服务器配置Bind的主要配置文件是包括named.conf和相应的区域文件,Bind中的给中配置都是通过修改这些文件来完成的,修改后需要重新启动Bind服务是配置生效。named.conf配置文件named.conf是Bind的主要配置文件,里面存储了大量的Bind自身的设置信息。Bind安装完后并不会自动创建该配置文件,用户需要通过命令手工生成,新生成的named.conf配置文件的默认内容如下:key rndc-key algorithm hmac-md5; secret dD7HdNQzJCCbe0SzXhEhKQ=;controls inet port 953 allow ; keys rndc-key; ;named.conf配置文件是由配置语句和注释组成。每条配置语句以分号“;”做为结束符,多条配置语句组成一个语句块;注释语句使用了两个“/”作为注释符。named.conf配置文件中所支持的所有配置语句如表:named.conf支持的所有语句:语句说明Acl定义一个主机匹配列表,用于访问控制或其他用途Controls定义rndc工具与Bind服务进程的通信Include把其他文件中的内容包含进来Key定义加密密钥Logging定义系统日志信息Lwres把named配置为轻量级解析器Masters定义主域名列表Options设置全局选项Statistics-channels定义与Bind的统计信息的通信信道Server定义服务器的属性Trusted-keys定义信任的DNSSEC密钥View定义试图zone定义区域其中,常用的配置语句介绍如下:1. acl语句acl 语句用于定义地址匹配列表,其格式如下:acl acl name address_match_list;Bind默认定义了一些匹配列表,如下地址匹配列表说明Any匹配任何主机None不匹配任何主机Localhost匹配系统上所有网卡的IPv4和IPv6的地址Localhost匹配任何与系统有接口的主机的IPv4和IPv6的地址2. controls语句controls语句用于定义rndc工具与Bind服务进程的通信,系统管理员可以通过rndc向Bind进程发出控制命令,并接受由Bind返回的结果。其格式如下:controls inet (ip_addr | *) port ip_addr allow address_match_listKeys key_list; inet ; unix path perm number owner number group number keys key_list; unix ;3. include语句include语句用于把所指定的文件的内容添加进named.conf配置文件中,该语句的格式如下所示:include filename;4. key语句key语句用于定义TSIG或命令通道所使用的加密密钥。其格式如下key key_id algorithm string;secret string;5. options语句options语句用于设置影响整个DNS服务器的全局选项,该语句在named.conf中只能出现一次。如果没有设置语句,那么Bind将使用默认的options值,该语句支持的选项特别多,下面是一些常见的选项格式:optionsdirectory path_name;forward (only | frist);forwarders ip_addrport ip_port; ;query-source (ipv4_addr |*) port (ip_port | *) | address (ipv4_addr | *) port (ip_port | *) ); query-source v6( (ip6_addr | *) port (ip_port | *) | address (ip6_addr | *) | port (ip_port |* );statistics-interval number ;Directory选项用于定义服务器的工作目录,在配置文件中所指定的所有相对路径都是相对于该路径来定义。该目录也是服务器中大部分输出文件(例如name.run)的存储位置。如果没有设置directory,那么系统默认使用”.”(即Bind启动的目录)作为工作目录。一般会把Bind的工作目录设置为/var/named,如下所示:directory “/var/named”;forwarders选项用于指定DNS请求的转发到其他DNS服务器上,该选项默认为空,也就是不进行转发。选项值可以是一个IP地址或主机名,也可以是主机的列表。不同主机IP地址或名称之间使用分号”;”进行分割。如下所示:forwareders 8; ;; ;forward选项仅仅在forwareders选项不为空时生效。该选项用于控制DNS服务器的请求转发操作。如果选项值设置为first,则DNS服务器会先把请求发给forwarders选中的指定的远端DNS服务器。如果远端DNS服务器无法响应该请求,则Bind将尝试自行解析该请求;如果选择被设置为only,则bind值转发请求,并不进行处理。query-source和query-source-v6分别设置DNS服务器所使用的Ipv4或者Ipv6以及端口号。默认的端口号为53,如果指定其他端口号,将无法与其他的DNS服务器通信。statistics-interval选项用于指定DNS服务器记录统计信息的时间间隔,单位为分钟。其默认值为60,最大值为28天(即40320分钟)。如果该选项设置为0,则服务器不记录统计信息。6. server语句Bind有可能与其他的DNS服务器进行通信,但并非所有的DNS服务器都运行同一个版本的Bind,而且就算安装了相同Bind版本的服务器,它们的设置,软硬件平台都会有所不同。在server语句中可以设置远程服务器的特征信息,以使双方能够正常通信,该语句的格式如下:server_ip_addr /prefixlen bogus yes_or_no;provide-ixfr yes_or_no;request-ixfr yes_or_no;edns yes_or_no;edns-udp-size number;max-udp-size number;transfers number;transfer-format (one-answer | many-answers);keys string;string; ; transfer-source (ipv4_addr| *) port ip_port;transfer-source-v6 (ip6_addr|*) port ip_portnotify-source (ipv4_addr | *) port ip_port;notify-source-v6 (ip6_addr | *) port ip_port;query-source address (ip_addr | *) port ip_port|*;query-srouce-v6 address (ip_addr | *) port ip_port | *;use-queryport-tool yes_or-no;queryport-pool-ports number;queryport-pool-interval number;7. view语句view语句可以使用Bind根据客户端的地址决定需要返回的域名解析结果。也就是说,不同的主机通过同一台DNS服务器对同一个域名进行解析,会得到不同的解析结果。其格式如下:view view_name class match-clients address_match_list; match-destinations address_match_list; match-recursive-only yes_or_no; view_option; zone_statement;每一条view语句定义了一个客户端集合所能看到的视图,如果客户端匹配视图中的match-clients选项所定义的客户端列表,那么Bind将根据该视图返回解析结果。例如,希望对内网和外网用户进行区分,使他们访问同一个域名时,会得到不同的结果。可以通过view语句定义两个不同的视图,在两个视图中分别定义不同的属性。已达到上述的效果。配置如下;/定义内部网络的视图view “internal” match-clients /8; recursion yes; /对内部用户提供递归查询服务 zone “” type master; file “example-internal.zone”; /定义外部网络的视图view “internet” /匹配外部网络match-clients any;/不进行递归查询recursion no;zone “” type master; file “example-external.zone”;8. zone语句zone语句是named.conf文件的核心部分。每一条zone语句定义一个区域,用户可以在这个区域中设置该区域相关的选项。Bind中可以设置多种类型的区域。区域类型说明Master主DNS区域Slave从DNS却与,由主DNS区域控制Stub与从DNS区域类似,但只保存DNS服务器的名字Forward将解析请求转发给其他的DNS服务器hint根DNS服务器集不同类型的区域,其zone语句定义的格式也有所不同,下面只介绍最常用的master和hint两种类型的区域的zone语句格式:/master类型zone “domain_name” type master; file “path”;/hint类型zone “.”type hint;file “path”;加入要定义一个根区域文件,可以如下:zone “.” type master; file “named.root”;主DNS区域文件是Bind照哦给你最基本的区域类型,它又可以分为正向解析和反向解析两种,。正向解析就是通过查询域名查询对应的IP地址;而反向解析则是通过IP地址查询对应的域名。例如:zone “” type ;master; file “test.zone”; allow-update none;Allow-update选项定义了允许对主区域进行动态DNS更新的服务器列表。None表示不运行进行更新。 一般情况下,用户只会进行正向的解析,根据域名来查询对应的IP地址。但是在一起特殊的情况下,也会使用反向解析查询IP地址对应的域名。下面是一个反向解析的例子。 zone “1.168.192.” in type master;file “test.local”;allow-update (none;);1.168.192.是该反向解析区域的名称。其中“”是反向解析区域名称中固定的后缀格式,.左边的部分是由需要解析的IP地址或网段的十进制表示方法逆序字符串。五、 name.root配置文件named.roote是一个特殊的区域文件,在该文件中记录了Internet上的根DNS服务器的名称和IP地址。DNS服务器接收到客户端发送来的请求后,如果子本地找不到匹配的DNS 记录,则把请求发送到该文中所定义的根DNS服务器上即兴逐级查询。由于internet上的根DNS服务器会随时发生变化,因为named.root文件的内容也是不断更新的,所以用户可以到定期到/domain下载最新版本的named.root文件。; This file holds the information on root name servers needed to; initialize cache of Internet domain name servers; (e.g. reference this file in the cache . ; configuration file of BIND domain name servers).; This file is made available by InterNIC; under anonymous FTP as; file /domain/named.cache; on server FTP.INTERNIC.NET; -OR- RS.INTERNIC.NET; last update: Jun 8, 2011; related version of root zone: 2011060800; formerly NS.INTERNIC.NET;. 3600000 IN NS A.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET. 3600000 A A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E:2:30; FORMERLY NS1.ISI.EDU;省略可以看到,在该文件中定义了全球13个根DNS服务器,其中第一列为服务器名,第四列为服务器的IP地址。六、 正向解析区域文件正向解析区域文件用于映射域名和IP地址,文件中包含了该区域的所有参数,包括域名、IP地址、刷新时间、重试时间、超时等。下面是一个正向解析的区域文件的例子:$ttl 1DDNS端数据缓存的有效期 /客户端DNS缓存数据的有效期 IN SOA /SOA的域名 101. 1053891162 /区域文件的版本号 3H /DNS服务器在检查主 DNS服务器之前的SOA记录之前应等待的时间 15M /从DNS服务器在主DNS服务器不能使用时,重试对主DNS服务器发出请求应等待的时间 1W /从DNS服务器与主DNS不能通信的情况下,其区域信息保存的时间 1D) /没有定义TTL时,默认使用的TTL值。 IN NS . /DNS资源记录 IN MX 10 . /邮件交换记录 IN MX 20 . /邮件交换记录www IN A 192.168.1. /域名记录mail1 IN A 02mail2 IN A 03dns IN A 04第一行的“$ttl 1D”用于设置客户端的DNS缓存数据的有效期。该值默认的单位为妙,用户可以明确指定使用H(小时)、D(天)、或W(星期)作为单位。第二到九行则用于设置该域的控制信息,可以看到,控制信息包括域名、有效时间、网络地址类型等,其格式如下所示:name ttl class SOA origin contact ( serial refresh retry expire minimum)name:定义SOA的域名,以“.”结束,也可以使用代替ttl:定义有效时间,如果不设置该值,则系统默认使用第一行中定义的ttl值。class:定义网络的诋毁子类型。对于TCP/IP网络应设置为IN。orgin:定义这个域的主域名服务器的主机名,以“.”结尾。contact:定义该DNS服务器的管理员邮件地址,因此在SOA记录中有特殊的意义,所以用”.”代替,本例中的表示。serial:定义区域文件的版本号,它是一个整数值。Bind可以通过它来得知区域文件时什么时间修改的。每次更改区域文件都应该时这个数加一。refresh:定义从DNS服务器在试图检查主DNS服务器的SOA记录之前应等待的时间。该选项以及括号中除了serial以外的其他选项都是以秒为单位,也可以使用M(分钟)、H(小时)、W(星期)等。如果SOA记录不经常改变,可以把这个值设置的大一些。在本例中为3小时。retry:定义从DNS服务器在主DNS不能使用时,重试对主DNS服务器发出请求应等待的时间。通常,该时间不应该超过1小时。在本例中设置为15分钟。expire:定义从DNS服务器在无法与主DNS服务器进行通信的情况下,其区域信息保存的时间。在本例中为一个星期。minimum:当没有定义TTL时,默认使用的TTL值。如果噢玩过的变化不大,那么可以把该值设置的大一些。在本例中为1天。在本例中第10行是DNS的资源记录(NS),指定该域中的DNS服务器名称。其格式如下:name ttl class NS name-server-hostname本例中指定的DNS服务器为;七、 反向解析区域反向解析区域文件用于定义IP地址到域名的解析,它采用的与正向借些文件类似的选项和格式,但由于是反向解析,所以该文件是使用PTR指针记录,而不是主机记录。例如:$TTL 86400 /客户端DNS缓存数据的有效期 IN SOA . .( /SOA的域名20031001; /版本号7200; /DNS服务器在试图检查在主DNS服务器SOA记录前,应该等待的时间3600; /在主DNS不能使用时,从DNS服务器重试对主DNS服务器发出请求应等待的时间43200; /从DNS服务器在无法与主DNS服务器进行通信的情况下,其区域信息的保存时间86400); /没有定义ttl时,默认使用的ttl值IN NS .101 IN PTR .102 IN PTR .103 IN PTR .104 IN PTR .第912行定义了用于反向解析的PTR记录,其格式如下所示:address ttl addr-class PTR domain-name八、 配置实例环境:BBT公司现在要是实现这样的功能:内网用户可以正向解析所有内网的计算机以及外网的服务器,反向解析内网的计算机,允许使用递归查询;外网用户只能正向解析外网服务器,不能借些内外那个计算机。不允许使用递归解析。其局域网的网段为/24,其中有5台计算机,分为为server1()、server2()、server3()、server4()和server5()。在外网中有3台应用服务器:FTP服务器(主机名为ftp,IP地址为),网站服务器(主机名www,IP地址为)和邮件服务器(主机名mail,IP地址为)此外还有一台DNS服务器,其主机名为dns,内网IP地址为1,外网的IP地址为1,具体网络拓扑如下图: 1. 配置named.conf为了区分内网网络用户的解析结果,需要通过视图实现。在本例中定义两个试图internal和external,分别对应内部网络和外部网络的用户。在这两个视图中分别定义不同的区域文件,从而实现内外网用户能得到不同的解析结果。定义bind的加密密钥以及mdc间的控制。/key语句采用系统默认配置,定义bind加密密钥key rndc-key algorithm hmac-md5; secret dD7HdNQzJCCbe0SzXhEhKQ=;/controls语句采用系统默认配置,定义与rndc间的控制controls inet port 953 allow ; keys rndc-key; ;定义Bind的选项,内网用户所对应的视图以及各个解析域,如下所示:options directory “/var/named”; /bind主工作目录为/var/named pid-file “name.pid”; /进程文件为name.pid;/定义内网用户所对应的视图,用户能正向解析内网计算机以及外网的服务器,反向解析内网就算机,允许使用递归查询。view “internal” match-clients /20; /匹配内网网段 recursion yes; /允许递归查询/定义根区域 zone “.” IN type hint ; file “named.root”;/定义本地正向解析区域 zone “localhost” IN type master; file “localhost-internal.zone”; allow-update none;/定义本地反向区域 zone “0.0.127.” IN type master; file “localhost-internal.zone”; allow-update none;/定义域的正向解析区域zone “” type master; file “company-internal.zone”; allow-update none;/定义域的反向解析区域 zone “1.20.172.”type master;file “”;allow-updatenone; ;定义外网用户所对应的视图以及相关的解析域,如下所示:/定义外网用户所对应的视图,用户只能正向解析外网服务器,不允许使用递归查询方式view “external” /匹配外网用户,any表示所有客户端。由于internal视图在external前面,所以Bind会先匹配internal视图 match-clients any; recursion no;/定义根区域 zone “.” IN type hint; file “named.root”;/定义的正向解析区域zone “” type master; file “company-external.zone”; allow-update none ;2. 配置区域文件定义区域文件,以实现域名和IP地址之间的映射,所有区域文件都保存在/var/named目录下。1. named.rootnamed.root文件记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年干紫菜企业制定与实施新质生产力战略分析研究报告
- 未来五年车用尿素企业制定与实施新质生产力战略分析研究报告
- 弱电安防行业岗位晋升路径分析
- 未来五年压力测量仪器企业制定与实施新质生产力战略分析研究报告
- 未来五年只读光盘驱动器(CD-ROM)企业ESG实践与创新战略分析研究报告
- 2023年河北省税务系统遴选笔试真题汇编及答案解析(夺冠)
- 2023年葫芦岛市直属机关遴选公务员考试真题汇编及答案解析(夺冠)
- 2023年景德镇市遴选公务员笔试真题汇编及答案解析(夺冠)
- 2023年吉林省选调公务员笔试真题汇编含答案解析(夺冠)
- 2023年来宾市直属机关遴选公务员考试真题汇编附答案解析
- 完整版老旧小区改造工程施工组织设计方案-3
- MEN(多发性内分泌腺瘤)-课件
- 职业生涯规划与求职就业指导知到章节答案智慧树2023年中南大学
- 220kv变压器大修作业流程
- GB/T 1616-2014工业过氧化氢
- GB/T 15969.1-2007可编程序控制器第1部分:通用信息
- 水泥厂除尘设计案例
- 中学生物教学论试卷及参考答案3
- 电工承包施工合同样本
- 甲状腺微波消融体会课件
- 2023年高考地理一轮第42讲 战略性矿产资源与中国的能源安全
评论
0/150
提交评论