DNS傻瓜书作者: rainren 版本: 01版系统: FreeBSD5.2, 自制一个example.com的本地解析基础知识:域名系统DNS是将域名转换成相应IP地址的因特网服务. 目前使用的DNS服务器软件是BIND (Berkeley Internet Name Domain ). BIND名字服务器守护进程的名字是: named, 可以使用BIND提供的ndc工具来启动, 终止, 重新启动名字服务器. 配置文件是/etc/namedb/namd.conf. DNS服务器可分为以下几种: (摘自<>第四版)Master server (主服务器) 某个区域的主DNS服务器.Slave server (从服务器) 从主服务器接收区域信息的DNS服务器.Forwarder server (转发服务器) 将未解析的DNS请求发送到该网络以外的服务器.它可以保持局域网上的其他服务器对因特网隐藏.Caching on server (缓冲服务器) 将从DNS服务器收到的DNS信息进行缓冲, 使用这种子缓冲信息来解析本地请求.Stealth server (秘密服务器) 没有被主DNS服务器列为名字服务器的区域DNS服务器. 下面是常见的几种区域类型:Master zone (主区域) 这是网络最基本的区域文件. 此文件维护本网络中所有主机的域名和IP地址的映射关系.Slave zone (从区域) 他们是本网络上其他DNS服务器的引用文件.用户的网络可以有一个主DNS服务器和多个从DNS服务器, 以协助执行任务, 降低负载. 从DNS服务器会自动从主DNS服务器那里复制包括所有区域文件在内的配置文件.任何主服务器配置文件的修改都会导致配置文件自动下载到从DNS服务器. 实际上, 由于配置文件会自动地复制到从DNS服务器, 所以你只要管理主服务器上的配置文件即可.Forward zone (转发区域) 转发区域文件会列出本网络之外的名字服务器,如果本网络的名字服务器解析IP地址失败, 它会搜索转发区域文件中的名字服务器以尽可能地解析域名.区域条目在named.conf文件中给出. 你可以在这里设置主, 从, 转发DNS服务器区域条目.除此之外, 你还要设置下面提到的两个特殊的区域条目:IN-ADDR.ARPA区域 每个主区域条目都有一个相应的名为IN-ADDR.ARPA的逆向映射区域条目, 就象本地字段从主机地址开始, 而不是网络. 所以, 对于192.168.1.4而言, 4是主机地址, 其相应域地址是4.1.168.192, 以逆序排列. 本地主机的逆向映射是0.0.127..zone 此区域条目定义一个用来指定根名字服务器的线索区域. 下面是使用三个表来介绍named.conf里出现的一些关键字:DNS BIND 区域类型类型描述masterslavehintforwardstub主DNS区域从DNS区域, 由主DNS区域控制根DNS因特网服务器集将任何询问请求转发给其他服务器与从区域类似, 但只保存DNS服务器的名字 资源记录类型类型描述ANSCNAMESOA WKSPTRRPHINFOMINFOMXTXT主机地址, 映射主机名字到IP地址本域授权名字服务器规范的名字, 用来注释主机的别名授权开始, 在域文件中开始DNS条目, 为域和其他特征 (像接点和序号) 指定名字服务器已知的服务描述指针记录, 执行逆向域名访问, 映射IP地址到主机名文本字符串, 包含有关主机的接点信息主机信息电子邮箱或邮件列表信息邮件交换器, 传送到域邮件服务器的远程站点文件字符串, 通常是主机信息常见的DNS配置语句和选项语句描述/* 注释 */// 注释# 注释aclincludekeyloggingoptionscontrolservertrusted-keyszonetypefiledirectoryforwardersmastersallow-transferallow-querynotifyC语法风格的BIND注释C++语法风格的BIND注释Unix shell和perl系统风格的BIND注释定义IP地址匹配列表包含一个文件指明用于识别和授权的密匙信息指定服务器日志记录的内容和日志信息的来源全局服务器的配置选项和其他语句的缺省值声明ndc软件工具使用的控制通道设置某个服务器配置参数定义预先配置到服务器中, 并且信任的DNSSEC密钥定义一个区域指明一个区域类型指定一个区域文件指明区域文件的目录列出主机请求将要被转发到的DNS服务器列出做为从服务器使用的DNS主服务器主机指明允许哪台主机接收区域传送的请求指明允许哪台主机提出询问当主区域数据需要改变和更新时, 允许主服务器通知从服务器 OK! 到此一些基本的信息已了解, 我们开始配置DNS! 操作步骤:FreeBSD系统自带了BIND软件, 可以直接在/etc/rc.conf中加入named_enable=”YES”就可以启动DNS服务器了, DNS服务器的配置文件夹是/etc/namedb, 我们需要配置的文件是named.conf, 下面我直接贴出我已配置好的named.conf文件和其它的file. 我的ip地址为202.116.92.61. 配置的域名为 example.com. Named.conf// $FreeBSD: src/etc/namedb/named.conf,v 1.14 2003/02/07 20:58:38 keramida Exp $//// Refer to the named.conf(5) and named(8) man pages for details. If// you are ever going to set up a primary server, make sure you// understand the hairy details of how DNS works. Even with// simple mistakes, you can break connectivity for affected parties,// or cause huge amounts of useless Internet traffic. options { directory "/etc/namedb"; pid-file "/var/run/named/pid";}; zone "." { type hint; file "named.root";}; zone "local
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/dns/)