1、DNS概念:
DNS:Domain Name System,域名系统。用于在数据传输时标识计算机的电子方位。具有独一无二,不可重复的特性。
FQDN(全限定域名)与 IP 地址之间的解析。
TCP53 端口用于 DNS 服务器之间的数据传输,传输数据准确。
UDP53 端口用于域名解析,传输数据块。
可以理解为DNS就是翻译官。
正向解析:域名-->IP地址
反向解析:IP地址-->域名
2、分类
1、根域:
在 DNS 域名空间中,根域只有一个,它没有上级域,用"."来表示。
目前全世界有 13 台根域服务器,服务器中保存顶级域的“DNS 服务器-IP 地址”的对应的数据。
2、顶级域:
根域之下的第一级域就是顶级域。一般分为地理域与机构域。
地址域:.cn(中国)、.hk(香港)
机构域:.edu(教育)、.com(公司)、.gov(政府)
3、子域:
除了顶级域和根域之外,其他域都为子域。
子域可以分为很多层,离顶级域(一级子域)越近,级别也就越高,如二级子域、三级子域等。
4、www:主机名
例:www.ibmaix.com.cn.
cn 后面的“."就是根域,通常不写
“.cn"即为顶级域
“.com"即为.cn 的子域
“.ibmaix”即为二级子域
“www”即为主机名
3、域名解析过程
1、客户机首先查看查找本地hosts文件,如果有则返回,否则进行下一步
2、客户机查看本地缓存,是否存在本条目的缓存,若有则直接返回,否则进行下一步。
3、将请求转发给指向的DNS服务器。
4、查看域名是否本地解析,是则本地解析返回,否则进行下一步。
5、本地DNS服务器首先在缓存中查找,有则返回,无则进行下一步。
6、向全球13个根域服务器发起DNS请求,根域返回org域的地址列表。
7、使用某个org域的IP地址,发起DNS请求,org域返回kernel域服务器地址列表。
8、使用某一个kernel域IP地址,发起DNS请求,kernel域返回www.kernel.org主机的IP地址,本地DNS服务收到后,返回给客户机,并在本地DNS服务器保存一份。
4、DNS 查询方式
(1)迭代查询:
DNS 服务器返回它能够提出的最佳答案,否则提供一个指针,通知客户端向其他DNS 查询。
(2)递归查询:
DNS 服务器提供一个最终的结果,它代表客户机对其他服务器进行独立的迭代查询(常用)。
5、DNS 查询的数据
(1)本地授权数据:
查询到达一个权威 DNS 服务器时,权威服务器首先确定查询的信息是否驻留在某个区域之中。如果存在,权威服务器将响应一个权威应答(AA)。所有提供的数据都将有 AA 标志。
(2)本地缓存未授权数据:
如果权威 DNS 服务器没有权威区域的记录,则通过自己最近获得的缓存来查询应答。但此资源不属于 AA 应答。
(3)递归获取未授权数据:
如果权威 DNS 服务器在缓存中亦未查找出条目,将完成一个迭代查询的过程,通过迭代流程完成条目的查询,并最终将条目信息缓存至服务器本地,而后将结果递归给客户端。
6、DNS软件信息
软件名称:bind
服务名称:named
软件端口:UDP 53数据通信(域名解析)
TCP 53数据同步(主从同步)
配置文件:主配置文件:/etc /named.conf(服务器运行参数)
注:配置文件解读:
listen-on port 53 { any; }; →监听所有的 53 号端口
directory "/var/named"; →解析文件存放位置
allow-query { any; }; →允许所有主机访问
zone "test.com" IN { →区域“test.com”
type master; →定义类型为主服务器(master)
file "zhengjie"; →解析文件名
区域配置文件:/etc /named.rfc1 912. zones(服务器解析的区域配置 ,正反向区域定义信息)
数据配置文件:/var/named/xx.xx(主机名和IP地址的对应解析关系,及主从同步信息)
DNS基础服务搭建
先关闭服务器和客户机上的防火墙和SELinux
软件安装yum -y install bind
配置主配置文件(/etc /named.conf)
配置区域文件(/etc /named.rfc1 912. zones)
注:先对区域文件进行备份 ,删除多余的模板 ,只留下一个正向和一个反向(反向修改时网络位的反写格式,如192.168.100.2-->100.168.192.)
配置数据文件/var /named/
先复制生成正向解析文件和反向解析文件
编辑正向解析文件(注意域名结尾的“.”)
编辑反向解析文件(注意域名结尾的“.”)
重启DNS服务:systemctl restart named
客户端测试在网卡配置文件中添加DNS服务器的地址,然后用nslookup测试。
主从DNS服务器
实验目的:
减轻主服务器的压力
先关闭服务器和客户机上的防火墙和SELinux
实验准备:
一台主服务器、一台从服务器、一台测试机搭建
过程:搭建主服务器步骤:
安装bind软件
主配置文件的修改
区域配置文件的修改
配置数据文件
正向数据文件
反向数据文件(可选做)
zone "feng.com" IN {
type master;
file "named.zheng";
allow-transfer { 192.168.88.113; };
notify yes;
};
启动named服务注意:
主DNS的区域配置文件中allow-updata参数添加从服务器IP地址。
搭建从服务器步骤:
安装bind软件
修改主配置文件/etc /named.conf
配置区域文件(/etc /named.rfc1912.zones)
zone "localhost.localdomain" IN {
type slave;
file "slave/named.zhengjj";
masters { 192.168.88.112; };
allow-update { none; };
masterfile-format text;
};
注意:从配置文件的类型需要修改为slave,并且需要填写主服务器的地址,如下:
type slave;
masters { 192.168.0.10;};#大括号两侧留有空格
文件保存位置修改为 file“slaves/kernel.localhost”;
重启服务
DNS缓存服务器
实验作用:
加快解析速度,提高工作效率
实验软件:dnsmasq
配置文件:/etc /dnsmasq.conf
domain=域名 #需要解析的域名
server=ip #主DNS服务器IP
cache-size=15000 #声明缓存条数
重启服务:systemctl start dnsmasq
测试效果:在测试机上填写DNS缓存服务器的ip地址
智能DNS(分离解析)
实验原理:
DNS分离解析即将相同域名解析为不同的IP地址。现实网络中一些网站为了让用户有 更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度
实验环境:
一台内网测试机(单网卡)
一台网关+DNS(双网卡)
一台外网测试机(单网卡)
一台we b服务器(双网卡)
先关闭服务器和客户机上的防火墙和SELinux
实验步骤:
安装bind软件
内核配置文件开启路由转发,修改/etc /sysctl.conf
修改主配置文件/etc /named.conf
生成自己定义的区域文件(反向解析省略掉了)
cp –a named.rfc1912.zones lan
cp –a named.rfc1912.zones wan
配置数据文件
配置内网的正向解析文件
配置外网的正向解析文件
重启服务:systemctl restart named
效果测试
内网客户端网卡配置
将dns和网关都指为网关服务器的内网口地址
外网客户端网卡配置
将dns和网关都指为网关服务器的外网口地址