Linux中配置DNS服务

一、什么是DNS

DNS (Domain Name System) 是域名服务 ,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,
并具有将域名转换为IP地址功能的服务器。(将网址解析成IP,或者将IP解析成网址)

将域名映射为IP地址的过程就称为"域名解析"。
在Internet上域名与IP地址之间是一对一(或者多对一)的,
也可采用DNS轮循实现一对多,域名虽然便于人们记忆,
但机器之间只认IP地址,它们之间的转换工作称为域名解析,
域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

网址有一个专有名词:完全合格域名

完全合格域名 = 主机名称 + 域名(根域 + 顶级域 + 二级域)

根域:.

顶级域:分为组织域和国家或地区域。

组织域采用3个字符代号,如.com .edu .gov
国家或地区域,采用两个字符代号,如.cn .jp

二级域:二级域注册到个人、组织或者公司名称,如baidu、taobao等

主机名称:主机名称处于域名空间的最底层,主机名与上述各级域名结合构成FQND(完全合格域名)

每个域用一个点号“.”分开

以www.baidu.com为例:

www:主机名称

baidu.com:域名

根域:日常生活中一般省略(www.baidu.com.)最后的.表示根域,配置DNS时需要带上

顶级域:.com

二级域:baidu

一个完全合格域名只能对应一个IP,一个IP可以对应多个完全合格域名。

二、DNS查询方式(两种)

递归查询:DNS客户端与DNS服务器之间

迭代查询:DNS服务器与DNS服务器之间

访问一个网站是既有递归又有迭代

三、DNS解析方式

正向解析:FQDN(完全合格域名)----------> IP

反向解析:IP -----------> FQDN(完全合格域名)

四、DNS服务搭建

搭建DNS服务有两种方式:

1.bind 2.unbound

DNS服务器类型:

主DNS服务器(条目或者称为映射信息是手写进主DNS当中)

辅助DNS服务器(用来做备份)

unbound 不能提供辅助DNS服务器

所以一般用bind进行部署

1、在没有DNS之前,怎样解决

/etc/hosts 本地解析配置文件

主机1:192.168.100.10

主机2:192.168.100.20

正常情况下:两台主机相互ping IP地址是可以ping通的,但是ping不通主机名

主机1:

[root@stw ~]# ping 192.168.100.20
PING 192.168.100.20 (192.168.100.20) 56(84) bytes of data.
64 bytes from 192.168.100.20: icmp_seq=1 ttl=64 time=0.801 ms
64 bytes from 192.168.100.20: icmp_seq=2 ttl=64 time=1.06 ms
^C
--- 192.168.100.20 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.801/0.933/1.065/0.132 ms[root@stw ~]# ping stw2.example.com
ping: stw2.example.com: Name or service not known

在本地解析文件中加上对方的IP地址以及对应映射的主机名

[root@stw ~]# vim /etc/hosts
[root@stw ~]# ping stw2.example.com
PING stw2.example.com (192.168.100.20) 56(84) bytes of data.
64 bytes from stw2.example.com (192.168.100.20): icmp_seq=1 ttl=64 time=0.561 ms
64 bytes from stw2.example.com (192.168.100.20): icmp_seq=2 ttl=64 time=8.10 ms
^C
--- stw2.example.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.561/4.332/8.103/3.771 ms

在这里插入图片描述

注意:只在主机1中添加,则只有主机1能ping通主机2,主机2仍然ping不通主机1,想要主机2也ping通主机1,需要在主机2的配置文件中中也写入主机1的IP地址与主机名的映射关系。

2、配置主DNS
(1)配置yum仓库,安装软件包
[root@stw ~]# cd /etc/yum.repos.d/
[root@stw yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@stw yum.repos.d]# rm -rf *
[root@stw yum.repos.d]# ls
[root@stw yum.repos.d]# vim server.repo
[root@stw yum.repos.d]# cat server.repo
[aa]
name=aa1
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@stw yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@stw yum.repos.d]# yum -y install bind bind-chroot

/etc/named.conf 映射的DNS主配置文件

/var/named 解析文件的目录

DNS默认侦听端口:53(指自己的地址,一般作为DNS服务器的话:any)

/var/named/chroot/etc/named.rfc1912.zones 记录DNS正向和反向的全局解析配置文件

作用:

1、确定DNS类型 :主DNS(master) 辅助DNS(slave)

2、定义 域与网段的映射关系

3、告知具体的解析条目的文件名在哪里:正向解析数据库 反向解析数据库

(2)编辑主配置文件/etc/named.conf
[root@stw ~]# vim /etc/named.conf 

在这里插入图片描述

(3)编辑全局配置文件(三个地方需要更改)
更改对应的域名和映射的网段,服务类型:master(主DNS),正向解析与反向解析的文件名
[root@stw ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述

在这里插入图片描述

把文件复制到对应目录下

[root@stw ~]# cd /var/named/
[root@stw named]# cp -p named.localhost stw.com
[root@stw named]# cp -p named.empty com.stw
[root@stw named]# ls
chroot  com.stw  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  stw.com

TTL 1D 缓存周期

SOA起始授权机构(后面的@改成服务器的主机名)

NS:后面接DNS的服务器

主机记录:A

(4)编辑正向解析文件
[root@stw ~]# cd /var/named
[root@stw named]# ls
chroot  com.stw  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  stw.com
[root@stw named]# vim stw.com

在这里插入图片描述

(5)编辑反向解析的文件
[root@stw named]# vim com.stw

在这里插入图片描述

(6)重启服务,关掉防火墙,更改selinux
[root@stw named]# systemctl restart named
[root@stw named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@stw named]# systemctl stop firewalld.service 
[root@stw named]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@stw named]# getenforce 
Enforcing
[root@stw named]# setenforce 0
[root@stw named]# getenforce 
Permissive
(7)客户端更改网卡的DNS(指向服务器端),重启服务,查看是否解析
[root@stw2 ~]# cd /etc/sysconfig/network-scripts/
[root@stw2 network-scripts]# vim ifcfg-ens33
[root@stw2 network-scripts]# systemctl restart network
[root@stw2 network-scripts]# nslookup
> stw.example.com           //正向解析
Server:		192.168.100.10
Address:	192.168.100.10#53Name:	stw.example.com
Address: 192.168.100.10
> 192.168.100.10    //反向解析
Server:		192.168.100.10
Address:	192.168.100.10#5310.100.168.192.in-addr.arpa	name = stw.example.com.
> 

在这里插入图片描述

3、配置辅助DNS
(1)配置yum仓库,安装软件包(略)
(2)编辑主配置文件/etc/named.conf
[root@stw2 ~]# vim /etc/named.conf

在这里插入图片描述

(3)编辑全局配置文件(四个地方需要更改)
更改对应的域名和映射的网段,服务类型:slave(辅助DNS),正向解析与反向解析的文件名,定义主DNS地址(告诉辅助DNS主DNS的地址)
[root@stw2 ~]# vim /etc/named.rfc1912.zones 

在这里插入图片描述

辅助DNS中,正向解析文件和反向解析文件不需要编辑

(4)重启服务,关掉防火墙,更改selinux
[root@stw2 ~]# systemctl stop firewalld.service 
[root@stw2 ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@stw2 ~]# setenforce 0
[root@stw2 ~]# getenforce 
Permissive
[root@stw2 ~]# vim /etc/selinux/config 
[root@stw2 ~]# systemctl restart named
[root@stw2 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@stw2 ~]# cd /var/named/
[root@stw2 named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@stw2 named]# cd slaves
[root@stw2 slaves]# ls
com.stw  stw.com

在这里插入图片描述

(5)更改网卡配置文件
[root@stw2 ~]# cd /etc/sysconfig/network-scripts/
[root@stw2 network-scripts]# vim ifcfg-ens33
[root@stw2 network-scripts]# cd
[root@stw2 ~]# systemctl restart network

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92936.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92936.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92936.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis应⽤-缓存与分布式锁

🌈 个人主页:Zfox_ 🔥 系列专栏:Redis 🔥 什么是缓存 缓存(cache)是计算机中的⼀个经典的概念.在很多场景中都会涉及到 核⼼思路就是把⼀些常⽤的数据放到触⼿可及 (访问速度更快) 的地⽅,⽅便随时读取 对于计算机…

TCP、HTTP/HTTPS、FTP 解析 + 面试回答参考

TCP、HTTP/HTTPS、FTP 解析 面试回答参考 在后端开发、网络编程以及运维面试中,TCP 协议、HTTP/HTTPS、FTP 是高频考点。本文将从原理、流程、面试常问问题出发,帮你一次性搞懂这些核心知识点。一、TCP 三次握手 1. 作用 建立可靠连接,确保双…

ATF(TF-A)安全通告 TFV-13(CVE-2024-7881)

安全之安全(security)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、漏洞描述 二、缓解措施与建议 三、补丁修改 关于该漏洞的具体细节,可参考【CVE-2024-7881】ARM CPU漏洞安全通告】 Title 非特权上下文可以触发数据相关的预取引擎,从而获取特权位置的内容,并将这些…

Pytorch深度学习框架实战教程-番外篇02-Pytorch池化层概念定义、工作原理和作用

相关文章 视频教程 《Pytorch深度学习框架实战教程01》《视频教程》 《Pytorch深度学习框架实战教程02:开发环境部署》《视频教程》 《Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解》《视频教程》 《Pytorch深度学习框架实战…

常见通信协议详解:TCP、UDP、HTTP/HTTPS、WebSocket 与 GRPC

常见通信协议详解:TCP、UDP、HTTP/HTTPS、WebSocket 与 RPC 在现代网络通信中,各种协议扮演着至关重要的角色,它们决定了数据如何在网络中传输、控制其可靠性、实时性与适用场景。对于开发者而言,理解这些常见的通信协议&#xff…

部署一个自己的音乐播放器教程

以下以部署 YesPlayMusic 为例,介绍两种常见的部署方法,一种是通过 Node.js 和 Git 在 Windows 系统上部署,另一种是通过 Docker 在 Linux 系统上部署。具体步骤如下:Windows 系统部署(基于 Node.js 和 Git&#xff09…

FFMPEG将H264转HEVC时,码率缩小多少好,以及如何通过SSIM(Structural Similarity Index结构相似性指数)衡量转码损失

最近整理一些视频,我发现太多了,就想把一些本来就需要转码的视频缩小一下。因为转码的时候为了弥补损失,我将码率增大了 10-20%,但是如果将 H264 转 HEVC(当然也可以是其他格式),那么或许不用增…

前端,route路由

路由定义与导航动态路由匹配&#xff1a;参数传递&#xff08;/user/:id&#xff09;嵌套路由配置与 <router-view> 层级渲染编程式导航&#xff1a;router.push、router.replace 和 router.go路由守卫与权限控制全局守卫&#xff1a;beforeEach、beforeResolve、afterEa…

Kubernetes网络原理深度解析

Kubernetes网络原理深度解析 1 Kubernetes网络模型 Kubernetes 网络模型是其实现容器化应用高效通信的基础框架。它致力于解决容器编排环境中复杂的网络连通性、服务发现与负载均衡等问题&#xff0c;追求让容器、Pod 等网络端点像传统主机网络一样简洁、可预测地通信 。其核心…

Python3.10 + Firecrawl 下载 Markdown 文档:构建高效通用文章爬虫

在信息爆炸的时代&#xff0c;从各种网站收集和整理文章内容已成为许多开发者和研究人员的常见需求。无论是为了内容聚合、数据分析还是知识管理&#xff0c;一个高效、稳定的通用文章爬虫都是不可或缺的工具。 本文将详细介绍如何使用 Python 3.10 结合 Firecrawl API 构建一个…

国产3D大型装配设计新突破②:装配约束智能推断 | 中望3D 2026

本文为CAD芯智库整理&#xff0c;未经允许请勿复制、转载&#xff01;→ www.xwzsoft.com/h-nd-605.html中望3D2026亮点速递之【装配篇】已经介绍了设计效率的提升&#xff0c;今天将分享的是中望3D2026【装配约束智能推断】&#xff0c;也预告一下第三篇是讲解【组件复用效率提…

深入浅出设计模式——行为型模式之观察者模式 Observer

文章目录1.观察者模式简介2.观察者模式结构3.观察者模式代码实例3.0.公共头文件3.1.观察者3.1.1.抽象观察者Observer3.1.2.具体观察者Player3.2.目标类3.2.1.抽象目标AllyCenter3.2.2.具体目标AllyCenterController循环包含错误示例“前向声明什么时候不够、必须 #include 对方…

CA证书、SSL加速器、HTTPS、HTTP和域名之间的关系

理解CA证书、SSL加速器、HTTPS、HTTP和域名之间的关系对于构建安全、高效的网站至关重要。它们共同构成了现代安全网络通信的基础。下面是它们各自的概念以及它们之间的关系&#xff1a;域名 概念&#xff1a; 人类可读的网站地址&#xff08;如 www.example.com&#xff09;。…

3D感知多模态(图像、雷达感知)

一.BEVFusion1.简要介绍BEV是一个俯视空间&#xff0c;Fusion做的就是融合&#xff0c;这里指的就是图像和点云的融合。那如何把图像和点云融合在一起&#xff1f;认为融合方法有三种&#xff1a;a.point level fusion:点集的融合&#xff0c;从点云中采样一些点,再根据相机的内…

STM32 HAL库驱动W25QXX Flash

STM32 HAL库驱动W25QXX Flash 1. 概述 W25QXX系列是一种SPI接口的Flash存储器&#xff0c;广泛应用于嵌入式系统中作为数据存储设备。本文档详细介绍了基于STM32 HAL库的W25QXX Flash驱动实现&#xff0c;包括硬件连接、驱动函数实现以及使用示例。 项目源码仓库&#xff1a…

Vivado自定义IP核学习笔记

文章目录【1】创建一个新的IP核【2】实现功能【3】编辑IP核【4】IP封装【5】创建Vivado工程【1】创建一个新的IP核 1.1 打开Vivado->点击【Tasks->Manage IP->New IP Location】->弹出窗口1.2 【Next】->设置IP属性->【Finish】->【OK】 【IP Location】…

【面试】高级开发面试场景题

1、如何保证MySql到ES的数据一致性? 答:ES是一个开元分布式搜索和分析引擎、它提供了全文搜索、结构化搜索分析以及这些组合的能力。 全文搜索能力:ES支持复杂的搜索能力,包括模糊匹配、短语查询、布尔查询等,并且可以快速的返回结果 实时数据分析:实时数据分析,支持对…

《 慢 SQL 分析与 SQL 优化实战指南》

&#x1f50d; 慢 SQL 分析与 SQL 优化实战指南、 &#x1f9e0;前言 在数据库性能调优中&#xff0c;慢 SQL 是性能瓶颈的常见元凶。 一次慢查询可能会拖垮整个业务线程池&#xff0c;甚至引发锁等待、雪崩效应。 对后端开发与 DBA 而言&#xff0c;快速定位并优化慢 SQL&am…

C#中如何运用JWT用户认证

一、JWT概述JSON Web Token&#xff08;JWT&#xff09;是一种轻量级的身份认证机制&#xff0c;广泛应用于分布式系统中的用户认证。它通过紧凑的JSON格式存储用户身份信息&#xff0c;并使用数字签名确保信息的完整性和真实性。与传统的基于Session的认证相比&#xff0c;JWT…

Hibernate 使用详解

在现代的Java开发中&#xff0c;数据持久化是一个至关重要的环节。而在众多持久化框架中&#xff0c;Hibernate以其强大的功能和灵活性&#xff0c;成为了开发者们的首选工具。本文将详细介绍Hibernate的原理、实现过程以及其使用方法&#xff0c;希望能为广大开发者提供一些有…