听闻少年二字,当与平庸相斥。这篇文章主要讲述DNS综合实验相关的知识,希望能为你提供帮助。
DNS?域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
?互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。
关于DNS域
根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本(目前通过雪人计划在全球部署IPV6根服务器解决了中国没有根服务器的现象)
在安装DNS服务后可以通过vim /var/named/named.cd 文件查看根服务器地址
一级域名:Top Level Domain: tld
三类:
组织域
国家域(.cn, .ca, .hk, .tw)
反向域com, edu, mil, gov, net, org, int,arpa
二级域名:magedu.com
三级域名:study.magedu.com
最多可达到127级域名
DNS的查询与解析DNS的查询分为俩个类型
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结 果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对 方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起 进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需 要发起多次查询
DNS的解析类型
FQDN --> IP 正向解析
IP --> FQDN 反向解析
DNS查询过程
Client -->
hosts文件 -->
Client DNS Service Local Cache -->
DNS Server (recursion递归) -->
DNS Server Cache -->
DNS iteration(迭代) -->
根-->
顶级域名DNS-->
二级域名DNS…
DNS的各种角色及定义 DNS服务器类型
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
从DNS服务器:从主服务器或从服务器"复制"(区域传输)解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
通知机制:主服务器解析库发生变化时,会主动通知从服务器
缓存DNS服务器(转发器)
DNS的各种资源记录
name [TTL] IN rr_type value
注意:
1. TTL可从全局继承
2. 使用 "@" 符号可用于引用当前区域的域名
3. 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
4. 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机
dns的解析是由众多资源记录RR(Resource Record)组成的
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解 析库的第一条记录
A:internet Address,作用,FQDN --> IP
【DNS综合实验】AAAA:FQDN --> IPv6
PTR:PoinTeR,IP --> FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CNAME : Canonical Name,别名记录
MX:Mail eXchanger,邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮 件)记录
DNS综合实验实验环境及规划如下图
文章图片
实验提前准备
关闭SElinux
关闭防火墙
时间同步
在除了WEB服务器和客户端之外全部安装BIND服务
每台设备按照上图要求配置网络(IP地址及DNS地址)
#client配置
root@client-1:/# cat /etc/netplan/eth0.yaml
network:
ethernets:
eth0:
addresses:
- 10.0.0.101/24
gateway4: 10.0.0.2
nameservers:
addresses:
- 10.0.0.27
version: 2
安装WEB服务器
root@web-1:/# apt -y install apache2#安装http服务
root@web-1:/# echo "hello,word!" >
/var/www/html/index.html#重写网页
root@web-1:/# systemctl enable --now apache2#开启服务并设置开机自启动
root@web-1:/# curl 127.0.0.1#出现此结果即为正常
hello,word!
配置根域服务器
[root@root ~]# yum -y install bind #安装服务
[root@root ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
#修改下面配置
zone "." IN
type master;
file "root.zone";
;
#创建一下配置文件
[root@shicentos8-1 named]# vim /var/named/root.zone#需注意权限问题应与/var/named/named.localhost相同
$TTL 1D
@IN SOAmasterrname.invalid. (
0;
serial
1D;
refresh
1H;
retry
1W;
expire
3H );
minimum
NSmaster
comNScoms
masterA10.0.0.8
comsA10.0.0.18
[root@root named]# chown :named /var/named/root.zone
[root@root named]# chmod 640 /var/named/root.zone
[root@root named]# systemctl enable --now named#开启服务
[root@root named]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
配置.com服务器
[root@comdns ~]# yum -y install bind #安装服务
[root@comdns ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
[root@comdns ~]# vim /etc/named.rfc1912.zones#最下方添加
zone "com" IN
type master;
file "com.zone";
;
[root@comdns ~]# cp -p /var/named/named.localhost /var/named/com.zone
[root@comdns ~]# vim /var/named/com.zone
$TTL 1D
@IN SOAmaster rname.invalid. (
0;
serial
1D;
refresh
1H;
retry
1W;
expire
3H );
minimum
NSmaster
testNStest1
testNStest2
masterA10.0.0.18
test1A10.0.0.7
test2A10.0.0.17
[root@comdns ~]# systemctl enable --now named#开启服务
[root@comdns ~]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
test.com主DNS服务器
[root@test.com ~]# yum -y install bind #安装服务
[root@test.com ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行添加最后一行
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
allow-transfer10.0.0.17;
;
#只允许从服务器同步数据库
[root@test.com ~]# vim /etc/named.rfc1912.zones#最下方添加
zone "test.com" IN
type master;
file "test.com.zone";
;
[root@test.com ~]# cp -p /var/named/named.localhost /var/named/test.com.zone
[root@test.com ~]# vim /var/named/test.com.zone
$TTL 1D
@IN SOAmasterrname.invalid. (
1;
serial
1D;
refresh
1H;
retry
1W;
expire
3H );
minimum
NSmaster
NSslave
masterA10.0.0.7
slaveA10.0.0.17
wwwA10.0.0.100
[root@test.com ~]# systemctl enable --now named#开启服务
[root@test.com ~]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
test.com从DNS服务器
[root@test.com-slave ~]# yum -y install bind #安装服务
[root@test.com-slave ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行添加最后一行
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
allow-transfernone;
;
#从服务器不允许主机同步数据库
[root@test.com-slave ~]# vim /etc/named.rfc1912.zones#最下方添加
zone "test.com" IN
type slave;
masters10.0.0.7;
;
file "slaves/test.com.salave";
;
[root@test.com-slave ~]# systemctl enable --now named#开启服务
[root@test.com-slave ~]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
[root@test.com-slave ~]# ls /var/named/slaves/#查看区域数据库是否形成
test.com.salave
转发目标服务器
[root@forward-dns ~]# yum -y install bind #安装服务
[root@forward-dns ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行并修改
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
dnssec-enable no;
#关闭DNS安全扩展
dnssec-validation no;
#关闭DNS安全扩展[root@forward-dns ~]# vim /var/named/named.ca # 修改根配置文件
;
;
ANSWER SECTION:
.518400INNSa.root-servers.net.;
;
ADDITIONAL SECTION:
a.root-servers.net. 518400INA10.0.0.8
[root@forward-dns ~]# systemctl enable --now named#开启服务
[root@forward-dns ~]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
本地缓存服务器
[root@local-dns ~]# yum -y install bind #安装服务
[root@local-dns ~]# vim /etc/named.conf#打开配置文件按照下方配置修改
#注释下面行
options
#listen-on port 53127.0.0.1;
;
#allow-querylocalhost;
;
#修改下面行
dnssec-enable no;
#关闭DNS安全扩展
dnssec-validation no;
#关闭DNS安全扩展
#添加下面行
forwardonly;
#设置全局转发first模式
forwarders10.0.0.28;
;
#设置转发ip
#first:先转发至指定DNS服务器,如果无法解析查询请求,则本服务器再去根服务器查询
#only: 先转发至指定DNS服务器,如果无法解析查询请求,则本服务器将不再去根服务器查询
[root@local-dns ~]# systemctl enable --now named#开启服务
[root@local-dns ~]# rndc reload#若修改配置文件此命令读取配置文件不必重启服务
测试建议在测试之前每台主机清除DNS缓存避免错误传递测试结果
root@client:~# systemd-resolve --flush-caches
#centos默认没有启用缓存安装nscd包可以支持
[root@centos7 ~]#yum -y install nscd
[root@centos7 ~]#systemctl enable --now nscd
#查看缓存统计信息
[root@centos7 ~]#nscd -g
#清除DNS客户端缓存
[root@centos7 ~]#nscd -i hosts
客户端配置
root@client:~# cat /etc/netplan/eth0.yaml
network:
ethernets:
eth0:
addresses:
- 10.0.0.101/24
gateway4: 10.0.0.2
nameservers:
addresses:
- 10.0.0.27
version: 2
root@client:~# systemd-resolve --flush-caches
root@client:~# dig www.test.com;
<
<
>
>
DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <
<
>
>
www.test.com
;
;
global options: +cmd
;
;
Got answer:
;
;
->
>
HEADER<
<
- opcode: QUERY, status: NOERROR, id: 9664
;
;
flags: qr rd ra;
QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3;
;
OPT PSEUDOSECTION:
;
EDNS: version: 0, flags:;
udp: 4096
;
;
QUESTION SECTION:
;
www.test.com.INA;
;
ANSWER SECTION:
www.test.com.85078INA10.0.0.100;
;
AUTHORITY SECTION:
test.com.85078INNStest2.com.
test.com.85078INNStest1.com.;
;
ADDITIONAL SECTION:
test1.com.85078INA10.0.0.7
test2.com.85078INA10.0.0.17;
;
Query time: 0 msec
;
;
SERVER: 10.0.0.27#53(10.0.0.27)
;
;
WHEN: Sun Jan 02 07:16:10 CST 2022
;
;
MSG SIZErcvd: 129root@client:~#
推荐阅读
- EPR u8销售发货单 SQL语句视图
- 安装kubectl工具以及kebectl命令行补充
- Windows就会在驱动器上存储一个秘密值
- SCCM 2111版本推送客户端到Win10 21H2 安装,客户端日志提示BG error context is 2
- 什么是稀疏文件(Sparse File)
- ers 会取代计算机视觉中的
- 乘势而上,致力于成为中国更优秀的云虚拟
- 领域有着深入的合作,积累了大量的技术开发经验
- 神州云科ADC再创佳绩,在《IDC中国应用交付跟踪报告》