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的根目录),以提高安全性
实验步骤:
搭建缓存域名服务器
- 插入安装光盘并挂载,然后安装bind软件包及相关的软件包。
- 编辑主配置文件。
主配置文件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地址等相关信息。 - 启动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,授权信息开始)记录、地址解析记录。文件中的注释信息以分号“;”开始。
- 建立主配置文件named.conf
在从域名服务器中,named.conf文件的内容与主服务器的内容大部分相同,只是不需要再设置“allow-transfer ……”;更关键的一点是,zone部分的区域类型应设置为“slave”,并添加“masters { };”语句来指定主域名服务器的地址。
由于从服务器的区域数据文件是从主服务器中下载而来,因此该文件保存的名称可以自行定义,不用非得与主服务器中的一致。但需要注意的是,named”服务默认以名为“named”的用户身份运行,因此要确认named用户对存放目录有写入权限。 - 启动named服务,查看区域数据文件是否下载成功
在从域名服务器中执行“service named start”命令以启动named服务。
若配置无误,则named将会从主域名服务器中自动下载指定的区域数据文件,并保存到“slaves/”目录下。另外,通过系统日志文件/var/log/messages也可以观察到下载区域数据文件的过程。 - 验证从域名服务器
验证从域名服务器时,只需要将客户端的首选DNS服务器地址设为173.16.16.6(从域名服务器的IP地址),使用nslookup命令进行正常测试即可。
从域名服务器已搭建好!
Linux清除缓存命令:rndc flush
转载于:https://blog.51cto.com/13555753/2059347