基础知识:
DNS:域名解析协议,使用53号端口
全限定域名(完全合格域名):FQDN,主机名.域名,不同层级中主机名和域名不同
解析:通过域名得到相应IP地址的过程
正向解析: 从FQDN转换为IP地址称为正向解析
反向解析: 从IP地址转换为FQDN称为反向解析
域(zone)
DNS查询机制:递归,迭代
递归查询:
访问一个网站。
1.本地客户端先向本地服务器进行查询
2.本地服务器查询本地hosts文件查询有无对应IP,如果有,则返回;如果没有则向根服务器进行查询,根服务器如果有对应IP则返回;如果没有,则向一级服务器发出查询请求。
3.如果顶级服务器有对应IP,则返回对应IP,如果没有,则向二级服务器发出查询请求。如此一级一级向下,直到找到相应解析记录。
整个过程,客户机只发起了一次请求,并得到了最后的结果,这种方式称为递归查询。
但是递归查询回导致根服务器压力过大
迭代查询:
1.本地客户机先向本地服务器进行查询。
2.本地服务器会查询本地缓存。如果有,则返回对应IP。如果没有,则本地域名服务器会向客户端返回一条应答报文。内容为一些参考信息和根域名服务器的地址。
3.本地客户端会再对根服务器发出dns查询。如果有,则返回对应ip,如果没有,则查询自己数据库,得到请求dns域名中顶级域名所对应的顶级域名服务器的地址,然后再以一条应答报文返还给客户端。
4.本地客户端会再对顶级域名服务器发出查询,如果有,则返回对应ip,如果没有,则查询自己的数据库,得到请求dns域名中二级域名所对应的二级域名服务器的地址,然后再以一条应答报文返还给客户端。
5.本地客户端再如此向二级三级域名服务器发起dns请求直到权威域名服务器返会对应ip地址。
搭建过程:(正向解析)
1.关闭防火墙,selinux
2.下载DNS服务器的包
yum install bind-chroot -y
#主配置文件目录 /etc/named.conf
#区域配置文件 /etc/named.rfc1912.zones (用来保存域名和ip地址的对应关系)
#数据配置文件目录 /var/named (用来保存域名和ip地址的对应关系)
3.修改主配置文件
#服务器上的所有ip地址均可以提供dns域名解析服务
#允许所有人对本服务器发送dns查询请求
检查一下语法是否有误:
4.修改区域配置文件
#区域配置文件,用来保存域名和ip地址对应关系的所在位置,定义了域名与ip地址解析规则保存的文件位置以及服务类型等内容,没有包含具体的域名、ip地址对应关系等信息,服务类型有三种,分别为hint(根区域)、master(主区域)、salve(辅助区域),常用的master和salve指的是主服务器和从服务器
5.正向解析
5.1修改区域配置文件
5.2编辑数据配置文件
vi leo.com.zone
5.3启动服务及测试:
启动:systemctl start named
测试:
(装包:yum install bind-utils -y)
6.出错解答。
使用nslookup解析到别的ip
修改/etc/resolve.conf
将nameserver选项改为自己的dns服务器ip