1. 关于dns的名词解释
DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它主要是用来通过用户亲切而友好的名称代替枯燥而难记的IP地址以定位相应的计算机和相应服务。因此,要想让亲切而友好的名称能被网络所认识,则需要在名称和IP地址之间有一位“翻译官”,它能将相关的域名翻译成网络能接受的相应IP地址。DNS就是这样的一位“翻译官”。
关于客户端:
/etc/resolv.conf ##dns指向文件
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的地址解析记录 (Address Recorder)
SOA ##授权起始主机
关于服务端:
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
关于报错信息:
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
2.dns服务的安装与启用
1.安装dns
dnf install bind.x86_64 -y #启用#
systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
客户端:
dns指向写为上述dns服务端主机ip192.168.0.11
3.高速缓存dns
高速缓存服务器可以使用转发服务器(forwarders)。转发服务器是连接了外部网络的服务器,将这些服务器的数据结合起来构成一个大型的DNS数据库。在这种模式下,高速缓存服务器首先向一个转发服务器提出查询请求,必要的话,后者会去查询别的服务器,以便获得数据。高速缓存服务器的配置相对简单,只需要一个高速缓存文件即可。但最常见的配置还包括一个本地回送文件。
vim /etc/named.conf
systemctl restart named
第一次
第二次
4.dns的正向解析
dns把这些zone(域)的管理全都独立到/etc/named.rfc1912.zones文件中
vim /etc/named.rfc1912.zone
cd /var/named/
cp -p named.localhost westos.com.zone
vim westos.com.zone 编辑域名记录文件
systemctl restart named 重启服务
测试
dig www.westos.com 解析
5. dns反向解析
vim /etc/named.rfc1912.zones 编辑文件
cd /var/named/
cp -p named.loopback 192.168.1.ptr 生成反向解析文件
vim 192.168.1.ptr 编辑文件
systemctl restart named重启服务
测试:
在客户端
dig -x 192.168.1.20 反向解析
访问ip地址与设定的域名相对应,dns反向解析设定成功
7.dns的双向解析
两台客户机 网段分别为172.25.254.0 192.168.1.0
ip192.168.1.10 和192.168.1.11 172.25.254.11
vim /etc/resolv.conf 更改指向
服务端配置方式:
cd /var/named/
cp -p westos.com.zone westos.com.inter
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters 编辑文件
vim /etc/named.conf 编辑主配置文件
systemctl restart named 重启文件
测试:分别在两台测试端解析域名
dig www.westos.com
分别在2个网段的主机中作同样域名的地址解析得到的A记录不同
8.dns的更新
dns基于ip更新
在dns中设定
vim /etc/named.rfc1912.zones
systemctl restart named
zone “westos.com” IN {
type master;
file “westos.com.zone”;
allow-update { 192.168.1.10; }; ##允许指定客户端更新westos域
also-notify { 192.168.1.21; };
};
测试:在192.168.1.10
nsupdate
server 192.168.1.11
update add hello.westos.com 86400 A 192.168.1.111 ##新增A记录
send
update delete hello.westos.com ##删除A记录
send
dns基于key更新的方式:
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
vim /etc/named.rfc1912.zones
systemctl restart named
测试: