首页 > 系统相关 >linux中DNS域名解析服务

linux中DNS域名解析服务

时间:2024-06-15 10:02:04浏览次数:27  
标签:named bind 域名解析 域名 DNS linux 服务器 解析

DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。域名的正向解析是DNS服务器的最基本的功能,也是最常用的功能。

反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证。

实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区域(包含 IP 地址到域名的解析记录)。

根据所管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台 DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下。

缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,(方便下一次使用)但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。

主域名服务器:(保存了相应的解析记录)维护某一个特定 DNS 区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

从域名服务器:与主域名服务器提供完全相同的 DNS 解析服务,通常用于 DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。关键区别在于,从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

以上所述主、从服务器的角色只是针对某一个特定的 DNS 区域来说的。例如,同一台DNS 服务器,可以是“.chinaunix.net”区域的主域名服务器,同时也可以是“.cublog.cn”区域的从域名服务器。

UDP:53/TCP:53

客户端发送解析请求给服务器(UDP53)

TCP:53

主动DNS服务器

DNS服务器转发解析给另一个DNS服务器

BIND的安装和控制:

BIND 不是唯一能够提供域名服务的 DNS 服务程序,但它却是应用最为广泛的,BIND可以运行在大多数 Linux/UNIX 主机中。其官方站点位于 ISC - ISC

安装BIND软件:

各软件包的主要作用如下。

bind:提供了域名服务的主要程序及相关文件。

bind-utils:提供了对 DNS 服务器的测试工具程序,如 nslookup 等。

bind-libs:提供了 bind、bind-utils 需要使用的库函数。

bind-chroot:为 BIND 服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为 BIND 服务的根目录),以提高安全性。

默认已安装 bind-utils 和 bind-libs,因此只需要安装 bind 和 bind-chroot 即可。

查询是否已安装与BIND相关的软件包:rpm -qa | grep "^bind"

BIND服务控制:

BIND 软件包安装完毕以后,会自动增加一个名为 named 的系统服务,通过 systemctl工具可以控制 DNS 域名服务的运行。例如,执行以下操作可以查询 named 服务的运行状态。

1:修改主配置文件

/etc/named.conf

(1)option:监听,allow-query

(2)zone(正向,反向)

2:创建区域文件(/var/named)

正向 反向

缓存域名服务器主配置文件修改:

vim /etc/named.conf

会用named.ca中的服务器进行解析。

主域名服务器主配置文件修改:(正向查找)

创建指定的正向查找的查找区域文件:

从/var/named目录下cp一份文件作为(主配置文件中指定的文件)

cp named.localhost bdqn.com.zone

然后vim编辑器打开该文件,修改文件里面的参数作为我们想要的。

参考以下的格式:

检测工具:named-checkconf /etc/named.conf (主配置文件)

(检测/etc/named.conf文件有没有错误)

修改区域文件的属性:让bind服务的用户能够正常的访问该文件。

切记:改完属组后,重启一下named服务,命令:systemctl restart named

主域名服务器,反向查找主配置文件修改:

创建指定的反向查找的查找区域文件:(主域名服务器)

拷贝一份作为反向查找的区域文件(cp named.localhost 192.168.10.arpa)

再使用vim编辑器修改里面的内容。

参考以下格式:

修改区域文件的属性:让bind服务的用户能够正常的访问该文件。

使用测试工具检测配置文件有没有问题:

随后重启named服务:systemctl restart named

然后在客户端使用测试工具(nslookup)反向查找能不能使用:

设置从域名服务器的正向查找及反向查找主配置文件修改:

vim /etc/named.conf

参考一下格式:

从域名服务器直接同步主域名服务器所需的区域文件的内容。

只不过里面的内容不能修改;乱码文件。

配置完文件后还是要重启named服务。

后续如果再有补充,会再发后续。大家加个关注,点个赞,鼓励下,谢谢。

标签:named,bind,域名解析,域名,DNS,linux,服务器,解析
From: https://blog.csdn.net/2401_85084312/article/details/139663107

相关文章

  • linux中DNS域名解析服务(后续补充)
    分离解析简介:分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址的客户机请求解析同一域名时,为其提供不同的解析结果。        实验要求:防火墙要么关闭掉,要么添加允许通过条目。以及......
  • 嵌入式Linux中的LED驱动控制(基于misc)
    在开发驱动程序的时候,有时希望快速地实现其业务功能,以把精力放在文件接口功能的测试上来。这样,对于常见的一些繁琐而又不能省略的步骤(如设备号的申请、字符设备的注册、设备节点文件的创建等),就希望能尽量地简化。这时,就可以使用Linux内核提供的misc(杂项)来实现。这里仍然使用“嵌......
  • 【安装笔记-20240613-Linux-在 OpenWrt 的 LuCI界面支持命令行调试】
    安装笔记-系列文章目录安装笔记-20240613-Linux-在OpenWrt的LuCI界面支持命令行调试文章目录安装笔记-系列文章目录安装笔记-20240613-Linux-在OpenWrt的LuCI界面支持命令行调试前言一、软件介绍名称:ttyd主页官方介绍特点二、安装步骤测试版本:openwrt-23.05.3......
  • Linux openSSH 只能够使用SFTP 不能使用ssh登陆
    实施目标:1. 用户只能通过sftp访问,不能登录SSH2.用户要被锁定在特定的目录下,没有读写其它目录的权限 下面开始:首先修改sshd的配置文件:#vim/etc/ssh/sshd_config将该文件的末尾修改如下:#Subsystem sftp /usr/lib/openssh/sftp-server#该行(上面这行)注释掉Subsystem sftp......
  • 使用shell脚本在Linux中管理Java应用程序
    目录前言一、目录结构二、脚本实现1.脚本内容2.使用说明2.1配置脚本2.2脚本部署2.3操作你的Java应用总结前言在日常开发和运维工作中,管理基于Java的应用程序是一项基础且频繁的任务。本文将通过一个示例脚本,展示如何利用Shell脚本简化这一流程,实现Java应用的一键式启动、......
  • fs.1.10 ON rockeylinux8 dockerfile模式
     概述freeswitch是一款简单好用的VOIP开源软交换平台。rockeylinux8docker上编译安装fs.1.10的流程记录,本文使用dockerfile模式。环境dockerengine:Version24.0.6rockylinuxdocker:8freeswitch:v1.10.7dockerfile创建空目录,创建dockerfile文件。github访问经常失败,先......
  • Linux 并发与竞争
    Linux并发与竞争并发与竞争Linux系统是个多任务操作系统,会存在多个任务同时访问同一片内存区域,这些任务可能会相互覆盖这段内存中的数据,造成内存数据混乱。针对这个问题必须要做处理,严重的话可能会导致系统崩溃。现在的Linux系统并发产生的原因很复杂,总结一下有下面几个主要......
  • Linux下的python的部署
    一、python的验证一般情况下liunx系统都会自带python输入python--version便可以查看当前安装的python版本二、Linux系统下安装anaconda步骤大纲:下载anaconda文件→更改文件的权限→开始安装→完成交互问题(更改安装位置)→配置环境变量→更改文件目录权限2.1、下载anacon......
  • 在Linux中,如何停止正在运行的进程?
    在Linux中,停止正在运行的进程可以采取多种方法,具体取决于你希望如何控制进程以及进程的当前状态。以下是一些常用的方法:1.使用kill命令kill命令是最常用的停止进程的方法。你需要知道进程的进程ID(PID)。发送SIGTERM信号(默认):killPID这会给进程发送一个终止信号(SIGTERM),......
  • 在Linux中,什么是initrd镜像?
    在Linux系统中,initrd(initialRAMdisk)镜像是一个非常重要的组件,它用于在启动过程中加载必要的内核模块和驱动,以便系统能够完全引导起来。以下是具体介绍:概念与作用:initrd是一个被压缩的磁盘映像,它在系统启动时被加载到内存中,并且暂时作为根文件系统使用。其主要目的是在系统启......