什么是DNS
tcp/ip网络通讯靠的是ip地址实现的。如172.16.85.10。但数字IP不容易记住。解决这个问题的方法就是给这个地址取一个名字,如www.baidu.com ,www.qq.com ,这种由英文字母组成的名称,更容易记住。 Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为一个分布式数据库,能够使人更方便访问互联网。每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区域(包含 IP 地址到域名的解析记录)
DNS服务器类型
- 缓存域名服务器: 只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地质数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
- 主域名服务器;管理和维护所负责解析的域或者指定其他DNS服务器作为解析来源。
- 从域名服务器
- 从主服务器或从服务器“复制”解析库副本
IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1
IPv6的根名称服务器:全球共25个,中国1主3从,美国1主2从
DNS查询远离过程
正向解析查询过程:
①先查本机的缓存记录
②查询hosts文件
③查询dns域名服务器,交给dns域名服务器处理 以上过程称为递归查询:我要一个答案你直接会给我结果 ④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
DNS的分布式互联网解析库
大型、分布式的互联网DNS解析库 根. 根域名DNS服务器:专门负责根域名 一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区) .com(工商 企业) .net(网络供应商) .edu(教育机构) .cn(中国国家域名) .org(团体组织) .gov (政府部门) 二级DNS服务器:专门负责二级域名的解析 .net.cn .edu.cn .com.cn 子域名DNS服务器:专门负责子域名的解析 也称为三级域名 ina.com.cn .pku.edu.cn 主机站点 tts9 tts6 mail www
DNS服务器bind
正向解析
区域解析库:由众多资源记录RR(Rescource Record)
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA记录
- SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
$TTL 1D(统一的ttl定义1天,不写D 是秒)
@ IN SOA master.cxk.com. admin.cxk.com. (
当前服务器的名称 邮箱地址
0 ; serial #是否有更新 版本号 更新文件 手动把 0 加1
1D ; refresh #刷新时间 拉取时间
1H ; retry #失败后一个小时 后再试一次
1W ; expire #过期时间,老是拉取不了,1周以后过期
3H ) ; minimum #3小时内的缓存下,用户再查直接返回找不到
- NS(Name Server):专用于标明当前区域的DNS服务器,服务器类型为域名服务器 name:当前区域名字 value: 当前区域的某DNS服务器的名字,例如: ns.kgc.org.
A记录
- A(internet Address):作用,域名解析成IP地址 name: 某主机的域名解析,例如:www.kgc.com
value:主机名对应主机的IP地址
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
- AAAA(FQDN): --> IPV6
PTR记录
- PTR(PoinTeR):反向解析,ip地址解析成域名
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:inaddr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.
value: FQDN
CNAME别名记录
- CNAME : Canonical Name,别名记录
name: 别名的FQDN
value: 真正名字的FQDN
ftp.kgc.com. IN CNAME www.kgc.com
MX记录
- MX(Mail eXchanger)邮件交换器
mail IN MX 10 mx1.kgc.org.
IN MX 20 mx2.kgc.org.
mx1 A 192.168.91.10
mx2 A 192.168.91.10
- TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等
实验配置DNS内网环境服务器
下载 yum install bind bind-utils -y
关防火墙
systemctl stop firewalld.service
开启服务 systemctl start named
将网卡配置的dns1改为本机地址
重启服务 systemctl restart network
修改配置文件使得别人可以访问 vim /etc/named.conf
写域名解析vim /etc/named.rfc1912.zones
cd /var/named
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp named.localhost cxk.com.zone -p
编辑数据库文件
检测文件
重启named rndc reload