文章目录
实验环境:
rhel7主机充当客户端:IP为192.168.1.136
rhel8主机充当服务端:IP为192.168.1.135
【双向解析】另一台客户端:IP为172.25.254.136
一、关于dns的名词解释
dns(domain name service):域名解析服务
1. 客户端
- dns指向文件:/etc/resolv.conf
- 地址解析命令:host www.baidu.com
- 地址详细解析信息命令:dig www.baidu.com
- A记录:ip地址叫做域名的Address记录
- SOA:授权起始主机
- dns的级别:顶级【.】13个;次级:【.com .net .edu .org …】
2. 服务端
- 安装包:bind
- 服务名称:named
- 主配置文件:/etc/named.conf
- 数据目录:/var/named
- 端口:53【netstat -antlupe | grep named】
3. 报错信息
- no servers could be reached:服务无法访问(服务开启?火墙?网络?端口)
- 服务启动失败:配置文件写错 journalctl -xe查询错误
- dig 查询状态:
(1)NOERROR:表示查询成功;
(2)REFUSED :服务拒绝访问;【需要在配置文件中允许查询A记录】
(3)SERVFAIL:查询记录失败(dns服务器无法到达上级【配置服务器网关】,拒绝缓存);
(4)NXDOMAIN:此域名A记录在dns中不存在
4. 记录类型
- SOA记录(Start Of Authority record):起始授权记录
- A 记录(Adress record):将域名解析到IPv4的IP地址
- AAAA 记录(Adress record):将域名解析到IPv6的IP位址
- CNAME(Canonical Name record):别名记录
- MX 记录(Mail eXchange record):邮件交换器
- NS 记录(Name Server record):专用于标明当前区域的DNS服务器
- PTR 记录(PoinTer Record):将IP地址转换成主机的FQDN(全限定域名 )
二、dns服务的安装与启用
- 安装:dnf install bind.x86_64 -y
- 启用:
(1)开启服务并设定服务为开机启动:systemctl enable --now named
(2)在火墙中永久开启dns访问:firewall-cmd --permanent --add-service=dns
(3)刷新火墙使设定生效:firewall-cmd --reload
(4)编辑主配置文件:vim /etc/named.conf
(5)重启服务:systemctl restart named
- 测试: 配置完成后,我们就可以在客户端使用192.168.1.135的dns服务器解析地址:
(1)在dns服务器的主机上配置网关:
(2)在客户端的指向文件中修改dns服务器:
三、高速缓存dns
- 当一个主机第一次访问一个网页的时候,该主机的DNS服务器以从远处的服务器(114.114.114.114)拿到数据,并进行高速缓存;这样在主机或者其他主机进行下一次访问的时候,可以直接从该主机的高速缓存中直接获取,这样的方式叫做高速缓存。
- 配置高速缓存:
编辑配置主文件:vim /etc/named.conf
重启服务:systemctl restart named
配置完成后,本地解析速率变快
四、dns的正向解析
1. 正向解析
定义:将域名转化为IP地址
- 在主配置文件基本设定完成后,编辑子文件:vim /etc/named.rfc1912.zones
- 编辑正向解析库文件:
cp -p /var/named/named.localhost /var/named/jia.com.zone
vim /var/named/jia.com.zone
此时就是将dns.jia.com解析为192.168.1.135;将www.jia.com解析为192.168.1.111。
注意:192.168.1.111只是一个任意设定的数值,不判断此IP地址是否正确;在企业中,企业的A记录列表会给出正确IP。 - 重启服务:systemctl restart named
- 在客户端查询正向解析:
2.邮件解析和规范域名
- MX记录:邮件交换器,它指向一个邮件服务器,用于电子邮件系统收邮件时根据收信人的地址后缀来定位邮件服务器。
- CNAME记录(别名指向):域名转换为内部域名,内部域名再转换为IP地址。
- 操作步骤和正向解析一致,只需在解析库文件添加相关参数即可:
- 重启服务后,在客户端测试:
五、dns的反向解析
定义:将IP地址转换为域名
- 编辑子文件: vim /etc/named.rfc1912.zones
- 编辑反向解析库文件:
cp -p /var/named/named.loopback /var/named/192.168.1.ptr
vim /var/named/192.168.1.ptr
- 重启服务:systemctl restart named
- 在客户端测试:dig -x IP
六、dns的双向解析
- 为什么要设定双向解析: 双向解析为当与目标ip处于同一个网段时,显示的是内网ip,而当目标ip不处于同一个网段时,显示的时外网ip。实现内网主机和外网主机访问同一网站域名,定义到不同服务器。
- 实验环境:
(1)配置服务端有两个网段的IP:ifconfig ens160:0 172.25.254.135 netmask 225.225.225.0
(2)配置网段不同的两台客户端:两台客户端的网段分别对应服务端的两个网段
(3)在192.168.1(内网)网段的主机中编辑dns指向文件【/etc/resolv.conf 】:
(4)在172.25.254(外网)网段的主机中编辑dns指向文件【/etc/resolv.conf 】:
- 配置方式:
(1)添加并配置外网的子文件:
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters
(2)添加并配置外网的解析库文件:
cp -p /var/named/jia.com.zone /var/named/jia.com.inter
vim /var/named/jia.com.inter
(3)编辑主配置文件:vim /etc/named.conf
(4)重启服务:systemctl restart named
- 实验测试:
分别在两个网段的主机上解析相同的域名,得到的A记录不同