前言: 为自己网搭建一台主DNS服务器,使得自己网用户能够通过域名访问自己网内的所有服务器 搭建主域名服务器,下面案例假设所负责的DNS域为你的名字全拼.com,要求为以下服务提供正向解析, 工具:RHEL/CentOS 虚拟机一台
我这里新建文件名为1830226 ,并挂载
yum方法安装bind,使用安装命令: yum install bind -y
我这里配置DNS服务器网卡的IP地址为192.168.2.26
编辑全局配置文件——vi/etc/named.conf 修改其中2个地方(见下页红色下划线处)
配置区域——/etc/named.rfc1912.zones vi /etc/named.rfc1912.zones
在文件named.rfc1912.zones尾部增加以下部分:
zone “你的中文名的全拼.com” IN { //指明要增加的DNS域的名称 type master; //指明增加的为DNS的主要区域 file “你的中文名的全拼.com.zone”; // 设置该主要区域的区域配置文件名,该文件用于实现正向域名解析 allow-update { none; }; //设置该DNS不允许动态更新 }; zone “bh. 168.192.in-addr.arpa" IN { //指明该区域为反向查找区域 type master; //指明该反向查找区域为主要区域 file “bh. 168.192.in-addr.arpa .zone"; //设置该反向查找区域的区域配置文件名 allow-update { none; }; //设置该DNS不允许动态更新 }; 使用 `named-checkconf `命令检查全局配置文件!常用的资源记录类型
㈠ 正向解析文件的格式:
数据库文件的每一行都由一条资源记录组成,每个资源记录通常包含五项,格式如下:
Domain [Time to live] Class Record type Record data 各项的含义如下: `域名(Domain)`:该资源记录对应的域,通常用来作为域名查询时的关键字。@表示当前区域的名称;相邻两条记录的domain相同时,后一条的可省略。 `存活期(TTL)`:存活期过后,该记录不再有效。可从全局继承。 `类别(Class)`: 该项说明网络类型。目前大部分的资源记录都采用“IN”,表明Internet,该域的缺省值为“IN”。 `记录类型(Record type)`:该项说明资源记录的类型,常用的资源记录类型如下表所示。 `记录数据(Record data)`:该资源记录相关的数据,通常由记录类型决定。对于正向区域来说,各MX,NS等类型记录的数据为FQDN,此FQDN应该有一个A记录 **各行的含义:** ① `$TTL 86400` 从BIND 4.2开始,需要在区域文件的最前面加一条$TTL指令,用来设置资源记录在其它服务器中的默认缓存时间,时间单位为秒。86400秒即为1天,也可等价表达为$TTL 1D。 ② `@ 1D IN SOA @ root (` `@`——代表当前的域;也就是 你的中文名的全拼.com `1D`——代表1天(day),`3H`代表3小时(hour),`15M`代表15分钟(minute),`1W`代表1周(week); `IN`——代表地址类别; `SOA`—— 授权起始(Start Of Authority),定义了一个域的全局特性,必须是出现在zone文件中的第一个资源记录,而且一个zone文件中必须只有一个SOA资源记录。SOA后应填写该域主服务器的FQDN,之后是服务器管理员的E-mail地址,E-mail的“@”符号用小数点代替,在E-mail地址的最后,也要附加一个小数点。 ③ 接下来括号中的值,是一些`主从配置参数`: 分号为注释符; `serial`行前面的值——代表该区域文件的版本号或序列号。用于辅域名服务器判断主域名服务的 master file是否更新,所以如果有辅域名服务器,在每次修改 master file后就应该修改这个序列号,以便辅域名服务器更新这个域的 master file. `refresh`行前面的值——代表更新的时间周期。此处设置为3H `retry`行前面的值——代表在更新出现通信故障时的重试时间。此处设置为15M,即15分钟。 `expire`行前面的值——代表重新执行更新动作后仍然无法完成更新任务而终止更新的时间。 生存时间:指定当域名服务器询问某个域名和其IP地址后,在域名服务器上放置的时间。 `minimum`行前面的值——代表客户域名查询的记录,在域名服务器上放置的时间,即设置记录的缓存时间。定义这个域在其他域名服务器的cache 里的有效期,过了这个时间其他的域名服务器就会到这里来重新查询相关的信息 其中语句`“IN MX 10 mail. 你的中文名的全拼.com”` 用于为你的中文名的全拼.com域定义一条邮件地址交换记录(MX),10代表优先级,数字越小,优先级越高。当定义了两个或多个MX记录时,优先级高的服务器,将首先获得发来的邮件,只有定义了域的MX记录后,邮件服务器才能收到该域的邮件,以后域名mail. 你的中文名的全拼.com就可作为邮件服务器的SMTP和POP3服务器的地址来使用。 ⑤ `1D IN NS @` 用于添加一条NS(名称服务器)记录,用于指定权威的名称服务器。即该语句用于指定域名服务器,NS之后应放置当前域名服务器的名称。 ⑥ `1D IN A 127.0.0.1` 用于添加一条A(Address)记录,即地址记录。用于指定一个名称所对应的IP地址。该条记录的含义就是将localhost解析为127.0.0.1使用 named-checkzone命令检查区域配置文件
启动named守护进程,(chgrp)开始域名解析服务 并用命令service named start (restart)
客户端测试:将DNS服务器指向域名服务器的IP地址→使用