概述
-
DNS(domain name system ) :域名管理系统
-
域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称。
-
IP地址比较隐晦,难以记忆;而域名更加便于人们记忆,可通过DNS服务器的key-value数据库,记录ip-域名的对应关系,从而将域名解析为IP地址,用于通信。
-
DNS作用:
- 域名的正向解析:将主机域名转换为对应的IP 地址(域名——>IP),A记录
- 域名的反向解析:将主机的IP地址转换为对应的域名(IP——>域名),PTR记录
-
DNS 的域名解析基于udp/53 ;主从之间的数据传输基于tcp/53
-
本地的DNS解析文件**/etc/hosts** 这个文件是运维人员自定义的用于域名-ip强制解析(优先级高于/etc/resolv.conf)
-
/etc/resolv.conf 该文件填入的是互联网dns服务器的地址
DNS结构
解析流程
- 浏览器发起域名解析,首先查询浏览器缓存,如果没有,就查询hosts文件,如果也没有就提出域名解析请求
- 客户机提出域名解析请求,并将该请求发送给本地的DNS服务器。
- 当本地的DNS服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
- 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个查询到的顶级域名服务器的地址。
- 本地服务器再向上一步返回的顶级域名服务器发送请求,顶级域名服务器查询自己的缓存,如果没有该纪录,则返回查询到的二级域名服务器的地址。
- 本地服务器再向上一步返回的二级域名服务器发送请求,二级域名服务器查询自己的缓存,返回域名对应的ip地址
- 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机
使用dig工具追踪DNS的解析过程
DNS劫持
客户端dns服务器地址被篡改,客户端通过域名访问网络,在dns服务器端有一个恶意的域名解析,这样就会给客户端返回一个错误的ip,造成客户端看到错误的网址内容。
域名解析记录
-
A:记录地址,返回的域名所指向IP地址
-
NS:域名服务器,返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址
-
MX:邮箱记录,返回接收电子邮箱的服务器地址
-
CNAME:规范名称记录,返回另一个域名,即当前查询的域名是另一个域名的跳转
-
PTR:逆查域名,只用于IP地址查询域名
-
TXT:用来做SPF(反垃圾邮箱)
-
AAAA:用来指定主机名(或域名)对应的IPv6记录。 SRV:记录哪台计算机提供哪个服务。格式:服务 名字、点、协议的类型。
-
显性URL:从一个地址301重定向另一个地址的时候。 隐性URL:类似显性URL、区别在于隐形URL不会改变地址中的域名。
服务端软件Bind
-
Bind是一款开放源码的DNS服务器软件,全名为Berkeley Internet Name Domain,它是目前世界上使用最为广泛的DNS服务器软件
-
支持各种unix平台和windows平台。
-
IND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。
ping
- 可通过域名,查看对应的ip
nslookup
基于Centos7
基于bind(named)
正向解析
反向解析
主从部署
- master和slave的系统时间保持一致
- slave服务器上安装相应的软件(系统版本、软件版本保持一致)
- 根据需求修改相应的配置文件
- 核心是slave同步master上的区域文件(zone文件)