1.DNS系统的作用及类型
DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名也ip地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。
■ 正向解析:根据域名查ip地址,即将指定的域名解析为相对应的ip地址,域名的正向解析是DNS服务器最基本的功能,也是最常用的功能。
■ 反向解析:根据ip地址查域名,即将指定的ip地址解析为相对应的域名,域名的反向解析不是很常用,只在一些特殊场合才会用到,如可用于反垃圾邮件的验证。
根据所管理的区域地址数据的来源不同,DNS系统可以分为不同的类型,在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份,常见的几种类型如下。
● 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据,构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
● 主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器,官方服务器,构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
● 从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份,对客户机来说,无论使用主域名服务器或从域名服务器,查询的结果都是一样的,关键区别在于,从域名服务器提供的解析结果并不是由自己决定的,而是来自于主域名服务器,构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
2.BIND各软件包的主要作用
◆ bind: 提供了域名服务的主要程序及相关文件。
◆ bind-utils: 提供了对DNS服务器的测试工具程序,如nslookup等。
◆ bind-libs:提供了bind,bind-utils需要使用的库函数。
◆ bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录),以提高安全性。
★ rpm-qa | grep "^bind" //查询是否已安装与BIND相关的软件包
★ service named status //查询named服务运行的状态
3.BIND服务的配置文件
3.1 主配置文件
使用BIND软件构建域名服务时,主要涉及两种类型的配置文件:主配置文件和区域数据文件。其中,主配置文件用于设置named服务的全局选项,注册区域及访问控制等各种运行参数;区域数据文件用于存放某个DNS区域的地址解析记录(正向或反向记录)。
◇主配置文件named.conf通常位于/etc/目录下,在named.conf文件中,主要包括全局配置,区域配置两个部分,每一条配置记录的行尾一分号";"表示结束,以"#"号或"//"开始的部分表示注释文字(大段注释可以使用"/* ...... */" 的格式)。
▲ 全局配置参数包括在形如"options {};"的大括号中。
▲ 区域配置参数使用"zone ...... {};" 的配置格式。
□ named默认在所有接口的UDP 53 端口监听服务
修改完主配置文件以后,可以执行named-checkconf命令对named.conf文件进行语法检查。
3.2 区域数据配置文件
区域数据配置文件通常位于/var/named/目录下。
根域"."的区域数据文件比较特殊。
在区域数据文件中,主要包括TTL配置项,SOA(Start Of Authority,授权信息开始)记录,地址解析记录,文件中的注释信息以分号";"开始。
TTL配置及SOA记录部分
$TTL 86400 ;有效解析记录的生存周期
@ IN SOA benet.com. admin.benet.com.( ;SOA标记,域名,管理邮箱
2015073001 ;更新序列号,可以是10位以内的整数
3H ;刷新时间,重新下载地址数据的间隔
15M ;重试延时,下载失败后的重试间隔
1W ;失效时间,超过该时间仍无法下载则放弃
1D ;无效解析记录的生存周期
☆ 地址解析记录部分
地址解析记录用来设置DNS区域内的域名,ip地址映射关系,包括正向解析记录和反向解析记录,反向解析记录只能用在反向区域数据文件中。
■ NS域名服务器(Name Server): 记录当前区域的DNS服务器的主机地址。
■ MX邮件交换(Mail Exchange): 记录当前区域的邮件服务器的主机地址,数字10表示(当有多个MX记录时)选择邮件服务器的优先级,数字越大优先级越低。
■ A地址(Address): 记录正向解析条目。
■ CNAME别名(Canonical Name):记录某一个正向解析条目的其他名称。
■ 在反向区域数据文件中,不会用到A地址记录,而是使用PTR指针记录。
修改完区域数据文件以后,可以执行named-checkzone命令对该文件进行语法检查。
区域类型有master主区域,slave辅助区域,hint根区域
★ service named start 启动named服务
★ service named reload 重载named服务
★ nslookup 命令验证DNS查询结果
● 主机映射文件/etc/hosts
● DNS解析文件/etc/resolv.conf