linux DNS域名解析服务

server/2024/11/15 6:11:43/

目录

一.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 Mdhcp                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.confoptions {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 Mdhcp                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.confoptions {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#53Name:	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]# 

 


http://www.ppmy.cn/server/16792.html

相关文章

redis模糊查询redis中的key

redis模糊查询redis中的key 方式一&#xff1a;使用keys命令 /*** 查找匹配的key** param pattern* return*/ public Set<String> keys(String pattern) {return redisTemplate.keys(pattern); }方式二&#xff1a;使用san命令 /*** 查找匹配的key** param pattern* r…

一个网络空间安全的小游戏

为了编写一个网络空间安全的小游戏&#xff0c;我们可以模拟一些基本的网络安全概念&#xff0c;如防火墙、入侵检测、病毒清理等。以下是一个简单的Python小游戏示例&#xff0c;其中玩家需要保护自己的网络免受攻击。 python复制代码 import random class Network: def __…

R可视化:桑基图展示数据层流动

介绍 以桑基图形式展示数据分布情况 加载R包 knitr::opts_chunk$set(message = FALSE, warning = FALSE) library(tidyverse) library(ggalluvial)# rm(list = ls()) options(stringsAsFactors = F) options(future.globals.maxSize = 10000 * 1024^2) 导入数据 metadata…

CSS常用背景属性

CSS常用背景属性 背景属性背景色背景图背景图平铺方式背景图位置背景图缩放背景图片固定背景图复合属性 背景属性 描述属性背景色background-color背景图background-image背景图平铺方式background-repeat背景图位置background-position背景图缩放background-size背景图固定ba…

Python函数小知识

目录 一、函数的定义和调用 二、函数参数 三、函数作用域 四、递归函数和匿名函数 一、函数的定义和调用 def 函数名(参数): 自定义函数可以分为有参函数和无参函数 。 函数的作用&#xff1a; 在Python中定义函数可以提高代码的复用率&#xff0c;避免重复的代码&#xff0c;…

NCH WavePad for Mac:功能全面的音频编辑利器

NCH WavePad for Mac是一款功能全面的音频编辑软件&#xff0c;专为Mac用户设计。它集音频录制、编辑、处理和效果添加于一体&#xff0c;为用户提供一站式的音频解决方案。 NCH WavePad for Mac v19.16注册版下载 作为一款专业的音频编辑器&#xff0c;WavePad支持对音频文件进…

大语言模型在研究领域的应用——推荐系统中的大语言模型

推荐系统中的大语言模型 大语言模型作为推荐模型基于特定提示的方法基于指令微调的方法大语言模型增强的推荐模型数据输入增强语义表示增强偏好表示增强大语言模型作为推荐模拟器总结应用建议现存问题和未来方向推荐系统的核心在于捕捉并理解用户的潜在偏好,进而为用户推送合适…

【ARMv9 DSU-120 系列 10 -- PMU 详细介绍】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 DSU-120 PMUPMU features事件接口系统寄存器计数器PMU寄存器接口PMU eventsPMU interruptExternal cluster PMU registersDSU-120 PMU DynamIQ™共享单元-120(DSU-120)包括性能监视器,这些监视器使您能够在运行时收…