概述:DNS称域名解析协议:本质就是一个翻译机,url(俗称网址,用于定位和访问互联网上的资源)翻译成机器路由可以查找的IP地址。连接方式通常是互联网,Internet进行连接。
一、域名

域名分为以下五种:
1、顶级域名划分:
-
根据性质划分:com企业 org 组织 gov政府 edu教育
-
根据国家划分:cn中国 jp日本 uk 英国 us美国
-
通用域名划分:net,xyz,top,online,com.cn
2、根域名服务器 : 根域名服务器负责告诉用户哪些服务器 管理 .com .xyz .net ....
3、顶级域名服务器: 管理相应的顶级域名下知道xxx.com是哪他台服务器管理
4、权威域名服务器: 管理完整域名的解析。
**5、本地域名服务器:**114.114.114.114 8.8.8.8 235.3.3.4
二、DNS解析过程

三、搭建DNS域名解析服务器
1、安装
命令:yum/dnf install bind -y
2、配置文件
# dns服务器全局设置
options {
listen-on port 53 { 127.0.0.1; }; #重要: ipv4监听地址
listen-on-v6 port 53 { ::1; }; # ipv6 监听地址
directory "/var/named"; # 重要:数据保存的目录,正向/反向域名解析的区域文件 等
dump-file "/var/named/data/cache_dump.db"; # 缓存目录
statistics-file "/var/named/data/named_stats.txt"; # 采集数据件
memstatistics-file "/var/named/data/named_mem_stats.txt"; # 内存分析文件
secroots-file "/var/named/data/named.secroots"; # 安全根域名文件
recursing-file "/var/named/data/named.recursing";
allow-query { 172.25.254.200; };# 重要:决定那些地址可以来获取dns解析服务
recursion yes; # 重要 yes:递归查询 no:迭代查询
dnssec-validation yes; # 是否开启加密传输,使用默认即可
managed-keys-directory "/var/named/dynamic"; # dns密钥保存位置
geoip-directory "/usr/share/GeoIP";
pid-file "/run/named/named.pid"; # pid保存在该文件中
session-keyfile "/run/named/session.key"; # 通信密钥
}
logging {
channel default_debug {
file "data/named.run"; #日志保存的文件
severity dynamic; # 日志级别
};
};
3、配置区域信息文件
进入/etc/named.rfc1912.zones(声明文件)配置想要配置的文件
4、进入etc/named(数据文件)
bash
[root@server named]# ls
data dynamic named.ca named.empty
named.localhost # 正向解析的模版配置文件
named.loopback # 反向解析的模版配置文件
slaves
- named.localhost(正向解析)模版说明
bash
$TTL 1D # 生存时间
@ IN SOA @ rname.invalid. (
0 ; serial # 序列号
1D ; refresh # 刷新时间1天
1H ; retry # 重新连接间隔 1小时
1W ; expire # 过期 1 周
3H ) ; minimum # 缓存3小时
# 权威域名解析服务器
NS ns.xxxx.com
mail.xxx.com A 127.0.0.1
image.xxx.com AAAA ::1
# @ 当前的区域名称 xxx.com
# IN internet
# SOA 开始的授权记录
# rname.invalid. :管理员的邮箱
-
named.loopback(反向解析)模板说明
bash#反向区域文件 [root@localhost ~]# vim /var/named/named.172.24.8 $TTL 1D @ IN SOA ns.baidu.com. admin.baidu.com. ( 0 1D 1H 1W 3H ) IN NS ns.baidu.com. 128 IN PTR ns.baidu.com. 128 IN PTR www.baidu.com. 128 IN PTR mail.baidu.com. 128 IN PTR ftp.baidu.com. #反解需要注意:主机名尽量使用完整的FQDN,即要写上"."
四、正向解析的实验配置
在server 服务器上去配置
1、配置主配置文件/etc/named.conf
命令:
bash
vim /etc/named.conf
进入后仅用配置第11行与19行即可。如同所示:

2、配置/etc/named.rfc1912.zones(声明文件)
命令:
bash
vim /etc/named.rfc1912.zones
进入后配置自己想要配置的文件即可。如下所示:
bash
zone"openlab.com"IN{
type master
file"openlab.com.zone";
allow-update{none;};
};
3、配置/var/named(数据文件)
bash
cd /var/named
复制named.localhost中归属组、权限、内容一并给自己要配置的文件
bash
cp -a named.localhost openlab.come.zones
而后进入要配置的文件中去修改
bash
vim openlab.com.zone
配置地址可随意,具体如图:

配置完成后记得重启系统
bash
systemctl restart named.service
在client客户端去验证
4、
五、反向解析的实验配置
在server服务器上进行配置
1、基于正向解析的配置所以不用配置/etc/named.conf的主配置文件。直接
去/etc/named.rfc1912.zones文件中进行配置。
bash
vim /etc/named.rfc1912.zones
bash
zone "108.168.192.in-addr.arpa" IN { #双引号内的反向解析的区域名
type master;
file "192.168.108.arpa";#反向解析的文件/var/named/172.25.254.arpa
allow-update { none; };
};
进行以上修改就可以
2、进入/var/named文件中进行数据配置文件如下:
bash
vim 192.168.108.arpa

而后重启

在client中进行测试
3、查看是否正确

六、主从服务器的配置
1、基于dns的正向、反向解析的配置
命令:
bash
# 1.配置主服务器 修改声明文件,将正向和反向声明做转发处理,转发给从服务器
vim /etc/named.rfc1912.zonese
######
zone "openlab.com" IN {
type master;
file "openlab.com.zone";
allow-transfer{192.168.108.101;}; # 允许转发给从服务器
};
.....
zone "108.168.192.in-addr.arpa" IN {
type master;
file "192.168.108.arpa";
allow-transfer { 172.25.254.101; };
};
######
# 2.配置从服务器
# 2.1关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 2.2修改/etc/named.conf
vim /etc/named.conf
#########
listen-on port 53 { any; };
allow-query { any; };
#########
# 2.3修改/etc/named.rfc1912.zones
vim /etc/named.rfc19212.zones
#########
zone "openlab.com" IN {
type slave; # 身份为从服务器
masters {192.168.108.100;}; # 从服务器的主为 192.168.108.100
file "slaves/openlab.com.zone"; # 从服务器的区域数据文件保存位置
};
zone "108.168.192.in-addr.arpa" IN {
type slave;
masters {192.168.108.100;};
file "slaves/172.25.254.arpa";
};
########
# 3.两边都重启服务
systemctl restart named
# 4.将主从ip写到客户端的dns中,然后使用nslookup 进行正反向解析测试
nmcli connection modify ens160 +ipv4.dns 192.168.108.101
nmcli connection up ens160
# 主从都在线时 使用主进行解析
[root@client ~]# nslookup bbs.openlab.com
Server: 192.168.108.100
Address: 192.168.108.100#53
Name: bbs.openlab.com
Address: 192.168.108.101
# 当将主强制下线后 从进行解析
[root@client ~]# nslookup bbs.openlab.com
Server: 192.168.108.101
Address: 192.168.108.101#53
Name: bbs.openlab.com
Address: 192.168.108.101
[root@client ~]# nslookup 192.168.108.101
101.108.168.192.in-addr.arpa name = www.openlab.com.
2、client中进行测试即可
想要然从服务器启动,那就让主服务器关机
