1. 架设DNS服务器首先我们得安装一下的软件
[root@bogon ~]# rpm -qa | grep ^bind
bind-libs-9.8.2-0.37.rc1.el6.i686 <==给 bind 与相关指令使用的函式库
bind-utils-9.8.2-0.37.rc1.el6.i686 <==这个是客户端搜寻主机名的相关指令
bind-chroot-9.8.2-0.37.rc1.el6.i686 <==将 bind 主程序关在家里面!
bind-9.8.2-0.37.rc1.el6.i686 <==就是 bind 主程序所需软件
上面比较重要的是那个『 bind-chroot 』啦!所谓的 chroot 代表的是『 change to root(根目录) 』的意思,root 代表的是根目录。早期的 bind 默认将程序启动在 /var/named 当中,但是该程序可以在根目录下的其他目录到处转移,因此若 bind 的程序有问题时,则该程序会造成整个系统的危害。为避免这个问题, 所以我们将某个目录指定为 bind 程序的根目录,由于已经是根目录,所以 bind 便不能离开该目录!所以若该程序被攻击,了不起也是在某个特定目录底下搞破坏而已。 CentOS 6.x 默认将 bind 锁在 /var/named/chroot 目录中喔!
2. 要架设好 BIND 需要什么设定数据呢?基本上有两个主要的数据要处理:
(1) BIND 本身的配置文件(/etc/named.conf):主要规范主机的设定、zone file 的所在、权限的设定等;
(2) 正反解数据库档案 (zone file,/var/named/):记录主机名与 IP 对应的等。
3. 现在来了解一下bind默认的目录:
(1) /etc/named.conf :这就是我们的主配置文件啦!
(2) /etc/sysconfig/named :是否启动 chroot 及额外的参数,就由这个档案控制;
(3) /var/named/ :数据库档案默认放置在这个目录
(4) /var/run/named :named 这支程序执行时默认放置 pid-file 在此目录内。
4. 下面这一行的意思是:我要将 named 给他 chroot ,并且变更的根目录为 /var/named/chroot
[root@bogon ~]# cat /etc/sysconfig/named |grep -v ^#
ROOTDIR=/var/named/chroot
申请一个合法的主机名就是需要注册, 注册就是需要花钱啦!那么注册取得的资料有两种:
一种是FQDN (主机名),
一种就是申请领域查询权
所谓的 FQDN 就是我们只需要主机名,详细的设定数据就由 ISP 帮我们搞定。 那部 www.ksu.edu.tw 的详细主机名对应 IP 的数据就是请管理 .ksu.edu.tw 那个领域的服务器搞定的。
那什么是领域查询授权呢?
我们的 .ksu.edu.tw 必须要向 .edu.tw 那部主机注册申请领域授权,因此,未来有任何 .ksu.edu.tw 的要求时, .edu.tw 都会说:『我不知道! 详情请去找 .ksu.edu.tw 吧!』此时,我们就得要架设 DNS 服务器来设定 .ksu.edu.tw 相关的主机名对应才行喔! 是否很像人类社会的『授权』的概念?
也就是说,当你老板充分的『授权』给你某项工作的时候,从此,要进行该项工作的任何人, 从老板那边知道你才是真正『有权』的人之后,都必须要向你请示一样!^_^!所以啰,如果你要架设 DNS ,而且是可以连上 Internet 上面的 DNS 时,你就必须要透过『上层 DNS 服务器的授权』才行!这是很重要的观念喔!
让我们归纳一下要让你的主机名对应 IP 且让其他计算机都可以查询的到,你有两种方式:
1.上层 DNS 授权领域查询权,让你自己设定 DNS 服务器,或者是;
2.直接请上层 DNS 服务器来帮你设定主机名对应!
拥有领域查询权后,所有的主机名信息都以自己为准,与上层无关