1.域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。
实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)。
解析方式:
正向解析:根据域名查找对应的ip地址
反向解析:根据ip地址查找对应的域名
背景:
IP地址过长,而且都是数字,不方便记忆,所以出现了域名
域名都是有含义的的,方便人们记忆
一个dns服务器只管自己范围内的解析
IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1
IPv6的根名称服务器:全球共25个,中国1主3从,美国1主2从
2.DNS查询类型及原理
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区):
顶级域名
.com 工商企业
.net 网络供应商
.edu 教育机构
.cn 中国国家域名
.org 团体组织
.gov 政府部门
.uk 英国国家域名
二级DNS服务器:专门负责二级域名的解析
二级域名
.net.cn
.edu.cn
.com.cn
子域名DNS服务器:专门负责子域名的解析也称为三级域名
三级域名
.zol.com.cn
.pku.edu.cn
主机站点
tts9
tts6
mail
www
正向解析查询过程:
①先查本机的缓存记录
②查询hosts文件
③查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果
④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器 ⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
windows系统查询dns缓存命令:ipconfig /displaydns windows系统清理dns缓存命令:ipconfig /flushdns
linux清dns缓存需要安装nscd软件,启动、执行nscd -i hosts
3.本地名称解析及修改DNS优先级
配置文件:/etc/hosts
解析出配置文件IP地址,也就是 hosts配置文件优先级大于服务器
修改dns优先级
vim /etc/nsswitch.conf
4. 正向解析
实验
内网环境中, 我们需要有一台 自己的 dns 服务器 去解析自己内网的服务
bind 主包
工具包 yum install bind bind-utlis -y 安装服务和 工具包
安装完软件之后 , 要能 找到
(1).配置文件的位置 rpm -qc 安装包的名字
(2).主程序的位置
rpm -ql 安装包的名字
bind 安装包的名字
named 是程序的名字
named 程序的主要文件
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones 子配置文件 域名配置文件
/var/named/数据库文件 定义了域名和ip地址的对应关系
配置文件权限需要注意:
当一个程序启动的时候, 会去读取这个配置文件,如果权限问题导致程序无法读取配置文件就会启动报错
操作:
安装主软件与配置包管理软件及查看配置文件路径
编辑主配置文件 vim /etc/named.conf
修改权限 和 监听地址 改两个any
编辑域名配置文件
vim /etc/named.rfc1912.zones
切换配置文件位置复制模板文件到取名为yyy.com.zone
编辑数据库配置文件
vim yyy.com.zone
@ 域名
IN 使用internet 协议
SOA 表明 这条配置的基本 功能 记录
A 正向解析 将域名解析成ip
(PTR 反向解析将ip转换成域名)
master 定义谁是dns服务器
rname.invalid. 邮箱
编辑网卡配置文件修改DNS为自己
启服务关闭防火墙并测试
反向解析
vim /etc/named.rfc1912.zones
删除正向解析区域数据文件,添反向解析区域数据文件并修改
cd /var/named 切换目录
rm -rf yyy.com.zone 删除原有的正向解析文件
cp -a named.localhost yyy.com.zone 添加区域数据文件
vim yyy.com.zone 编辑区域数据文件添加方向区域数据
测试
systemctl restart named