码迷,mamicode.com
首页 > 其他好文 > 详细

DNS域名解析服务

时间:2018-01-10 13:50:07      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:去掉   netstat   实现   ref   文件   启动失败   point   重复   关于   

DNS的作用:
正向解析:根据主机名称(域名)查找对应的 IP 地址
反向解析:根据 IP 地址查找对应的主机域名
DNS的类型:
(1)缓存域名服务器
也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名 -> IP 地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
(2)主域名服务器
特定 DNS 区域的官方服务器,具有唯一性
负责维护该区域内所有域名 -> IP 地址的映射记录
(3)从域名服务器
也称为 辅助域名服务器
其维护的 域名 -> IP 地址记录 来源于主域名服务器
相关软件包
(1)bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了域名服务的主要程序及相关文件
(2)bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了对DNS服务器的测试工具程序
(3)bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了bind、bind-utils需要使用的库函数
(4)bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录),以提高安全性
实验步骤:
搭建缓存域名服务器
技术分享图片

  1. 插入安装光盘并挂载,然后安装bind软件包及相关的软件包。
    技术分享图片
    技术分享图片
  2. 编辑主配置文件。
    主配置文件named.conf通常位于/etc/目录下,如果安装了bind-chroot软件包,则主配置文件默认位于/var/named/chroot/etc/目录下,需要用户手工建立。在named.conf文件中,主要包括全局配置、区域配置两个部分,每一条配置记录的行尾以分号“;”表示结束,以“#”号或“//”开始的部分表示注释文件(大段注释可以使用“/……/”的格式)
    技术分享图片
    技术分享图片
    上述配置内容中,除了directory项通常会保留以外,其他的配置项都可以省略。若不指定listen-on配置项时,named默认在所有接口的UDP 53端口监听服务;不指定allow-query配置项时,默认会响应所有客户机的查询请求。dump-file、statistics-file、memstatistics-file等配置项用于指定缓存数据库文件、状态统计文件的位置。添加了“zone “.” in { };”部分的根区域设置,尽管缓存服务器并没有自主控制的区域数据,但可以向根服务器进行迭代查询,并将最终获得的解析结果反馈给客户。
    有时候为了提高解析效率,也可以不向根分区查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20、202.106.148.1),缓存服务器收到返回的查询结果后再传递给客户端。只要去掉“zone “.” in {……};”的设置,并在全局配置中正确设置forwarders参数即可实现该功能。如下所示:
    [root@localhost ~]# vim /var/named/chroot/etc/named.conf
    options {
    …… //省略部分内容
    Forwarders { 202.106.0.20;202.106.148.1 };
    };
    3.确认根域的区域数据库文件named.ca
    根区域的区域数据库文件默认位于文件/var/named/chroot/var/named/named.ca中,该文件记录了Internet中13台根域服务器的域名和IP地址等相关信息。
    技术分享图片
    技术分享图片
  3. 启动named服务
    执行“service named start”命令,启动named服务,并通过netstat命令确认named服务的端口监听状态。若服务启动失败或发现没有正常监听UDP 53端口,可以根据错误提示信息(或者/var/log/messages文件中的日志记录)排除错误,然后再重启服务即可。
    技术分享图片
    缓存服务器搭建成功!
    搭建主、从域名服务器
    技术分享图片
    搭建主域名服务器
    1.设置本机的IP地址、主机名称,通过修改网络配置文件的方式进行。另外,为了提高域名解析效率,建议将两个DNS服务器的地址映射直接写入到/etc/hosts文件中,并在/etc/resolv.conf文件中指定两个DNS服务器的地址。
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    2.建立主配置文件named.conf
    新创建的named.conf主配置文件,由于只需要提供benet.com域的正向解析和173.16.16.0/24网段的反向解析,因此相应的添加这两个区域即可。根区域、回环域等其他配置内容可以省略。
    技术分享图片
    技术分享图片
    当不需要建立从域名服务器时,上述配置内容中的“allow-transfer……”部分可以不添加;当不需要提供反向解析,“zone “16.16.173.in-addr.arpa”……”部分也可以去掉。
    3.建立正、反向区域数据文件
    根据named.conf中的zone区域设置,分别建立正向区域数据文件benet.com.zone、反向区域数据文件173.16.16.arpa。配置内容可以参考回环域的区域数据文件/var/named/chroot/var/named/localdomain.zone,并根据实际情况进行修改。
    区域数据配置文件通常位于/var/named/目录下。如果安装了bind-chroot软件包,则默认位于/var/named/chroot/var/named/目录下,需要手工建立。每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置。
    在区域数据文件中,主要包括TTL配置项、SOA(Start Of Authority,授权信息开始)记录、地址解析记录。文件中的注释信息以分号“;”开始。
    技术分享图片

技术分享图片br/>上述配置内容中,时间单位默认为秒,也可以使用以下单位:M(分)、H(时)、W(周)、D(天)。文件中的“@”符号表示当前的DNS区域名,相当于“benet.com.”,“admin.benet.com.”表示域管理员的电子邮箱地址(由于“@”符号已有其他含义,因此将邮件地址中的“@”用“.”代替)。SOA记录中的更新序列号用来同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
其中,NS、MX记录行首的“@”符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或者Tab制表位。
技术分享图片
技术分享图片
在反向区域数据文件中,不会用到A地址记录,而是使用PTR指针(Point)的记录。使用PTR记录时,第一列中只需要指明对应IP地址的“主机地址”部分即可,如“1”、“2”等,系统在查找地址记录时会自动将当前反向域的网络地址作为前缀。
在区域数据配置文件中,凡是不以点号“.”结尾的主机地址,系统在查找地址记录中都会自动将当前的域名作为后缀。
修改完主配置文件以后,可以执行named-checkconfig命令对named.conf文件进行语法检查。如果文件中没有语法错误,该命令将不给出任何提示;反之,则会给出相应的提示信息,只要根据出错信息提示修正文件中的错误即可。带“-z”选项的named-checkconfig命令还可以尝试加载主配置文件中对应的区域数据库文件,并检查该文件是否存在问题。
技术分享图片
关于named.conf文件中各种配置项的详细说明,可以执行“man named.conf”查看手册页,也可参考配置样本文件/usr/share/doc/bind-9.3.6/sample/etc/named.conf。
修改完区域数据库文件以后,可以执行named-checkzone命令对该文件进行语法检查。依次指定区域名称、数据文件名作为参数。如果文件中没有语法错误,系统将给出“OK”的提示信息
技术分享图片
执行“service named start”命令以启动named服务,如果之前named服务已经在运行,也可以重启服务或重载配置。
技术分享图片
在客户端将DNS服务器指向173.16.16.5(主域名服务器的IP地址),使用nslookup命令验证DNS查询结果。
技术分享图片
技术分享图片
技术分享图片
主域名服务器搭建完毕!
搭建从域名服务器
1.确认本机的网络地址、主机映射、默认DNS服务器地址
将从域名服务器的IP地址设为173.16.16.6,主机名设为ns2.benet.com,通过修改网络配置文件的方式进行。另外,主机映射文件/etc/hosts和DNS解析文件/etc/resolv.conf的内容与主服务器中的内容相同。

  1. 建立主配置文件named.conf
    在从域名服务器中,named.conf文件的内容与主服务器的内容大部分相同,只是不需要再设置“allow-transfer ……”;更关键的一点是,zone部分的区域类型应设置为“slave”,并添加“masters { };”语句来指定主域名服务器的地址。
    技术分享图片
    技术分享图片
    由于从服务器的区域数据文件是从主服务器中下载而来,因此该文件保存的名称可以自行定义,不用非得与主服务器中的一致。但需要注意的是,named”服务默认以名为“named”的用户身份运行,因此要确认named用户对存放目录有写入权限。
    技术分享图片
  2. 启动named服务,查看区域数据文件是否下载成功
    在从域名服务器中执行“service named start”命令以启动named服务。
    技术分享图片
    若配置无误,则named将会从主域名服务器中自动下载指定的区域数据文件,并保存到“slaves/”目录下。另外,通过系统日志文件/var/log/messages也可以观察到下载区域数据文件的过程。
    技术分享图片
  3. 验证从域名服务器
    验证从域名服务器时,只需要将客户端的首选DNS服务器地址设为173.16.16.6(从域名服务器的IP地址),使用nslookup命令进行正常测试即可。
    技术分享图片
    从域名服务器已搭建好!
    Linux清除缓存命令:rndc flush

DNS域名解析服务

标签:去掉   netstat   实现   ref   文件   启动失败   point   重复   关于   

原文地址:http://blog.51cto.com/13555753/2059347

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!