DNS服务及配置

  • 格式:doc
  • 大小:183.50 KB
  • 文档页数:10

DNS(Domain Name System,域名系统)。

8.2.1 DNS概述DNS包含域名服务器和解析器两个部分。

域名服务器:存储和管理授权区域内的域名数据,提供接口供客户机检索数据;解析器:即客户机,向域名服务器递交查询请求,翻译域名服务器返回的结果并递交给高层应用程序。

1.DNS域名空间的分层结构Internet上的顶级域名有两种:机构域和地理域。

(1)机构域一种是将域名空间按功能分成几大类,分别表示不同的组织,称为机构域,比如:com (商业组织)、edu(教育机构)、org(政府机构)、net(网络提供者)、int(国际实体)、mil (军事机构)、org(其他组织)等。

(2)地理域另一种象cn(中国)这样的按照地理位置划分的国别代码,通常用两个字符表示,称为地理域。

图8-5 Internet域名的层次2.域名解析过程DNS的工作原理及过程分为下面几个步骤:(1)客户机提出域名解析请求,并将该请求发送给本地的DNS服务器。

(2)当本地的DNS服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。

(3)如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地DNS服务器一个所查询域(根的子域)的主域名服务器的IP地址。

(4)本地DNS服务器再向上一步返回的域名服务器发送请求,然后接受请求的DNS 服务器查询自己的缓存,如果没有该记录,则返回相关的下级DNS服务器的IP地址。

(5)重复(4),直到找到正确的记录。

(6)本地DNS服务器把返回的结果保存到缓存,以备下一次使用,同时将结果返回给DNS客户机。

8.2.2 实例—设置DNS服务器实例8-3 通过GUI设置DNS服务器下面介绍在桌面环境下对DNS的配置过程:第1步:复制named.root文件# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/named.rootnamed.root文件的内容如图8-6所示。

在DNS数据库中,named.root文件列出了所有根DNS服务器的地址。

当一个DNS的请求不在该DNS服务器所管理的域时,DNS服务器会将该请求发送给一个根DNS服务器。

实例8-4 通过创建和修改(配置)文件来设置DNS服务器下面介绍通过编辑文件的方式对DNS服务器进行配置的过程:第1步:复制named.root文件# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/named.rootnamed.root文件的内容如图8-6所示。

注意:在/usr/share/doc/bind-9.3.3/sample下面有named.conf文件和正向/逆向解析区文件的范例文件,读者可以将他们分别复制到相应的目录,然后根据实际需求进行修改即可。

第2步:修改named.conf文件修改主DNS服务器的/var/named/chroot/etc/named.conf文件,内容如下:options {directory "/var/named"; //定义服务器区配置文件存放的目录,由于使用了chroot功能,//区配置文件存放的实际目录是/var/named/chroot/var/named dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";};view "internal" {match-clients { any; };match-destinations { any; };recursion yes; //对内网用户开启DNS的递归查询zone "0.168.192.in-addr.arpa." IN { //定义逆向解析区声明,in-addr.arpa是固定写法type master; //注意:书写反向地址解析时,与通常书写的ip地址顺序相反,如:0.168.192file "192.168.0.db"; //逆向解析区文件名,名称可以任意取};zone "." IN { //定义正向解析区声明, 如果不写IN,那么默认就是IN类type master;file ".db"; //正向解析区文件名,名称可以任意取};zone "." IN { //定义根区声明type hint; //选择type为hint("."专用)file "named.root"; //默认文件名named.root,有时也可能是named.ca }; //在DNS数据库中,named.root文件列出了所有根DNS服务器的地址zone "localhost." IN { //定义localhost的正向解析区声明type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa." IN { //定义localhost的逆向解析区声明type master;file "named.local";allow-update { none; };};//定义localhost的逆向解析区声明(IPv6)zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {type master;file "named.ip6.local";allow-update { none; };};};include "/etc/rndc.key"; //包含/etc/rndc.key文件下面对主配置文件named.conf的语法进行介绍。

1)配置语句named.conf的配置语句及其功能见表8-3。

表8-3 named.conf的配置语句及其功能2)options语句named.conf文件中全局配置语句的语法为:options(配置子句;配置子句;);常用的全局配置子句及其功能见表8-4。

表8-4 全局配置子句及其功3)区声明named.conf文件中最重要的部分是区声明,zone语句的语法为:zone “zone-name” IN(type 子句;file 子句;其他子句;);常用的区声明子句及其功能见表8-5。

表8-5 区声明子句及其功能4)view指令在实际的网络应用中,有时希望能够根据来自不同IP地址的请求,对同一个域名解析到不同的IP地址,比如:一所高校的校园网有两个出口:教育网和公网(网通、电信等),希望来自教育网的用户通过教育网接口访问,来自公网的用户通过公网接口访问,另外,还要对校内用户提供域名解析服务。

此时可以通过BIND9提供的view指令实现该功能(BIND8没有view指令),加快用户的访问速度。

view可以看成zone的集合,如果在配置文件named.conf中一个view都没有,那么所有的zone默认属于一个view。

(1)修改配置文件named.conf,主要内容如下:acl "jiaoyuwang_ip_range"{ //创建一个访问控制列表127.0.0.1; 211.68.0.0/16; 211.84.0.0/16;//127.0.0.1是本机,211.68.0.0/16和211.84.0.0/16表示教育网,注意:在此仅仅是示例,//如果实际应用,读者要获得教育网地址列表};acl "lan_ip_range"{127.0.0.1; 192.168.0.0/24; 10.10.0.0/16;//127.0.0.1是本机,211.68.0.0/16和218.68.0.0/16表示校园内网,读者要根据自己的//网络环境获得校园网地址列表};view "jiaoyuwang" {match-clients { "jiaoyuwang_ip_range"; }; //此视图对教育网用户提供视图内定义的DNS服务recursion no; //把递归关掉,这台DNS服务器忽略外来用户的非本地域名请求zone "." IN {type hint;file "name.root";};zone "" {type master;file "jiaoyuwang/.db"; //针对教育网用户的正向解析区文件};};view "inside" {match-clients { "lan_ip_range"; }; //此视图对内网用户提供视图内定义的DNS服务recursion yes; //对内网用户开启DNS的递归查询zone "." IN {type hint;file "name.root";};zone "0.168.192.in-addr.arpa" IN {type master;file "0.168.192.in-addr.arpa.db"; //针对内网用户的逆向解析区文件};zone "" {type master;file ".db"; //针对内网用户的正向解析区文件};};view "gongwangqita" {match-clients { any; };//地址列表也可以用any、none、localnets和localhost。

any是指任何主机,//none不匹配任何主机,localnets是指本地网络的所有主机,localhost是指本地主机。

//将此视图放在jiaoyuwang和inside视图之后,对除了教育网用户和内网用户以外的//所有用户提供视图内定义的DNS服务recursion no; //把递归关掉,这台DNS服务器忽略外来用户的非本地域名请求zone "." IN {type hint;file "name.root";};zone " " {type master;file "gongwangqita/.outside";//针对除了教育网用户和内网用户以外的所有用户的正向解析区文件};};(2)创建文件/var/named/chroot/var/named/jiaoyuwang/.dbjiaoyuwang/.db正向解析区文件对教育网用户提供DNS服务,内容如下:$TTL 1H@ SOA . . (2 ; Serial3H ; Refresh1H ; Retry1W ; Expire1H ) ; MinimumIN NS . ; NS(Name Server)后面的主机管理整个“.”域dns IN A 192.168.0.5www IN A 211.68.58.22 ;与教育网相连的网络接口的公共IP地址(3)创建文件/var/named/chroot/var/named/.db.db正向解析区文件对内网用户提供DNS服务,内容如下:$TTL 1H@ SOA . . (2 ; Serial3H ; Refresh1H ; Retry1W ; Expire1H ) ; MinimumIN NS . ; NS(Name Server)后面的主机管理整个“.”域IN MX 10 . ; MX(Mail eXchanger)指定邮件转发服务器,接收;从Internet上来的邮件,然后再转发给相应的主机dns IN A 192.168.0.5www IN A 192.168.0.22 ;与内网相连的网络接口的IP地址(4)创建文件/var/named/chroot/var/named/gongwangqita/.dbgongwangqita/.db正向解析区文件对除了教育网用户和内网用户以外的所有用户提供DNS服务,内容如下:$TTL 1H@ SOA . . (2 ; Serial3H ; Refresh1H ; Retry1W ; Expire1H ) ; MinimumIN NS . ; NS(Name Server)后面的主机管理整个“.”域dns IN A 192.168.0.5www IN A 58.32.5.78 ;与电信网相连的网络接口的公共IP地址以上示例仅用来帮助读者理解view指令的使用。