域名系统(Domain Name System缩写DNS,Domain Name被译为域名)
是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库
端口: tcp 53(主辅进行更新,保证质量);udp 53(提供解析工作,保证速度)
全称域名最多255个字符
统一资源定位器 http://www.baidu.com
协议头 http://
主机名 www 最多16个字符,只有15个字符可以用,“.”算一个字符
域名 baidu.com
全称域名(FQDN)www.baidu.com
静态解析文件 /etc/hosts
动态解析
DNS域名空间结构
方便管理所有的网络资源
将整个网络资源都放在一个大空间
根域“.”只记录顶级域的信息
顶级域:CN HK com gov(政府机构) edu net(网络服务机构) org(非营利组织)
子域:baidu
主机名:www
从下往上:www.baidu.com
DNS 解析模式
正向解析 域名--ip
反向解析 ip--域名
DNS查询过程
递归:客户端发送一个请求,接收了一个结果
迭代:DNS一级级找
委派:DNS 上一级找下一级
实验
一、系统服务 DNS服务安装包bind
配置文件 /etc/named.conf
//代表注释
options {
指定对外提供服务的网卡 listen -on port 53 {any;或IP地址;};
指定路径区域文件存放 directory “/var/named”;
指定服务器客户端 allow-query {any;IP地址或整个网络段192.168.10.0/24;};
安全设置
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
zone "." IN {
根服务器(线索服务器) type hint ;
根服务器(线索服务器) file "named.ca";
};
下一行新建区域(正向区域)
新建区域 zone "baidu.com" IN {
指定区域类型为主要区域 type master;
指定区域文件名 file "baidu.db" ;
不允许动态更新 allow-update {none;};
};
下一行新建区域(反向区域)
指定区域地址段 zone "10.168.192.in-addr.arpa" IN {
type master;
file "db.baidu";
allow-update {none;};
};
配置数据类型文件
记录类型
【正向区域的记录类型】
(1)A记录(主机记录ipv4) 主机名与ip地址的对应
AAAA记录(主机记录ipv6)
(2)CNAME记录(别名记录)
例:www.baidu.com 别名 web.baidu.com
(3)MX记录 (邮件交换器)
(4)NS记录 (名称服务器) 指定为本域做解析的所有DNS服务器
(5)SOA记录(起始授权机构)指定本域的主DNS服务器
【反向区域的记录类型】
PTR记录(反向指针)IP地址与FQDN的对应
创建正反向区域文件
/var/named/baidu.db
[正向区域文件]
@(本域) IN(指定记录类型) SOA dns1.baidu.com.(指定本域主DNS服务器) root.baidu.com.(指定本域管理员邮箱) (
0; serial (序列号)
1D; refresh(刷新时间)
1H; resty (重试时间)
1W; expice (期满时间)
3H); minimm (最小缓存周期,隔3小时清1次)
@ IN NS dns1.baidu.com.
@ IN NS dns2.baidu.com.
dns1 IN A 192.168.10.2
dns2 IN A 192.168.10.3
www IN A 192.168.10.100
ftp IN A 192.168.10.110
web IN CNAME www.baidu.com.
@ IN MX 10 mail.baidu.com. (10为优先级,优先级越高,级数越小)
mail IN A 192.168.10.200
[反向区域文件]
/var/named/db.baidu
@(本域) IN(指定记录类型) SOA dns1.baidu.com.(指定本域主DNS服务器) root.baidu.com.(指定本域管理员邮箱) (
0; serial (序列号)
1D; refresh(刷新时间)
1H; resty (重试时间)
1W; expice (期满时间)
3H); minimm (最小缓存周期,隔3小时清1次)
@ IN NS dns1.baidu.com.
@ IN NS dns2.baidu.com.
2 IN PTR dns1.baidu.com.
3 IN PTR dns2.baidu.com.
100 IN PTR www.baidu.com.
110 IN PTR ftp.baidu.com.
200 IN PTR mail.baidu.com.
更改两个区域的属主和属组
#chown named.named baidu.db
#chown named.named db.baid
重启服务
#systemctl restart named
#systemctl status named
#systemctl enable named
编辑配置文件
/etc/resolv.conf
#nameserver 192.168.10.2(指向主DNS服务器)
验证
nslookup IP或者域名
二、DNS转发器(高速缓存)
原理:缓存+转发,客户端指向转发器,若转发器中有,则直接响应给客户端,若没有,要找主DNS要才响应给客户端
实验拓扑图:主DNS服务器 ------ 转发器 ------ 客户端
实验环境:主DNS:10.2 转发器10.3 客户端10.10
实验:
在转发器上进行设置,主DNS服务器设置同服务8.1
(1)安装程序包 bind
(2)修改配置文件,开启转发功能
vim /etc/named.conf
options {
listen-on port 53 {any;};
directory "/var/named"
allow-query {any;};
forwarders {192.168.10.2;}; -->手动添加 :开启转发,指向主DNS服务器
forward only ;
dnssec-enable no;
dnssec-validation no;
// dnssec-lookaside auto;(将设置注释掉)
保存退出
(3)重启服务,客户端验证
#systemctl restart named
#systemctl status named
(4)客户端指向转发器
#nslookup(会出现非权威应答,说明是缓存过来客户端的)
(5)若转发器与主DNS不符,怎样清除缓存
1.#rndc flush
2.#systemctl restart named
三、辅助DNS
实际工作中,若主DNS不down,永远用不到辅助DNS
实验环境:主DNS服务器10.2 辅助DNS10.3 客户端10.10
实验:
1、主DNS
(1)在主DNS上授权,允许10.3做区域复制
vim /etc/named.conf
在 allow-query {any;};下
添加
allow-transfer {192.168.10.2;};允许客户端到dns复制
dnssec-enable no;
dnssec-validation no;
// dnssec-lookaside auto;(将设置注释掉)
保存退出
(2)重启服务named
2、辅助DNS上新建区域(若转发器开的,要先关闭转发器)
(1)关闭转发器,新建区域
<正向>
zone "baidu.com" IN {
type slave ; 类型为辅助
masters {192.168.10.2;}; 指定主DNS的IP地址
file "slaves/fubaidu.db"; 指定区域文件位置,区域文件都放在/var/named/slaves
};
<反向>
zone "10.168.192.in-addr.arpa" IN {
type slave ;
masters {192.168.10.2;};
file "slaves/fudb.baidu";
};
保存退出
(2)重启服务named
【注】如果主辅DNS数据不一致
①等刷新时间到了自动进行数据同步;
②立即刷新,手动修改序列号,主辅均需重启服务
四、子域解析
1、标准的子域解析,在上一级域新建主机记录
(1)vim /etc/named/named.conf
正向区域
www.aix.baidu.com. IN A 192.168.10.210
保存退出重启服务
(2)客户端指向主DNS(10.2)
(3)nslookup验证
2、委派
实验拓扑图:客户端 ------ 主DNS(10.2)------ 被委派的服务器(10.4)
(1)修改主DNS服务器:
vim /var/named/baidu.db
删除子域
aix IN NS dns3.baidu.com.(被委派服务器的FQDN)
dns3 IN A 192.168.10.4
保存退出
(2)被委派的DNS服务器 新建区域
vim /etc/named.conf
zone "aix.baidu.com" IN {
type master ;
file "aix.db";
allow-update {none;};
};
保存退出重启服务
cp named.localhost aix.db
vim /var/named/aix.db
@(本域) IN(指定记录类型) SOA dns3.baidu.com.(指定本域主DNS服务器) root.baidu.com.(指定本域管理员邮箱) (
0; serial (序列号)
1D; refresh(刷新时间)
1H; resty (重试时间)
1W; expice (期满时间)
3H); minimm (最小缓存周期,隔3小时清1次)
@ IN NS dns3.baidu.com.
dns3 IN A 192.168.10.4
www IN A 192.168.10.220
保存退出重启服务
改变属主、属组
chown named.named /var/named/aix.db
客户端指向主DNS(10.2)
#nslookup验证