1、DNS和DNS服务器
1.1、DNS简介
DNS(Domain Name System,即域名系统)实质是一个分布式数据库,其中存储了域名和IP地址之间的映射关系,它的主要功能为域名解析,即通过域名获取对应IP地址。
-
提供域名解析功能的主机被称为域名服务器,即DNS服务器
-
一个域名只能对应一个IP地址,但一个IP地址可以对应多个域名,也可以没有相应域名
1.2、域名系统的结构
域名系统采用类似根目录树的等级结构,域名分为根域、顶级域、二级域、三级域和主机名五类,这五类域名的说明与示例分别如表所示
类型 | 说明 |
---|---|
根域 | DNS域名规则中规定,由尾部句点(.)来指定名称位于根或更高级别的域层次结构 |
顶级域 | 某个国家/地区/组织使用的域名 |
二级域 | 个人或组织在Internet上使用的注册名称 |
三级域 | 由二级域派生的域,常用于网站名 |
主机域 | 网络上特定计算机的标识 |
1.3、域名格式
主机名.三级域名.二级域名.顶级域名.
末尾使用“.”表示根域,符合这种格式的域名称为全称域名,(Fully Qualified Domain Namne)简称FQDN,也称完全合格域名
1.4、DNS系统的作用
-
正向解析:根据主机名称(域名)查找对应的IP地址
-
反向解析:根据IP地址查找对应的主机域名
-
DNS系统的分布式数据结构
2、DNS服务器分类
域名服务器(Domain Name Sever)实质上就是一台配置了DNS服务,可实现域名解析功能的主机。根据工作方式,域名服务器可分为如下几种:
-
主域名服务器
-
辅助域名服务器
-
缓存域名服务器
-
转发域名服务器
2.1、主域名服务器
-
是所有其他类型服务器的权威信息源,具有唯一性
-
负责维护该区域所有域名->IP地址的映射记录
-
维护域中所有的域名信息
-
处理客户端请求,查询并返回响应的记录信息
2.2、辅助域名服务器
-
主域名服务器的备份
-
可替代主域名服务器提供域名解析服务
-
其维护的域名->IP地址记录来源于主域名服务器
-
区域数据文件随主域名服务器中文件的改变而改变
2.3、缓存域名服务器
-
也称为高速缓存服务器
-
存储从某个远程服务器取得的域名服务器的查询结果
-
可从高速缓存中迅速获取查询结果
-
非权威的域名服务器
2.4、转发域名服务器
-
负责所有非本地域名的本地查询
-
转发请求
3、DNS查询机制
3.1、递归查询
-
本机域名服务器会将查询的最终结果返回给客户机
-
客户机只需要发出请求
-
其他都交给DNS服务器完成,会自动往下查
3.2、迭代查询
-
DNS服务器在无法获取最终结果时返回自己能获取的、最最终结果最为相近的内容
-
服务器之间相互迭代,再完成的
-
由客户机根据获取到的内容再次发起查询请求
4、正向解析
4.1、各种资源记录
资源记录(Rescoure Records,简称rr)即添加到区域数据文件中的记录,记录(Resource Records)有许多类型,每种类型的功能各不相同
A记录与AAAA记录:地址记录,域名到IP地址的映射信息
PTR记录:IP地址到域名的映射信息
SOA记录:起始授权记录
NS记录:权威服务器记录
CNAME记录:FQDN别名记录
MX记录:邮件服务器记录
4.2、安装配置方法
BIND软件包:(Berkeley Internet Name Domain)是一个可以提供DNS服务的软件-
BIND主要包含的软件有:
bind:主程序
bind-chroot:限定主程序启动路径
bind-utils:DNS工具集合
4.2.1、安装DNS
[root@localhost ~]# systemctl stop firewalled.service 关闭防火墙
[root@localhost ~]# setenfore 0
[root@localhost ~]# rpm -q bind
未安装软件包 bind
[root@localhost ~]# yum install bind bind-utils -y 安装二个包
[root@localhost ~]# systemctl start named 启动DNS服务(systemctl stop named 关闭DNS服务)
4.2.2、 修改网卡的DNS服务地址并重启网卡
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# systemctl restart network
4.2.3、 修改配置文件/etc/named.conf
4.2.4、 切换至named文件夹,拷贝named.localhost变成根域名文件
[root@localhost ~]# cd /var/named 切换至named文件夹
[root@localhost ~]# ls
[root@localhost ~]# cp -p named.localhost xk.com.zone 拷贝一份根域名文件夹
[root@localhost ~]# vim /etc/named.rfc1912.zones
4.2.5、 修改成根域名文件
[root@localhost ~]# vim xk.com.zone
[root@localhost ~]# systemctl restart named
4.2.6、测试
[root@localhost ~]# host mail.xk.com
[root@localhost ~]# host master.xk.com
[root@localhost ~]# host www.xk.com