搭建DNS服务器,对于系统、网络玩的熟的人,大概几十分钟就能搞定。对于玩的不熟的人来说,也许几个小时才能摸清门路。我就属于第二种,光了解概念就花了不少时间,总结一下吧。
先了解几个概念: DNS 是计算机域名系统 (Domain NameSystem 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP。当我们在浏览器的地址栏里敲入地址:www.163.com访问网易网站的时候,事实上www.163.com最终会被解析成218.60.31.75这个IP地址,而我们的浏览去访问这个IP地址,就可以登录网易的网站了。DNS是一个分布于全球各个角落的分布式数据库系统,类似于我们生活中的114电话查询系统。
![]() 解析分为: 正向解析,从域名-->IP。 反向解析,从IP-->域名。 域名服务器大概可以分为: 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 此区域条目定义一个用来指定根名字服务器的线索区域。
本次试验利用Webmin搭建一个基于Bind的DNS主服务器,为了测试简单,不搞从服务器及缓存服务器。Linux下架设DNS服务器通常是使用Bind程序来实现的。Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。我就是因为使用命令搞了半天没搞定,才想起用Webmin的,确实是神器,超简便!
试验相关说明: 三个节点:
计划将主DNS服务器安装在biao节点上。
bind相关的软件包主要有四个: bind,提供域名服务的主要程序及相关文件 bind-utils,提供对dns服务器的测试工具程序(如 nslookup、dig等) bind-chroot,为bind提供一个伪装的根目录以增强安全性 caching-nameserver,以配置bind作为缓存域名服务器提供必要的默认配置文件,这些文件配置主、从域名服务器时也可以作为参考。
复制代码
我系统里相关的包都有了,没有的话可以通过yum安装。yum不好使的,可以参考: Redhat/CentOS使用yum报错的完美解决方案http://f.dataguru.cn/forum.php?mod=viewthread&tid=44212&fromuid=4771
caching-nameserver,可以不用装,我目测了一下,只要装好了其他的包,模板文件在其他的目录下也有,可以通过以下命令查看的到:
复制代码 当然,既然使用webmin,就不需要神马模板了。。
二、webmin相关配置: 1.下载:
复制代码 ![]()
2.安装:
复制代码
如上所示,webmin安装成功了,默认端口是10000,可以检查下运行状态:
3.登录: ![]()
默认用户是root用户,填写相应的用户名密码即可。登录后首页如下: ![]()
4.修改解析顺序: 点击“Networking”--》“Network Configuration”--》“Hostname and DNS Client”
![]() 将解析顺序改为DNS--》Hosts file ![]()
保存退出
5.BIND DNS SERVER: 点击“Servers”--》“BIND DNS SERVER” ![]()
安装完bind之后,默认不会创建相应named.confi的配置文件,需要初始化。 点击按钮创建
6.创建主区域: 在“Existing DNS Zones”里点击“Create master zone” ![]()
Zone type:分为正向和反向两种,简单测试,只设置正向了就好了。 Domain name / Network:要解析的域名。 Master server:主服务器。 Email address:邮箱。 其他的默认就好。 ![]()
点击create完成。
7.添加地址: 点击“Address” ![]()
如下将biao、biao1、biao2的地址都配置好。 ![]() ![]() ![]()
再多加一个,用于测试: ![]()
记得点击create按钮创建,并且配置完后点击右上角的apply哦~
1.检查named服务状态:
复制代码
2.修改dns配置: 把以前的DNS服务器删掉或者注释掉,配置为本次配置的DNS服务器地址
复制代码
当然,也可以在webmin里更改,或者检查结果: ![]()
3.测试结果:
![]() ![]() ![]()
测试成功。
至此,一个简单的主DNS服务器搭建成功。 |