第二章 DNS域名解析服务
一、BIND域名服务基础
1、DNS系统的作用及类型
(1)正向解析:根据域名查IP
(2)反向解析:根据IP查域名
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率
(4)主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器
(5)从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份
2、BIND的安装和配置文件
(1)安装文件
①bind安装包:提供域名服务的主要程序及相关文件
②bind-utils安装包:测试工具如nlookup等
③bind-libs安装包:提供了bind、bind-utils需要使用的函数库
④bind-chroot安装包:提供伪装根目录,提高安全性
(2)配置文件
①主配置文件/etc/named.conf
option {
配置子句1;
配置子句2;
};
zone “zone_name” IN {
type 子句;
file 子句;
其他子句;
};
②区文件/etc/named/*
1)格式[name] [ttl] IN type redata
字 段 | 说 明 | |||
---|---|---|---|---|
name | 资源记录引用的域对象名,可以是一台单独的主机也可以是整个域 | |||
取值 | 说明 | |||
· | 根域 | |||
@ | 默认域,可以在文件中使用$ORIGIN domain来说明默认域 | |||
标准域名 | 或是以“.”结束的域名,或是一个相对域名 | |||
空 | 该记录适用于最后一个带有名字的域对象 | |||
ttl(time tolive) | 寿命字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。通常该字段值为空,表示采用SOA中的最小值ttl值 | |||
IN | 将该记录标识为一个Internet DNS资源记录 | |||
type | 标识者是哪一类资源记录 | |||
记录类型 | 功能说明 | |||
A(address) | 用于将主机名转换为IP地址,任何一个主机只能有一个A记录 | |||
CNAME(Canonical NAME) | 给定主机的别名,主机的规范名在A记录中给出 | |||
HINFO(Host INFOrmation) | 描述主机的信息 | |||
MX(Mail eXchanger) | 邮件交换记录。告诉邮件进程八邮件发送到另一个系统。此系统值知道如何将邮件传送到它的最后总目的地 | |||
NS(Nnme Server) | 标识一个域的域名服务器 | |||
PRT(domain name PoinTeR) | 将地址转换为主机名 | |||
SOA(Start Of Authority) | SOA记录表示一个授权区的开始。SOA记录后的所有信息是控制这个域的。每个配置文件都必须包含一个SOA记录,以标识服务器所管理的起始地方。配置文件的第一个记录必须是SOA记录。 | |||
rdata | 指定与这个资源记录有关的数据,数据字段的内容取决于类型字段 | |||
记录类型 | 数据 | 说明 | ||
A | IP address | IP地址 | ||
CNAME | Canonical-name | 别名 | ||
HINFO | Hardware | “机器硬件名” | ||
Os-type | 操作系统名 | |||
MX | Preference-value | 优先级别数字(数字的值越小级别越高) | ||
Mailer-exchanger | 邮件服务器名字 | |||
NS | Name-server | 域名服务器的名字 | ||
PTR | Real-name | 主机的真实域名 | ||
SOA | Hostname | 存放本资料的主机名字 | ||
Contact | 管理域的管理员的邮件地址,因为“@”在文件中有特殊含义,所以邮件地址abc@xyz.com写为abc.xyz.com | |||
| Serial | 本区信息文件的版本号(文件修改后要将其值加1) | ||
Refresh | 辅助域名服务器多长时间更新数据库 | |||
Retry | 若辅助域名服务器更新数据失败, | |||
多长时间再试 | ||||
Expire | 若辅助域名服务器无法从主机上 | |||
更新数据,原有的数据何时失效 | ||||
Minimum | 若资源记录栏未设定ttl, | |||
则以这里提供的时间为准 |
$TTL 86400
$ORIGIN luoxinli.com.
@ 1D IN SOA @ root (
20191214; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ; minimum
)
@ IN NS @
@ IN A 127.0.0.1
www IN A 211.132.211.80
ftp IN A 211.132.211.68
web IN CNAME www
二、构建缓存域名服务器
1、配置主配置文件
2、rndc的常见用法:
rndc reload:在不重新启动DNS服务的情况下,重新加载配置文件及zone.
rndc reload zone:重新加载指定的zone.
rndc status:查看当前DNS服务器的状态。
rndc stats:将当前系统的DNS统计数据记录下来,默认会将数据存储为一个文件:/var/named/data/named_stats.txt.
rndc dumpdb:将当前DNS高速缓存中的数据记录下来,默认会将数据存储为一个文件:/var/named/data/cache_dump.db
rndc flush:清空当前DNS服务器上的所有缓存。
三、构建主、从域名服务器
1、设置主域名服务器
(1)配置/etc/named.conf文件
(2)配置正向解析文件
(3)配置反向解析文件
2、配置从服务器
(1)配置主配置文件
(2)有客户机访问从域名服务器后,从域名服务器会从主域名服务下载zone配置文件到/var/named/data/slaves/目录内
四、构建分离解析域名服务器
在主配置文件named.conf中使用view配置语句和match-clients配置项,根据不同客户端地址将对同一域名查询对应到不同地址
1、使用view语句
view "LAN" {
match-clients { 192.168.1.0/24; };
zone "bt.com" IN {
type master;
file "bt.com.lan.zone";
};
};
view "VAN" {
match-clients { any; };
zone "bt.com" IN {
type master;
file "bt.com.lan.zone";
};
};
2、编辑对应的zone文件
dns IN A 192.168.1.1
www IN A 192.168.1.5
dns IN A 173.16.16.1
www IN A 173.16.16.1