【Linux网络】DNS域名解析服务

目录

一、DNS

1.DNS简介

2.域名结构

3.DNS 数据结构分布

4.DNS 域名解析方式 

5.DNS域名解析工作原理

6.DNS的查询方式

二、配置DNS

1.配置正向解析

2.配置反向解析

3.搭建主从域名服务器

总结


一、DNS

1.DNS简介

DNS是“域名系统”的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。
每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

2.域名结构

以http://www.sina.com.cn./为例
http://主机名.子域.二级域.顶级域 根域/

3.DNS 数据结构分布

        树状结构最顶层称为根域,用“.”表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

79a0888e4e0946149f34dea520ad271c.png

根域
位于域名空间最顶层,一般用一个 “.” 表示

顶级域
一般代表一种类型的组织机构或国家地区,
如 .net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)

二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,
如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn 

子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

主机
主机位于域名空间最下层,就是一台具体的计算机,如 www、mail都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名,是指包含了所有域的主机名,其中包括根域),也是这台主机在域名中的全名

4.DNS 域名解析方式 

正向解析:根据域名查找对应的IP地   (域名 ----> IP)
反向解析:根据IP地址查找对应的域名(IP----->域名)

5.DNS域名解析工作原理

客户端会先将DNS解析请求发送给本地缓存域名服务器,如果本地缓存域名服务器有相关记录则直接返回给客户端,否则会将DNS解析请求发送给根域名服务器进行解析,根域名服务器会根据域名的顶级域再将DNS解析请求委派给相对应的顶级域名服务器进行解析,顶级域名服务器也会根据域名的二级域或子域再将DNS解析请求委派给相对应的二级域名或子域名服务器进行解析,最后子域名服务器会根据域名的主机名解析出相对应的IP地址,再返回给本地缓存域名服务器和客户端。

6.DNS的查询方式

递归查询:(简单来说就是将DNS解析请求一探到底,再逐层返回)

本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器再将解析请求转发给相对应的顶级域名服务器,顶级域名服务器再将解析请求转发给相对应的二级域名或子域名服务器,最后子域名服务器会根据域名的主机名解析出相对应的IP地址后,再逐层返回给本地域名服务器。

迭代查询:(简单来说就是每次DNS解析请求都会用相对应的响应回复)

本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器会返回响应消息给本地域名服务器并告知去找相对应的顶级域名服务器;
本地域名服务器再将DNS解析请求发送给相对应的顶级域名服务器,顶级域名服务器会返回响应消息给本地域名服务器并告知去找相对应的二级域名或子域名服务器
最后本地域名服务器将DNS解析请求发送给相对应的子域名服务器,子域名服务器会根据域名的主机名解析出相对应的IP地址后,直接返回给本地域名服务器
 

6385b3a218694f188b55115d43153b9c.png

二、配置DNS

1.配置正向解析

关闭防火墙和核心防护

4b8bb0a875784cb999c7ac997c524052.png

修改主配置 /etc/named.conf      

listen-on port 53 { any; };      #设置监听IP地址和端口
allow-query     { any; };        #设置允许访问DNS服务器的客户端

ab2eaf2bc184459093c39c2f7c714a3a.png

修改区域配置文件 /etc/named.rfc1912.zones

zone "xy101.com" IN {                     #正向解析配置
        type master;
        file "xy101.com.zone";            #设置区域数据文件名称
};

61389be25f6b4ddd8e148ac0cbf7be8d.png

复制文件

cd /var/named
cp -p named.localhost xy101.com.zone

d83748047e614803b1cafacdbc54c4b7.png

 修改区域数据文件 /var/named/xy101.com.zone

vim xy101.com.zone
....
        NS      xy101.com.            #设置当前区域名称
        A       192.168.80.20         #设置DNS服务器IP地址
www  IN A       192.168.80.30         #设置正向解析的主机名与IP地址的映射记录
xxx  IN CNAME   www                   #设置主机名 xxx 是 www 的别名

ef243228680b4e678de2da444e72e1cb.png

客户端设置DNS服务器地址 /etc/resolv.conf ,并验证 nslookup  host  dig

[root@localhost ~]# nslookup www.xy101.com
Server:		192.168.10.125
Address:	192.168.10.125#53

Name:	www.xy101.com
Address: 192.168.10.130

[root@localhost ~]# nslookup news.xy101.com
Server:		192.168.10.125
Address:	192.168.10.125#53

Name:	news.xy101.com
Address: 192.168.10.150

[root@localhost ~]# nslookup ftp.xy101.com
Server:		192.168.10.125
Address:	192.168.10.125#53

ftp.xy101.com	canonical name = www.xy101.com.
Name:	www.xy101.com
Address: 192.168.10.130

[root@localhost ~]# nslookup zhangsan.xy101.com
Server:		192.168.10.125
Address:	192.168.10.125#53

Name:	zhangsan.xy101.com
Address: 192.168.10.200

[root@localhost ~]# 
[root@localhost ~]# host www.xy101.com
www.xy101.com has address 192.168.10.130
[root@localhost ~]# host ftp.xy101.com
ftp.xy101.com is an alias for www.xy101.com.
www.xy101.com has address 192.168.10.130
[root@localhost ~]# dig www.xy101.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> www.xy101.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23378
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.xy101.com.			IN	A

;; ANSWER SECTION:
www.xy101.com.		86400	IN	A	192.168.10.130

;; AUTHORITY SECTION:
xy101.com.		86400	IN	NS	xy101.com.

;; ADDITIONAL SECTION:
xy101.com.		86400	IN	A	192.168.10.125

;; Query time: 0 msec
;; SERVER: 192.168.10.125#53(192.168.10.125)
;; WHEN: 四 4月 25 14:44:23 CST 2024
;; MSG SIZE  rcvd: 88

[root@localhost ~]# 

2.配置反向解析

[root@localhost named]# cp -p xy101.com.zone xy101.com.zone.local
[root@localhost named]# ll
总用量 24
drwxrwx---. 2 named named   23 4月  25 14:35 data
drwxrwx---. 2 named named   60 4月  25 14:35 dynamic
-rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
-rw-r-----. 1 root  named  152 12月 15 2009 named.empty
-rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
-rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
drwxrwx---. 2 named named    6 10月 16 2023 slaves
-rw-r-----. 1 root  named  294 4月  25 14:47 xy101.com.zone
-rw-r-----. 1 root  named  294 4月  25 14:47 xy101.com.zone.local
[root@localhost named]# 

反向解析配置,地址倒写

 zone "80.168.192.in-addr.arpa" IN {      
        type master;
        file "xy101.com.zone.local";
};

084dadcc9b444a3a86d411021c14b085.png

修改区域数据文件

vim xy101.com.zone.local
....
130  IN PTR    www.xy101.com.         #设置IP地址与域名的反向解析记录

8318ee43e9554c3abab85a660300f40e.png

客户端设置DNS服务器地址 /etc/resolv.conf ,并验证 nslookup  host  dig

[root@localhost ~]# nslookup www.xy101.com
Server:		192.168.10.125
Address:	192.168.10.125#53

Name:	www.xy101.com
Address: 192.168.10.130

[root@localhost ~]# nslookup 192.168.10.130
130.10.168.192.in-addr.arpa	name = www.xy101.com.

[root@localhost ~]# nslookup 192.168.10.140
140.10.168.192.in-addr.arpa	name = mail.xy101.com.

[root@localhost ~]# nslookup 192.168.10.150
150.10.168.192.in-addr.arpa	name = new.xy101.com.

[root@localhost ~]# host www.xy101.com
www.xy101.com has address 192.168.10.130
[root@localhost ~]# host 192.168.10.130
130.10.168.192.in-addr.arpa domain name pointer www.xy101.com.
[root@localhost ~]# 

3.搭建主从域名服务器

主服务器配置

281506c7279d4ee1a5d0289e194df988.png

vim  /etc/named.rfc1912.zones                  
zone "xy101.com" IN {
        type master;
        file "xy101.com.zone";
        allow-transfer { 192.168.10.126; };     #允许从服务器同步数据文件
};

zone "10.168.192.in-addr.arpa" IN {            
        type master;
        file "benet.com.zone.local";        
        allow-transfer { 192.168.10.126; };
};

7dae5b91fe53479fa632f8a4bd01d6d5.png

修改区域数据文件

d56c76bc7f104365860752acc6bc9a0a.png

 修改反向配置文件

79840f8e7e1d4eaa8aa49deb3c5123e7.png

从服务器配置

修改从域名服务器区域配置文件,添加正、反区域配置

vim /etc/named.rfc1912.zones
zone "benet.com" IN {
        type slave;                            ●类型为从区域
        masters { 192.168.80.125; };            ●指定主服务器的IP地址
        file "slaves/benet.com.zone";       ●下载的区域数据文件保存到slaves/目录下
};

zone "80.168.192.in-addr.arpa" IN {    
        type slave;
        masters { 192.168.80.125; };
        file "slaves/benet.com.zone.local";
};

03d54aa41b1a4fbd97c64f331251ded7.png

 修改区域数据文件

21639e0c6cdb4fc68faa59b9e749ad17.png

主、从都重启动服务,并查看区域数据文件是否已下载成功

866cbc4530954c07a2915ac43d345898.png

a08f806813344c6f954df30e7bf3e22f.png

 在客户端的域名解析配置文件中添加从DNS服务器地址

echo "nameserver 192.168.10.125" >> /etc/resolv.conf

de624e03e77841a987638d3c50417dda.png

测试

9c8b5ee82e084f9f864b5b2700633cad.png

停止主服务器的服务,模拟主服务器故障

systemctl stop named
host 192.168.100.150
nslookup 192.168.10.150

9c8b5ee82e084f9f864b5b2700633cad.png

总结

DNS域名解析工作原理

递归查询与迭代查询

搭建本地DNS服务器

搭建主从域名服务器

  • 30
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值