天天看点

DNS服务器的构建及配置

<b> </b>

<b>《linux</b><b>网络服务</b><b>》</b>

<b>第三章</b><b>构建域名服务器</b>

一.     <b>DNS</b><b>系统概述</b>

1.     <b>DNS</b><b>系统的作用</b>

a.     <b>正向解析:根据主机名称(域名)查找对应的</b><b>IP</b><b>地址</b>

b.     <b>反向解析:根据</b><b>IP</b><b>地址查找对应的主机域名</b>

2.     <b>DNS</b><b>系统的分布式数据结构</b>

3.     <b>DNS</b><b>查询方式:</b>

a.     <b>递归查询</b>

大多数客户机向DNS服务器解析域名的方式

b.     <b>迭代查询</b>

大多数DNS服务器向其他DNS服务器解析域名的方式

二.     <b>DNS</b><b>服务器的类型(角色)</b>

1.     <b>缓存域名服务器</b>

a.     <b>也称为</b><b>唯高速缓存服务器</b>

b.     <b>通过向其他域名服务器查询获得域名</b><b>-&gt;IP</b><b>地址记录</b>

c.      <b>将域名查询结果缓存到本地,提高重复查询时的速度</b>

2.     <b>主域名服务器</b>

a.     <b>特定</b><b>DNS</b><b>区域的官方服务器,具有唯一性</b>

b.     <b>负责维护该区域内所有域名</b><b>-&gt;IP</b><b>地址的映射记录</b>

3.     <b>从域名服务器</b>

a.     <b>也称为</b><b>辅助域名服务器</b>

b.     <b>其维护的</b><b>域名</b><b>-&gt;IP</b><b>地址记录</b><b>来源于主域名服务器</b>

三.     <b>BIND</b><b>域名服务基础</b>

1.     <b>BIND</b><b>(</b><b>Berkeley Internet Name Daemon</b><b>)</b>

    <b>伯克利</b><b>Internet</b><b>域名服务</b>

    <b>官方站点:</b><b>https://www.isc.org/</b>

2.     <b>相关软件包</b>

    <b>bind-9.3.3-7.el5.i386.rpm        </b><b>主程序包</b>

    <b>bind-utils-9.3.3-7.el5.i386.rpm    </b><b>工具</b>

    <b>bind-chroot-9.3.3-7.el5.i386.rpm </b><b>安全牢笼</b><b>(</b><b>伪装根目录</b><b>)</b>

    <b>caching-nameserver-9.3.3-7.el5.i386.rpm </b><b>模板</b>

3.     <b>BIND</b><b>服务器端程序</b>

    <b>主要执行程序:</b><b>/usr/sbin/named</b>

    <b>服务脚本:</b><b>/etc/init.d/named</b>

    <b>默认监听端口:</b><b>53</b>

    <b>主配置文件:</b><b>/var/named/chroot/</b>etc/named.conf

    <b>保存</b><b>DNS</b><b>解析记录的数据文件位于:</b>

<b>/var/named/chroot/</b>var/named/

注意: named默认监听TCP、UDP协议的53端口,以及TCP的953端口:

      其中UDP 53端口一般对所有客户机开放,以提供解析服务;

      TCP 53端口一般只对特定从域名服务器开放,提高解析记录传输通道;

  TCP 953端口默认只对本机(127.0.0.1)开放,用于为rndc远程管理工具提供控制通道

如果没有安装bind-chroot软件包,则主配置文件默认位于 /etc/named.conf,数据文件默认保存在 /var/named/ 目录

四.     <b>主配置文件</b><b>named.conf</b>

<b>全局配置部分</b>

<b>options {</b>

<b>    listen-on port 53 { 173.16.16.1; };</b><b>监听端口号</b>

<b>    directory   "/var/named";</b>

<b>    allow-query { 192.168.1.0/24; 173.16.16.0/24; };</b><b>允许查询的客户机地址</b>

<b>    recursion yes;</b><b>是否允许为客户机进行递归查询</b>

<b>};</b>

<b>根区域配置部分</b>

<b>zone "." IN { </b><b>定义根区域</b>

<b>    type hint;</b><b>hint</b><b>表示根区域</b><b>;master</b><b>表示主区域</b><b>;slave</b><b>辅助区域</b><b>       </b>

<b>    file "named.ca"; file </b><b>用于设置</b><b>该区域对应的数据文件名</b>

<b>自己定义的区域配置部分</b>

<b>zone "benet.com" IN { benet</b><b>域名的正向区域</b>

<b>    type master;       </b><b>主</b><b>dns</b>

<b>    file "benet.com.zone"; </b><b>正向区域的配置文件名字</b>

<b>    allow-transfer { 173.16.16.2; };</b><b>允许下载该区域解析记录的从域名服务的地址</b>

<b>    allow-update    { none; }; </b><b>允许动态更新哪些客户机地址,</b><b>none </b><b>表示全部禁止</b>

<b>zone "16.16.173.in-addr.arpa" IN {benet</b><b>域名的反向区域</b>

<b>    type master;               </b><b>主</b><b>dns </b>

<b>    file "173.16.16.arpa";       </b><b>反向区域配置文件</b>

五.     <b>区域数据配置文件</b>

1)正向区域文件内容

<b>$TTL    86400              ; </b><b>有效地址解析记录的默认缓存时间</b>

<b>@ IN SOA benet.com. admin.benet.com. (</b>

<b>        2009021901     ;</b><b>更新序列号</b>

<b>        3H          ;</b><b>刷新时间</b>

<b>        15M             ;</b><b>重试延时</b>

<b>        1W               ;</b><b>失效时间</b>

<b>        1D           ;</b><b>无效地址解析记录的默认缓存时间</b>

<b>)</b>

<b>@    IN    NS    ns1.benet.com.</b><b>指定谁是域名服务器</b>

<b> IN       MX 10 mail.benet.com.</b><b>指定邮件解析记录</b>

<b>ns1       IN    A     173.16.16.1</b>

<b>mail       IN    A     173.16.16.1</b>

<b>www     IN    A     173.16.16.1</b>

<b>ftp         IN    CNAME     www</b><b>别名记录</b>

2)反向区域文件内容

把A记录换为PTR记录,别的内容保持不变

<b>1     IN       PTR         www.benet.com. </b>

<b>4     IN       PTR         study.benet.com.  4</b><b>表示最后一位</b><b>ip</b>

六.     <b>区域数据文件的几个特殊应用</b>

1.     <b>基于域名解析的负载均衡</b>

    <b>同一域名对应到多个</b><b>IP</b><b>地址</b>

<b> </b><b>例如有一个网站是</b><b>movie.benet.com</b>

<b> movie       IN       A        173.16.16.11</b>

<b>movie       IN       A        173.16.16.12</b>

<b>movie       IN       A        173.16.16.13</b>

2.     <b>泛域名解析</b>

    <b>找不到精确对应的</b><b>A</b><b>记录时,使用“</b><b>*</b><b>”进行匹配</b>

<b>*           IN       A        173.16.16.173</b>

3. 子域授权

   <b>cn              IN      A        173.16.16.2</b>

<b>           IN             NS           ns.jv.net.cn.</b>

<b>ns.jv.net.cn.   IN       A        173.16.16.2</b>

七.     <b>对配置文件进行语法检查</b>

<b>1. named-checkconf</b><b>工具</b>

<b>named-checkconf   named.conf</b>

<b>2.     </b><b>named-checkzone</b><b>工具</b><b>    </b><b>后面加域名</b><b> </b><b>然后是正</b><b>/</b><b>反向文件</b>

<b>例如</b><b>:named-checkzone benet.com benet.com.zone</b>

<b>八</b><b>.</b><b>在</b><b>dns</b><b>的主配文件当中</b><b>,</b><b>可以用</b><b>”#”,”//”,</b><b>或者</b><b>”/*……*/”</b>

<b>    </b><b>但区域文件当中</b><b>,</b><b>只能以</b><b>”;”</b><b>来表示注释</b><b>.   </b><b>切记</b><b>!!!!</b>

<b>补充:下面的的命令可以更新根区域配置文件</b>

dig @a.root-servers.net ns &gt; /var/named/chroot/var/named/named.ca

继续阅读