DNS:域名系统,应用层协议。域名和IP地址相互映射的分布式数据库,服务器端:53/udp,53/tcp
------------------------------------------------------------
DNS解析优先级: 本地hosts文件--dns,可以修改
centos系统: /etc/nsswitch.conf
根域----*域名---二级域名----三级域名
*域名:com,gov,org等 *域名存储的域名是二级域名
二级域名:goole.com,baidu.com等 二级域名存储的域名是三级域名
三级域名:www.baidu.com 本质是主机
---------------------------------------------------------------------------------------------
DNS查询类型:
递归查询:客户机和本地DNS服务器之间属于递归查询,客户机像DNS发出请求后,如果DNS服务器本身不能解析,则向另外的DNS服务器发出请求,得到最终的肯定或否定的结果转交给客户机。此查询的源和目标保持不变,为了查询结果只发起一次查询
迭代查询:本地DNS向其他DNS服务器的查询属于迭代查询,如果对方不能返回权威的结果,则向下一个DNS服务器再次发起查询,知道返回结果为止。此查询的源不变,但是查询的目标不断变化,为查询结果一般需要发起多次查询。
--------------------------------------------------------------------------------------------------
DNS服务器类型
主DNS服务器:管理和维护所负责的域名解析库的服务器
从DNS服务器:从主服务器或者从服务器复制解析库副本
缓存DNS服务器(转发器)
各种资源记录
记录类型:A,AAAA,PTR,SOA,NS,CNAME,MX
SOA:起始授权记录;一个区域解析库有且仅有一个SOA记录,必须位于解析库的第一条记录
A:正向解析
AAAA:ipv6正向解析
PTR:反向解析
NS:标明当前区域的DNS服务器
CNAME:别名记录
MX:邮件交换器
------------------------------------------------------------------------------------------------------------
DNS服务器软件:bind,powerdns,dnsmasq,coredns
以下选择bind安装DNS服务
yum -y install bind bind-utils
主配置脚本:/etc/named.conf /etc/named.rfc1912.zones
正向解析库文件: /var/named/named.localhost
反向解析库文件: /var/named/named.loopback
注意:
一台服务器可同时为多个域名提供解析
必须要有根域名文件
主配置文件 /etc/named.conf
全局配置: options{}
日志子系统配置:logging{}
区域定义:本地能够为那些zone进行解析,就要定义那些zone
注意:
任何服务程序如果希望能通过网络被其他主机访问,至少应该就监听在一个能与外部主机通信的IP地址上
缓存DNS服务器的配置:监听外部地址即可
dnssec:设为no
设置了114.114.114.114Dns,所以能够访问外网。将DNS设置为本地,依旧可以访问外网。这是因为dns服务器天生知道根服务器。
将其他服务器的DNS只向DNS服务器,依旧可以上网。需要修改DNS的named.conf
rndc reload 或者 systemctl restart named
-------------------------------------------------------------------------------------------------------------
搭建DNS正向主服务器,实现web服务器基于FQDN的访问
主DNS服务器:192.168.89.140
web服务器:192.168.89.142
DNS客户端:192.168.89.141
关闭selinux,防火墙,开启时间同步
140节点
1安装bind
2 vim /etc/named.conf
3 vim /etc/named.rfc1912.zones
ty.org 域 IN可写可不写 ty.org.zone可以随意命名(a.txt都行)
4 DNS区域数据库文件 cp -p /var/named/named.localhost /var/named/ty.org.zone(a.txt)
vim /var/named/ty.org.zone
master=master.ty.org. DNS服务器
www=www.ty.org. web服务器
5 .rndc reload
6.142节点配置httpd
yum install -y httpd && systemctl enable --now httpd
7. 141测试能够访问www.ty.org
如果用户访问输入有问题,比如输入wwwwwwwwww.ty.org,ty.org无法解析,域文件配置修改为
----------------------------------
named配置检查
named-checkconf 检查named.conf
named-checkzone ty.org /var/named/ty.org.zone 检查域文件配置
---------------------------------------------------
启用DNS客户端缓存加快访问速度
yum install -y nscd
systemctl enable --now nscd
-----------------------
增加从DNS服务器143节点
1.yum install -y bind
2.vim /etc/named.conf
3.vim /etc/named.rfc1912.zones
4 .systemctl enable --now named
5.140主DNs节点关闭dns服务器 rndc stop,客户端141节点访问web测试
但是此时无法主从同步,修改140节点配置形成主从不同 vim /var/named/ty.org.zone
高危:DNS默认允许从任何节点抓取数据库==================141为例抓取
预防操作:主节点允许从节点抓取,从节点禁止任何节点抓取
141抓取尝试
==========================================
子域添加,144作为子域节点。多用于异地DNS管理。
DNS父域 ,DNS主节点: 140节点
DNS子域:144节点
父域,子域的web服务器:142节点
DNS从节点:143节点
DNS客户端:141节点
配置修改如下-------------------------------
1.140节点添加子域 vim /var/named/ty.org.zone 然后重启rndc
2.144节点安装bind
3.144节点配置 vim /etc/named.conf
4 vim /etc/named.rfc1912.zones,,-----------这里的son必须和父域的数据库文件的一致
5.vim /var/named/son.zone,--------------------重启服务rndc
6 141节点测试子域
实现缓存DNS服务器==============================添加146节点
1.146节点安装bind
2.vim /etc/named.conf
3.重启服务