linux DNS域名解析服务

目录

一.DNS

DNS系统的作用

域名结构:

根域

顶级域

二级域

子域

主机 

二.DNS解析过程

迭代查询:

递归查询:

三.实验模拟 主、从服务器设置

1.搭建本地DNS服务器------(主服务器配置)

1)初始化系统

​编辑2)安装 bind 软件包

​编辑 3)修改主配置

4)修改区域配置文件

:5)修改区域数据文件 

5)启动服务,关闭防火墙

​编辑6)客户端设置DNS服务器地址

2.搭建本地DNS服务器------(从服务器配置)

 1)初始化系统

​编辑2)安装 bind 软件包

​编辑

  3)修改主配置

5)启动服务,关闭防火墙

​编辑6)客户端设置DNS服务器地址

3.故障

1.使用 named-checkconf 配置文件路径 //解析配置文件是否出错

2. 进入vim /etc/named.rfc1912.zones修改

3.重启服务检查

4.测试


一.DNS

  • DNS是"域名系统"的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
  • DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。

DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址口
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

域名结构:

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

根域

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

顶级域

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

二级域

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

子域

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

主机 

  • 主机位于域名空间最下层,就是一台具体的计算机,

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

二.DNS解析过程

迭代查询:

  • 简单来说就是每次DNS解析请求都会用相对应的响应回复

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

递归查询:

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

三.实验模拟 主、从服务器设置

1.搭建本地DNS服务器------(主服务器配置)

1)初始化系统

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config


2)安装 bind 软件包

[root@localhost ~]# yum install -y bind dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
loacl                                                                                    | 3.6 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.9 将被 安装
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package             架构                  版本                                      源                    大小
================================================================================================================
正在安装:
 bind                x86_64                32:9.11.4-26.P2.el7_9.9                   loacl                2.3 M
 dhcp                x86_64                12:4.2.5-83.el7.centos.1                  loacl                515 k

事务概要
================================================================================================================
安装  2 软件包

总下载量:2.8 M
安装大小:6.8 M
Downloading packages:
----------------------------------------------------------------------------------------------------------------
总计                                                                            149 MB/s | 2.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        1/2 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         2/2 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         1/2 
  验证中      : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        2/2 

已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.9                    dhcp.x86_64 12:4.2.5-83.el7.centos.1                   

完毕!

 3)修改主配置

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

 

4)修改区域配置文件

[root@localhost named]# vim /etc/named.rfc1912.zones
zone "xy101.com" IN {
        type master;
        file "xy101.com.zone";
        allow-transfer { 20.0.0.168; };
};

zone "0.0.20.in-addr.arpa" IN {
       type master;
       file "xy101.com.zone.local";
       allow-transfer { 20.0.0.168; };
};

 

:5)修改区域数据文件 

[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a named.localhost xy101.com.zone
[root@localhost named]# ll
总用量 20
drwxrwx---. 2 named named    6 2月  24 2022 data
drwxrwx---. 2 named named    6 2月  24 2022 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 2月  24 2022 slaves
-rw-r-----. 1 root  named  152 6月  21 2007 xy101.com.zone
[root@localhost named]# vim xy101.com.zone

 

[root@localhost named]# cp -a named.localhost xy101.com.zone.local
[root@localhost named]# vim xy101.com.zone.local

 

 注:

  •  0       ; serial    #更新序列号,可以是 10 位以内的整数
  • 1D      ; refresh    #刷新时间,重新下载地址数据的间隔
  • 1H      ; retry        #重试延时,下载失败后的重试间隔
  • 1W      ; expire    #失效时间,超过该时间仍无法下载则放弃
  • 3H )    ; minimum    #无效解析记录的生存周期
  • #“        @”这里是一个变量,当前DNS区域名
  • #          SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更   新时,若发     现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
  • #         “benet.com.”此为完全合格域名(FQDN),后面有个“.”不能漏掉
  • #         “admin.benet.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”代替

5)启动服务,关闭防火墙

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl enable named


6)客户端设置DNS服务器地址

[root@localhost named]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 20.0.0.142
nameserver 20.0.0.168

 

2.搭建本地DNS服务器------(从服务器配置)

 1)初始化系统

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config


2)安装 bind 软件包

[root@localhost ~]# yum install -y bind dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
loacl                                                                                    | 3.6 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.9 将被 安装
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package             架构                  版本                                      源                    大小
================================================================================================================
正在安装:
 bind                x86_64                32:9.11.4-26.P2.el7_9.9                   loacl                2.3 M
 dhcp                x86_64                12:4.2.5-83.el7.centos.1                  loacl                515 k

事务概要
================================================================================================================
安装  2 软件包

总下载量:2.8 M
安装大小:6.8 M
Downloading packages:
----------------------------------------------------------------------------------------------------------------
总计                                                                            149 MB/s | 2.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        1/2 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         2/2 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                                                         1/2 
  验证中      : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                                                        2/2 

已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.9                    dhcp.x86_64 12:4.2.5-83.el7.centos.1                   

完毕!

  3)修改主配置

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

 

[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "xy101.com" IN {
        type slave;
        masters{ 20.0.0.142; };
        file "slaves/xy101.com.zone";

  

zone "0.0.20.in-addr.arpa" IN {
        type slave;
        masters{ 20.0.0.142; };
        file "slaves/xy101.com.zone.local";
};

 

5)启动服务,关闭防火墙

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl enable named


6)客户端设置DNS服务器地址

[root@localhost named]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 20.0.0.142
nameserver 20.0.0.168

注:从服务器不需要配置区域数据文件

3.故障

[root@localhost ~]# systemctl start named
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

1.使用 named-checkconf 配置文件路径 //解析配置文件是否出错

2. 进入vim /etc/named.rfc1912.zones修改

3.重启服务检查

4.测试

[root@localhost named]# nslookup xy101.com
Server:		20.0.0.142
Address:	20.0.0.142#53

Name:	xy101.com
Address: 20.0.0.142

[root@localhost named]#  nslookup 20.0.0.100
100.0.0.20.in-addr.arpa	name = abc.xy101.com.

[root@localhost named]# 

 

  • 37
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

煤五千

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值