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

RHEL5搭建DNS服务器实现名称解析

2011-10-08 22页 doc 123KB 27阅读

用户头像

is_773492

暂无简介

举报
RHEL5搭建DNS服务器实现名称解析RHEL5搭建DNS服务器实现名称解析 DNS服务器可以分为主DNS服务器,辅/从DNS服务器,缓存DNS服务器,转发DNS服务器等多种类型,每种服务器在域名服务系统中所起的作用都不一样: Master/Primary Server(主DNS服务器):承担基本的域名解析服务的是主DNS服务器(Master或Primary)。每一个网络至少有一个主DNS服务器,以解析网络上的域名或IP。 Slave/Seconday Server(辅/从DNS服务器):在一些比较大的网络中,为了保证DNS服务器能够提供可靠的域名解析服务,通常会...
RHEL5搭建DNS服务器实现名称解析
RHEL5搭建DNS服务器实现名称解析 DNS服务器可以分为主DNS服务器,辅/从DNS服务器,缓存DNS服务器,转发DNS服务器等多种类型,每种服务器在域名服务系统中所起的作用都不一样: Master/Primary Server(主DNS服务器):承担基本的域名解析服务的是主DNS服务器(Master或Primary)。每一个网络至少有一个主DNS服务器,以解析网络上的域名或IP。 Slave/Seconday Server(辅/从DNS服务器):在一些比较大的网络中,为了保证DNS服务器能够提供可靠的域名解析服务,通常会在建立主DNS服务器的基础上,建立至少一个辅DNS服务器(Slave或Seconday).辅DNS服务器可以直接从主DNS服务器上进行更新,是主DNS服务器的替换服务器。由于辅DNS服务器保留了一份所在域信息的完整副本,因此能够以授权的方式回答相关域的查询请求。辅DNS服务器具备主DNS服务器的大部分功能,因此也被称为备份DNS服务器。 Forward Server(转发DNS服务器):转发DNS服务器用于将发往本地DNS服务器的解析请求发送到本地网络之外的DNS服务器上,本身不保留任何FQDN(完全域名)信息或IP地址信息。转发DNS服务器可以用于保持局域网上的DNS服务器对Internet的隐藏。 Caching only Server(缓冲DNS服务器):为减轻工作负担,本地DNS服务器可以设置为缓冲DNS服务器(Caching)。缓冲DNS服务器会缓冲部分从其他服务器上获得的查找结果,并在解析请求发送到主DNS服务器之前首先进行匹配,一些重复的请求可以由缓冲服务器直接进行应答,但这种应答不能完全保证解析结果的有效性。 DNS后台进程:named DNS使用端口:53(tcp,udp)查询-udp;区域复制-tcp DNS查询方式;客户机与DNS服务器之间---递归查询;DNS服务器与DNS服务器之间-----迭代查询;(例外:当DNS服务器将查询转发给转发器时,虽发生在服务器之间但也是递归查询) 在linux下架设DNS服务器使用的工具通常是Bind(Berkely Internet Name Domain Service)程序。默认情况下,Red Hat Enterprise Linux 5安装程序并没有安装DNS服务。 相关的RPM安装包名:(下载地址:http://www.isc.org 源代码最新版本) bind-9.3.3-7.el5.i386.rpm -------------------------------- (第二张光盘,默认未安装。提供DNS服务) bind-chroot-9.3.3-7.el5.i386.rpm-------------------------(第二张光盘,默认未安装。用于建立chroot目录及相关子目录) caching-nameserver-9.3.3-7.el5.i386.rpm----------- ---(第四张光盘,默认未安装。用于配置缓存域名服务器) bind-libs-9.3.3-7.el5.i386.rpm--------------------------- -(默认已安装,提供实现域名解析功能必备的库文件) bind-utils-9.3.3-7.el5.i386.rpm---------------------------(默认已安装,包含了用于测试DNS服务器的命令:dig,host,nslookup,nsupdate) ypbind-1.19-7.el5.i386.rpm--------------------------------(默认已安装) bind-devel-9.3.3-7.el5.i386.rpm------------------------- (第三张光盘,默认未安装。) system-config-bind-4.0.3-2.el5.noarch.rpm----------- -(第五张光盘,默认未安装。) bind-sdb-9.3.3-7.el5.i386.rpm----------------------------(第四张光盘,默认未安装。) bind-libbind-9.3.3-7.el5.i386.rpm------------------------(第三张光盘,默认未安装。) 安装rpm程序包: #rpm –ivh bind-9.3.3-7.el5.i386.rpm ---------------安装DNS服务,但并不会生成/etc/named.conf配置文件,需手工建立。 #rpm –ivh bind-chroot-9.3.3-7.el5.i386.rpm-------- 若要实现“chroot监牢”,使用chroot技术增强Bind安全性,需安装此包。 #rpm –ivh caching-nameserver-9.3.3-7.el5.i386.rpm—若构建缓存域名服务器需安装此软件包,安装时将对原BIND服务器原有的主配置文件name.conf的内容进行更改,原有文件中的内容会被保存到文件/etc /name.conf.rpmorig中。 (chroot监牢技术:chroot可以改变程序运行时所参考的根目录(/)位置,即将某个物定的子目录作为程序的虚拟根目录,并且对程序运行时可以使用的系统资源,用户权限和所在目录进行严格控制,程序只在这个虚拟的根目录下具有权限,一旦跳出该目录就无任何权限。例如在RHEL5中,/var/name/chroot实际上是根目录(/)的虚拟目录,所以虚拟目录中的/etc目录实际上是/var/named/chroot/etc目录,而/var/named目录实际上是/var/named/chroot/var/named目录。chroot功能的优点是:如果有黑客通过Bind侵入系统,也只能被限定在chroot目录及其子目录中,其破坏力也仅局限在该虚拟目录中,不会威胁到整个服务器的安全。) #service named start =/etc/init.d/named start 启动named服务 #service named stop =/etc/init.d/named stop 停止named服务 #service named restart =/etc/init.d/named restart 重启named服务 #service named status =/etc/init.d/named status 检查named服务状态 # ntsysv 或 #chkconfig –level 35 named on 更改服务自动加载 Bind的一些重要文件及其功能说明: /usr/sbin/named 域名服务器的守护进程,其中/var/run/named/named.pid文件是DNS的PID文件,下面的脚本用于管理域名服务器守护进程: /etc/sysconfig/named;/etc/rc.d/init.d/named;/etc/logrotate.d/named /usr/sbin/named-bootconf 域名服务器的启动配置脚本 /usr/sbin/named-checkconf 域名服务器的配置语法检验程序 /usr/sbin/named-checkzone 域名服务器的区域配置文件检验程序 /usr/sbin/dns-keygen DNS加密密钥生成程序 /usr/sbin/dnssec-keygen DNSSEC /usr/sbin/dnssec-signzone 加密密钥生成程序 /usr/sbin/rndc 域名服务器的控制程序,可以使用/etc/rndc.conf文件加载相关配置 /usr/sbin/lwresd 轻量级的解析服务器,可以作为缓冲域名服务器 DNS的主配置文件named.conf: named.conf是Bind的主配置文件,用于实现Bind的基本配置,但在Bind-9.33安装完毕后,系统并没有自动生成named.conf文件,需要用户自行创建,可以通过以下方法创建named.conf文件: 1.用户可以安装RHEL5的第四张光盘中自带的caching-nameserver-9.33-7.el5.i386.rpm软件包,并根据所生成的文件named.caching-nameserver.conf参考创建named.conf文件。 #rpm –ivh caching-namesever-9.3.3-7.el5.i386.rpm –replacepkgs (安装依赖于bind-9.3.3-7.el5.i386.rpm) 如果没有创建named.conf文件时,则系统在启动named进程时,默认读取的配置文件为named.caching-nameserver.conf.如果存在named.conf文件,则不再读取named.caching-nameserver.conf文件。若先安装bind-chroot的情况下named.caching-nameserver.conf文件通常存储于/var/named/chroot/etc目录中,可以将此文件复制一个并改名为named.conf并进行设置(若未使用chroot技术,没有安装bind-chroot-9.3.3-7.el5.i386.rpm软件包,则此文件通常存储在/etc/目录下)。 2..用户可以安装完bind-9.3.3-7.el5.i386.rpm后,参考/usr/share/doc/bind-9.3.3/sample中的配置示例,在虚拟根目录/var/named/chroot下创建相关文件及所需的链接文件,所用命令如下(应先安装bind-chroot-9.3.3-7.el5.i386.rpm): #rpm –ivh bind-9.3.3-7.el5.i386.rpm #cd /usr/share/doc/bind-9.3.3/sample/etc/ #cp /usr/share/doc/bind-9.3.3/sample/etc/* /var/named/chroot/etc #ln -s /var/named/chroot/etc/named.conf /etc/named.conf #ln -s /var/named/chroot/etc/named.root.hints /etc/naemd.root.hints #cd /usr/share/doc/bind-9.3.3/sample/var/ #cp -r /usr/share/doc/bind-9.3.3/sample/var/* /var/named/chroot/var/ 注:若使用chroot技术,DNS服务器的主配置文件named.conf应存储在/var/named/chroot/etc目录下,系统还会在/etc/目录下建立一个该文件的链接;区域设置文件(包括正向解析和反向解析)存储在/var/named/chroot/var/named目录下;根服务器信息文件named.root则通常存储在/var/named/chroot/var/named目录下。 (一)named.caching-nameserver.conf文件说明(缓存域名服务器主配置文件): 路径:/var/named/chroot/etc/下,或/etc/下 // named.caching-nameserver.conf // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // See /usr/share/doc/bind*/sample/ for example named configuration files. // DO NOT EDIT THIS FILE - use system-config-bind or an editor (不应该直接编辑该文件,否则无法升级) // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. options { listen-on port 53 { 127.0.0.1; }; (侦听端口53) listen-on-v6 port 53 { ::1; }; (支持Ipv6) directory "/var/named"; (区域文件存储目录,即bind服务器的工作目录) dump-file "/var/named/data/cache_dump.db";(设置域名缓存文件的保存位置和文件名) statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; query-source port 53; query-source-v6 port 53; allow-query { localhost; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.rfc1912.zones";//没有直接在此文件中设置根区域,而是通过加载/etc/named.rfc1912.zones文 件,此文件主要定义了根区域,localdomain区域,localhost区域,及反向解析区域// }; (说明:根区域是互联网中所有域名的开始,使用句点(.)表示,缓存服务器只有能够访问DNS根服务器才能担供正常的域名解析服务。因此,在缓存域名服务器的named.caching-nameserver.conf文件中加载的named.rfc1912.zones文件对根区域进行了设置.此文件中的type hint表示此区域类型是根区域;file "named.ca"设置区域文件名称,该文件保存在bind工作目录/var/named/中) (二)named.conf文件说明: 此文件需用户自己创建,可从/usr/share/doc/bind-9.3.3/sample/etc中复制到/var/named/chroot/etc/目录下 // Sample named.conf BIND DNS server 'named' configuration file // for the Red Hat BIND distribution. // See the BIND Administrator's Reference Manual (ARM) for details, in: // file:///usr/share/doc/bind-*/arm/Bv9ARM.html // Also see the BIND Configuration GUI : /usr/bin/system-config-bind and // its manual. options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: */ query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default (定义Bind服务器的工作目录) dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { file "data/named.run"; severity dynamic; }; }; // All BIND 9 zones are in a "view", which allow different zones to be served // to different types of client addresses, and for options to be set for groups // of zones. // // By default, if named.conf contains no "view" clauses, all zones are in the // "default" view, which matches all clients. // // If named.conf contains any "view" clause, then all zones MUST be in a view; // so it is recommended to start off using views to avoid having to restructure // your configuration files in the future. view "localhost_resolver" { /* This view sets up named to be a localhost resolver ( caching only nameserver ). * If all you want is a caching-only nameserver, then you need only define this view: */ match-clients { localhost; }; (本地主机) match-destinations { localhost; }; recursion yes; (设置允许递归) # all views must contain the root hints zone: include "/etc/named.root.hints"; (载入根服务器信息) /* these are zones that contain definitions for all the localhost * names and addresses, as recommended in RFC1912 - these names should * ONLY be served to localhost clients: */ include "/etc/named.rfc1912.zones"; }; view "internal" (内部视图) { /* This view will contain zones you want to serve only to "internal" clients that connect via your directly attached LAN interfaces - "localnets" . */ match-clients { localnets; }; (本地网络) match-destinations { localnets; }; recursion yes; // all views must contain the root hints zone: include "/etc/named.root.hints"; // include "named.rfc1912.zones"; // you should not serve your rfc1912 names to non-localhost clients. // These are your "authoritative" internal zones, and would probably // also be included in the "localhost_resolver" view above : zone "my.internal.zone" { type master; file "my.internal.zone.db"; }; zone "my.slave.internal.zone" { type slave; file "slaves/my.slave.internal.zone.db"; masters { /* put master nameserver IPs here */ 127.0.0.1; } ; // put slave zones in the slaves/ directory so named can update them }; zone "my.ddns.internal.zone" { type master; allow-update { key ddns_key; }; file "slaves/my.ddns.internal.zone.db"; // put dynamically updateable zones in the slaves/ directory so named can update them }; }; key ddns_key { algorithm hmac-md5; secret "use /usr/sbin/dns-keygen to generate TSIG keys"; }; view "external" (外部视图) { /* This view will contain zones you want to serve only to "external" clients * that have addresses that are not on your directly attached LAN interface subnets: */ match-clients { !localnets; !localhost; }; match-destinations { !localnets; !localhost; }; recursion no; // you'd probably want to deny recursion to external clients, so you don't // end up providing free DNS service to all takers // all views must contain the root hints zone: include "/etc/named.root.hints"; // These are your "authoritative" external zones, and would probably // contain entries for just your web and mail servers: zone "my.external.zone" { type master; file "my.external.zone.db"; }; }; 根服务器信息文件named.root:named.root文件中了Internet根域名服务器的名字和地址。DNS服务器在收到客户端的查询请求时,如果在本地找不到相应的数据,就会通过根服务器逐级进行查询。例如,当DNS服务器收到来自客户端查询www.bit.edu.cn的请求时,DNS服务器会首先在本地数据库中查找,如果没有找到就会向Internet的根服务器转发该请求,然后由根服务器转给cn域的DNS服务器,再由cn域的DNS服务器转给edu.cn域的DNS服务器,依此类推,直到找到能够解析www.bit.edu.cn的DNS服务器。由于根域名服务器会随Internet的变化而时常发生变动,因此named.root文件应及时更新。用户可以匿名登录ftp://internic.net,下载该文件的最新版本。对于采用递归方式工作的DNS服务器,必须在每一视图中都指定根服务器信息文件。 常用的配置语句选项说明: options 服务器的全局配置选项及一些默认设置 view 定义一个视图 zone 定义一个区域 logging 指定服务器日志记录的内容和日志信息的来源 acl 定义IP地址的访问控制列表 include 加载的文件 key 指定用于识别和授权的密钥信息 server 设置服务器的参数 trusted-key 指定信任的DNSSEC加密密钥 type 定义区域的类型 file 指定一个区域文件 directory 指定区域文件的目录 forwarders 指定请求将被转发到的DNS服务器 masters 指定从服务器所使用的主服务器 allow-transfer 指定允许按受区域传送请求的主机 allow-query 指定允许进行查询的主机 notify 当主区域数据发生变化时,允许从服务器 controls 定义rndc命令使用的控制通道 主要配置语句的语法如下: 1.options语句格式: options { directory pathname; statistics-interval number; forwarders { [ in-addr ; [ in-addr ; ……] ] }; forward ( only | first ); query-source address * port 53 ; recursion ( yes | no); allow-recursion { address-math-list }; }; directory选项用于指定域名服务器的工作目录,该目录也是区域文件的存储目录。如果没有指定任何目录,默认的工作目录就是“.”,即服务器的启动目录。指定的目录应该使用绝对路径,在其他语句中指定的相对路径都是相对于该工作目录来定义的。 statistics-interval选项用于指定域名服务器产生统计数据的时间间隔。默认情况下,域名服务器每隔一小时就将统计数据通过syslog写入默认的日志文件/var/message(调用syslogd程序写入/var/message),如果想要更改这一默认的设置,可以添加该选项并指定期望的间隔时间,系统将以此为周期记录统计资料。如果希望禁用该功能可以将值设为“0”。 forwarders选项用于将DNS服务器收到的查询请求转发到其他的域名服务器上,通常是一个远程域名服务器的IP地址列表。例如:forwarders { 202.17.55.10 ; 203.137.15.33 ; 117.32.34.56 ; };其中相邻的IP地址都需要使用“;”分隔。如果没有指定此选项,则默认的转发列表为空,服务器不会进行转发,所有的请求都由域名服务器自己来处理。 forward选项仅当forwarders选项的转发列表不为空时才有效。此选项用于控制域名服务器的行为。如果将该选项设置为first(默认值),则域名服务器将所有请求发送到设定的转发服务器。如果转发服务器超时或无响应,则域名服务器将试图自己查找结果。如果设置成only,则域名服务器只转发所有查询请求,不会自己执行搜索。 query-source选项用于指定查询服务所使用的端口号,通常为53。防火墙一般只允许端口53上的DNS数据流,如果在两个域名服务器之间有防火墙,应将端口号设为53。 recursion选项指定是否允许客户端递归查询其他域名服务器。如果希望对本地客户端的查询允许递归,但对来自外部的查询请求禁止递归,可以通过“allow-recursion”选项进行定义。allow-recursion选项可以指定一个允许执行递归查询操作的地址列表。 2.acl语句格式: acl acl_name { address_math_list ; }; acl即访问控制列表,定义了一个地址匹配列表。 3.server语句格式: server ip_addr { bogus yes|no; provide-ixfr yes|no; request-ixfr yes|no; support-ixfr yes|no; edns yes|no; transfers number; transfer-format one-answer|many-answers; keys { key-id;key-id;……}; }; DNS服务器需要与其他许多DNS服务器进行通信,但并非所有的服务器都运行着相同版本的Bind,甚至有些DNS服务器还可能“不正常”地运行。server语句用于描述远程DNS服务器的特征。 4.key语句格式: key key-id { algorithm string; secret string; }; key语句定义了用于服务器身份验证的加密密钥。 5.controls语句格式: controls { inet ip_addr allow { address_match_list } keys { key_list }; }; controls语句规定了rndc(在Bind8中是ndc)如何控制一个正在运行的named进程。rndc可以启动和停止named,转储其状态或将其转入调试模式。 6.view语句格式: view view-name { match-clients { address_match_list }; view_option; zone_statement; }; view语句可以根据客户端地址进行域名解析,使不同的客户端使用同一DNS服务器对同一地址进行解析,却可以得到不同的解析结果。view语句使用一个控制列表对客户端能看到哪个视图进行控制。 7.include语句格式: include语句用于加载根区域。当DNS服务器处理递归查询时,如果本地区域文件不能对查询进行解析,就会转到根DNS服务器进行查询,所以在主配置文件named.conf中需要指定根区域,而且每一个view都必须包含根区域。例如在”localhost_resolver”视图中加载根区域,过程如下所示: view “localhost_resolver” { /*This view sets up named to be localhost resolver (caching only nameserver). *If all you want is a caching-only nameserver, then you need only define this view: */ match-clients { localhost; }; match-destinations { localhost; }; recursion yes; #all views must contain the root hints zone: include “/etc/named.root.hints”; }; 8.zone语句格式: zone语句是named.conf文件的核心部分,用于在域名系统中设置所使用的区域(分为正向解析区域和反向解析区域),并为每个区域设置适当的选项。zone语名的格式如下 zone “domain_name” { type master; ----- 表示区域的类型为主服务器; file “path”; ----- 设置此区域的区域文件路径和文件名; }; 其中“file”用于指定与所定义区域相关的区哉配置文件,“type”用于指定区域的类型。 Bind可以使用的区域类型及其说明如下表 类型 说明 master 主DNS区域 slave 从DNS区域,从属于主DNS区域 forward 将任何解析请求转发给其他的DNS服务器 stub 与从DNS区域类似,但只保留DNS服务器的名称 hint 根域名服务器 (1)设置正向解析区域 正向解析区域用于实现域名到IP地址之间的转换。下面是一个正向解析区域的配置内容举例: zone “my.internal.com” { type master; file “my.internal.com.db”; allow-transfer {192.168.255.128;}; }; 其中“my.internal.com”表示所定义的正向解析区域的名称,表示该DNS服务器上保存着my.internal.com区域的相关数据。网络上的所有其他DNS客户端或服务器都可以通过这台DNS服务器查询到该区域的信息。 选项“type”定义了区域的类型,对于主区域应该设置为“master”,如果是从区域则应该设为“slave”. 选项“file”定义了正向解析区域文件的名称。一个区域内的所有相关数据(如主机名,IP地址,刷新时间和过期时间等)都存储在区域文件中。该文件名用户可以自行定义,但为了方便管理,一般以区域名命名。 选项“allow-transfer”定义了允许进行区域复制的从DNS服务器地址列表。由于DNS服务器经常是黑客攻击的对象,为了安全起见,必须严格限制区域复制操作,保证其只能向信任的从DNS服务器开放区域复制功能。如果没有设置从DNS服务器,可以使用“none”选项,禁用区域复制功能,如allow-transfer { none; }; (2)设置反向解析区域 在大部分的DNS查询中,DNS客户端一般执行正向解析,即根据域名信息查询对应的IP地址。但在某些特殊的应用场合中,也会使用反向解析操作,即通过IP地址查询对应的域名。下面是针对上例所定义的正向解析区域而定义的反向解析区域: zone “255.168.192.in-addr.arpa” IN { type master; file “my.internal.com.db.arpa”; }; 其中“255.168.192.in-addr.arpa”定义了反向解析区域的名称,“.in-addr.arpa”是固定后缀格式,“.in-addr.arpa”的子域名称一般是IP地址的反序,即由与点分十进制方法表示的IP地址顺序相反的字符串组成。例如子网“192.168.32.0/24”的反向解析域名为“32.168.192.in.addr.arpa”,子网“192.168.0.0/16”的反向解析域名为“168.192.in-addr.arpa”. 选项“type”定义了DNS区域的类型,与相应的正向解析区域中的“type”选项使用相同的设置。 选项“file”定义了反向解析区域文件的名称。该文件名用户可以自行定义,但为了方便管理,一般以反向解析的子网名称命名。 选项“allow-transfer”定义了允许进行区域复制的从DNS服务器地址列表,一般与相应的正向解析区域中的“allow-transfer”选项使用相同的设置。 (三)DNS正向解析区域文件 一个DNS正向解析区域文件中包含了该区域的所有相关数据,包括主机名,IP地址,刷新时间和过期时间等信息。一台DNS服务器中可以包含多个区域文件,同一个区域文件也可以存储在多台DNS服务器中。区域文件按DNS资源记录(Resource Record,RR)格式进行组织,由多条DNS资源记录组成。一条DNS资源记录的格式录如下所示: [ name ] [ TTL ] addr-class record-type record-specific-data 其中name字段是域记录的名称,一般用符号“@”表示。通常只有第一条DNS 资源记录被设置为name。区域文件中的其他资源记录的name字段必须为空。TTL字段是一个可选的Time to Live即生存周期,定义了数据在数据库中存储的时间,该字段为空表示默认的生存周期时间将由授权开始记录(Start of Authority ,SOA)所指定。addr-class字段表示地址类型,对于Internet地址来说,地址类型应该为”IN” (Internet).record-type字段表示记录类型,不同记录类型对应不同类型的主机和域名服务器,常用资源记录类型如下表: 类型 说明 A 用于描述域名和IP地址匹配的主机地址记录,映射主机名称到IP地址 NS 用于引用域名服务器 SOA 授权开始记录(Start of Authority Record).在区域文件第一条记录中指定,表明之后所有记录都是本域授权 CNAME 别名(Canonical Name)资源记录,也称为规范名字资源记录,用于将多个名称映射到同一台计算机上 PTR 指针记录,用于映射IP地址到主机名 WKS 已知的服务描述 RP 文本字符串,包含相关主机的连接点信息 HINFO 主机信息 MINFO 电子邮箱或邮件列表信息 MX 邮件交换器(Mail exchanger)资源记录,用于指向一个邮件服务器 MA 文本字符串 record-specific-data字段表示与记录相关的数据。 一个正向解析区域文件的例子: $TTL 86400 my.internal.com. IN SOA dns.my.internal.com admin.my.internal.com ( 2007090503 ;serial # (counter) 10800 ;refresh (3小时) 3600 ;retry (1小时) 604800 ;expire (1星期) 86400 ) ;TTL (3天) my.internal.com. IN NS dns.my.internal.com. dns IN A 192.168.255.129 www IN A 192.168.255.3 mail.my.internal.com. IN A 192.168.255.5 mail2.my.internal.com. IN A 192.168.255.6 rhel5 IN CNAME dns samba IN CNAME www forum IN CNAME www my.internal.com. IN MX 10 mail.my.internal.com. my.internal.com. IN MX 12 mail.my.internal.com. 具体介绍各行语句的含义: (1) 第一行中的“$TTL 86400”用于设置允许客户端缓存所查询的数据的时间,即数据的有效期。该值默认单位为秒,也可以使用“h”--表示小时;“D”--表示天;“W”--表示星期。例如86400秒为三天,还可表示为“$TTL 3D”。为了减少不必要的DNS查询流量,通常该值不应设置得过小。 (2) 第二行至第七行用于设置授权开始记录(SOA资源记录)。通常应将SOA资源记录放在区域文件的第一行或第二行。SOA资源记录与其他资源记录格式相同。但数据段内容不同,SOA记录专有格式如下所示: name [TTL] addr-class SOA Origin contact-email-address ( serial number Refresh Retry Expire Minimum ) name:定义了当前SOA所辖的域名,域名以“.”结束。也可以不使用域名而直接使用“@”代替。 TTL:代表有效时间,可以省略。省略后系统将使用文件第一行设置的TTL值。 addr-class:定义地址类型,对于Internet用户,地址类型为“IN”。 Origin:表示域名服务器的主机名,以“.”结束。 contact-email-address:通常是该域管理员的电子邮件地址,由于在该文件中“@”符号已有定义,所以电子邮件地址以“user.hostname”格式表示,即以“.”取代了“@” ()括号之间:定义了该域的一些常规选项,其中所有的数字均以秒为单位,且分号“:”表示注释,分号后的语句将被忽略,本例中的SOA记录也可以缩略地表示为: @ IN SOA dns.my.internal.com admin.my.internal.com ( 2007090503 10800 3600 604800 86400 ) ()括号内各选项含义如下: serial number序列号:序列号表示DNS数据库的可用版本。当数据库被更新时,必须将这个数字加1,这样从DNS服务器会根据该数字决定是否更新数据库,序列号可以使用任何正整数,但一般采用YYYYMMDDNNN格式,MM表示月份;DD表示两位的日期,NN表示当日更新的次数。本例中的序列号2007090503,表示2007年9月5日的第4次更新(前3次更新的版本号为2007090500,2007090501,2007090502)。 Refresh刷新:刷新表示每一个从DNS服务器将以多长的时间间隔查询主DNS服务器,即从DNS服务器检查和更新信息的频率,以秒为单位,本例中的“10800”秒即3小时。此处需要注意的是,如果主DNS服务器更新了主区域配置文件,但没有更新序列号,从DNS服务器将无法更新其区域信息。 Retry重试:重试表示从DNS服务器在和主DNS服务器联系失败后,将间隔多长时间重新试图连接,该时间间隔以秒为单位,本例中的“3600”秒即1小时。 Expire超时:超时定义了从DNS服务器在和主DNS服务器能够使用数据的最长期限。如果从DNS服务器经过“超时”仍未能和主DNS服务器取得联系,那么从DNS服务器将停止应答任何关于此域的请求。因为通常情况下,不应答会比应答坏的信息要好一些(数据太旧,已经过时),本例中“604800”秒表示一星期。 TTL(生存时间):TTL与数据库请求的应答一起返回,告诉DNS客户端或服务器该信息可保存的最长时间。该值是文件中所有记录的默认值。如果为某个资源记录指定了生存时间,则该值将被覆盖,但该值指定了其强制的最小值。本例中的“86400”秒表示3天。 (3)第八行表示域名服务器记录(Name Server),用于指定负责某个域的域名服务器,其语法格式为: IN NS name-server-hostname 其中name和TTL字段可以省略,系统将使用SOA记录中的默认值。例如本例中使用: my.internal.com. IN NS dns.my.internal.com.表示my.internal.com域的域名服务器为dns.my.internal.com (4)第九行至十二行是地址资源记录(A记录),是联系域名和IP地址的地址记录。一条A记录可以将一个域名转换成一个I地址。其语法格式为:hostname IN A IP-address. 本例中的4条A地址记录: dns IN A 192.168.255.129 www IN A 192.168.255.3 mail.my.internal.com. IN A 192.168.255.5 mail2.my.internal.com. IN A 192.168.255.6 分别表示dns.my.internal.com的IP地址为192.168.255.129; www.my.internal.com的IP地址为192.168.255.3; mail.my.internal.com 的IP地址为192.168.255.5; mail2.my.internal.com的IP地址为192.168.255.6. 可以看到,其中没有使用“.”结束的域名会自动追加域名,例如“dns”会自动扩展为“dns.my.internal.com”. (5)第十三至十五行是规则名字记录(CNAME).CNAME用于为区域中的主机创建别名,这个主机别名必须与A记录中的主机名相联系。可以给一个A记录指定多个CNAME记录,从而将多个名称映射到同一台计算机上。例如本例中的三条CNAME记录: rhel5 IN CNAME dns samba IN CNAME www forum IN CNAME www 其分别为dns.my.internal.com指定了别名rhel5.my.internal.com;为www.my.internal.com指定了samba.my.internal.com和forum.my.internal.com两个别名。 (6)第十六行至十七行表示邮件交换记录(MX),该记录指向邮件服务器,任何发送到该区域的邮件都会被发送到该邮件服务器。如果本区域中有多个邮件服务器,可以在MX记录中指定不同的级别,数字越小优先级越高。如果邮件不能送达指定的邮件服务器,系统将会按优先级选择替代的邮件服务器进行投递。例如本例中的两条MX记录: my.internal.com. IN MX 10 mail.my.internal.com. my.internal.com. IN MX 12 mail2.my.internal.com. 可以看到,发送到my.internal.com域的邮件将被优先发往mail.my.internal.com,如果发送失败将继续发送到mail2.my.internal.com上。 注意:由于MX资源只记录了邮件服务器的域名,而在实际传输过程中使用的是IP地址,因此在该文件中必须为邮件服务器指定一个A记录,否则会导致邮件传输失败! (四)DNS反向解析区域文件 反向解析区域文件采用与正向解析区域文件相同的组织格式,即该文件也由多条DNS资源记录(Resource Record ,RR)组成,但该文件用于建立IP地址到DNS域名的转换记录,因此使用的是PTR资源指针记录而不再是CNAME或A记录。 一个反向解析区域文件的例子: $TTL 86400 255.168.192.in-addr.arpa. IN SOA dns.my.internal.com admin.my.internal.com ( 2007090503 ;serial # (counter) 10800 ;refresh (3小时) 3600 ;retry (1小时) 604800 ;expire (1星期) 86400 ) ;TTL (3天) 255.168.192.in-addr.arpa. IN NS dns.my.internal.com. 129.255.168.192.in-addr.arpa. IN PTR dns.my.internal.com. 3 IN PTR www.my.internal.com. 5 IN PTR mail.m
/
本文档为【RHEL5搭建DNS服务器实现名称解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索