构建域名服务器-BIND:Linux端的安装过程及配置文件详解
文章目录
- 构建域名服务器工具-BIND
- BIND的安装
- BIND配置文件详解
- 1. `/etc/named.conf`:
- 2. `/etc/named.rfc1912.zones`:
- 3. `/var/named/named.localhost`:
- 4.`/etc/logrotate.d/named`
- 5.`/etc/named.iscdlv.key`
- 6.`/etc/named.root.key`
- 7.`/etc/rndc.conf`
- 8.`/etc/rndc.key`
- 9.`/etc/sysconfig/named`
- 10.`/var/named/named.ca`
- 11.`/var/named/named.empty`
- 12.`/var/named/named.loopback`
构建域名服务器工具-BIND
BIND(Berkeley Internet Name Domain)是目前最常用的DNS服务器软件,广泛应用于互联网中。
BIND的安装
BIND的安装和配置包括以下两个关键步骤:
- 安装BIND:
- 可以通过软件包管理器(如
yum或apt)来安装BIND。 - 例如,使用
yum install bind命令来安装BIND。
- 可以通过软件包管理器(如
- 配置文件:
- 主配置文件:
/etc/named.conf,此文件定义了BIND服务器的全局设置和区域配置。 - 区域文件:存储特定域的DNS记录,例如
/var/named/example.com.db,该文件包含域名与IP地址的映射关系。
- 主配置文件:
BIND配置文件详解
使用 rpm -qc bind 命令可以看到bind的所有配置文件。
1. /etc/named.conf:
-
描述:
/etc/named.conf是 BIND(Berkeley Internet Name Domain)服务的主配置文件。这个文件控制着 BIND 服务器的全局设置,包括服务器的运行模式、安全策略、日志记录、访问控制、区域文件的定义等。- 该文件是 BIND 配置体系的核心,通过它可以定义服务器的整体行为,并引用其他配置文件或区域数据文件。
-
用途:
- 全局配置:用于定义服务器的全局参数,比如允许哪些 IP 地址访问 DNS 服务、指定哪些接口监听 DNS 请求、日志记录的格式和位置等。
- 区域定义:通过
zone指令定义 DNS 服务器所负责的域或子域的配置信息,指向具体的区域数据文件。 - 访问控制:通过
acl(访问控制列表)指令,设置允许或禁止特定 IP 地址或网段访问 DNS 服务。 - 视图配置:通过
view指令,BIND 可以根据客户端的来源 IP 地址提供不同的 DNS 解析结果,这在多租户环境中非常有用。 - 日志记录:配置日志的记录方式、记录内容及输出目标,如文件或 syslog。
-
文件内容:
/etc/named.conf文件内容通常包括以下几个关键部分:- Options(选项):全局设置,包括文件目录、监听接口、转发器(forwarders)等。
- ACL(访问控制列表):定义允许或拒绝访问的 IP 地址或网段。
- Logging(日志记录):定义日志文件的位置、格式及记录级别。
- Zone(区域):定义 DNS 服务器管理的域及其对应的区域数据文件。
- Include(包含):引用其他配置文件,增强配置的可维护性。
-
命名由来:
named.conf文件名中的named是 BIND 的守护进程(named)的名称,而conf表示配置文件。文件名直观地表示它是 BIND 服务的配置文件。
-
示例:
options {directory "/var/named";listen-on port 53 { 127.0.0.1; any; };allow-query { any; };recursion yes;forwarders { 8.8.8.8; 8.8.4.4; };dnssec-enable yes;dnssec-validation yes;auth-nxdomain no;listen-on-v6 { any; }; };logging {channel default_debug {file "data/named.run";severity dynamic;}; };acl "trusted" {192.168.1.0/24;127.0.0.1; };zone "." IN {type hint;file "named.ca"; };zone "example.com" IN {type master;file "example.com.db";allow-update { none; }; };include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";- Options:定义了 BIND 的运行目录、监听端口、允许的查询地址、是否开启递归等。
- Logging:定义了日志的记录方式和位置。
- ACL:定义了一个名为
trusted的访问控制列表,包含了允许访问的 IP 范围。 - Zone:定义了两个区域,一个是根区域
.(通常用于引导 DNS 解析),另一个是example.com,该区域的数据存储在example.com.db文件中。 - Include:通过
include指令引用其他配置文件,增强配置的灵活性。
2. /etc/named.rfc1912.zones:
-
描述:这是一个区域配置文件,专门用于定义 BIND 服务器中使用的区域(zone)。文件中的配置通常包括正向区域(forward zones)和反向区域(reverse zones),这些区域配置定义了服务器将负责解析的域名或 IP 地址范围。
-
用途:
- 正向区域配置:用于将域名解析为 IP 地址。例如,一个典型的正向区域可能定义域名
example.com,并将其解析为对应的 IP 地址。 - 反向区域配置:用于将 IP 地址解析为域名。这在 PTR 记录中尤为常见,用于反向 DNS 查找。
- 正向区域配置:用于将域名解析为 IP 地址。例如,一个典型的正向区域可能定义域名
-
文件内容:该文件通常包含对区域的引用,这些区域会指向 BIND 服务器中存储实际区域数据的文件(如
/var/named目录下的文件)。 -
命名由来:文件名中的
rfc1912来源于 RFC 1912,该 RFC 描述了 DNS 的惯例和建议配置。虽然文件名带有rfc1912,但实际上你可以根据需要定义任何区域。 -
示例:
在这个例子中,example.com被定义为一个正向区域,而0.168.192.in-addr.arpa被定义为反向区域。zone "example.com" IN {type master;file "example.com.db";allow-update { none; }; };zone "0.168.192.in-addr.arpa" IN {type master;file "192.168.0.db";allow-update { none; }; };
3. /var/named/named.localhost:
-
描述:这是一个区域数据文件,用于存储与特定区域相关的 DNS 记录信息。在 BIND 中,区域数据文件通常存放在
/var/named/目录下。named.localhost文件通常包含本地回环地址(localhost)的 DNS 记录。 -
用途:
- 该文件定义了
localhost区域的 DNS 记录,用于将localhost域名解析为 127.0.0.1(IPv4)或 ::1(IPv6),这是标准的回环地址,用于在本地测试网络应用。
- 该文件定义了
-
文件内容:文件内通常包含 SOA(Start of Authority)、NS(Name Server)、A(Address)等 DNS 记录。
-
命名由来:
named.localhost文件名通常用于表示该文件是专门为localhost区域服务的 DNS 数据文件,但你也可以使用自定义的文件名。 -
示例:
在这个示例中,localhost被解析为 IPv4 地址127.0.0.1和 IPv6 地址::1,SOA 记录定义了该区域的起始信息。$TTL 1D @ IN SOA localhost. root.localhost. (2023010101 ; Serial1D ; Refresh1H ; Retry1W ; Expire3H ) ; Minimum TTL@ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1
4./etc/logrotate.d/named
- 功能: 控制 BIND 日志文件的轮转,确保日志文件不会无限增大。
- 内容: 包含日志文件的位置、轮转频率、压缩方式等设置。
5./etc/named.iscdlv.key
- 功能: 存储 ISC DLV(DNSSEC Look-aside Validation)密钥,用于验证 DNSSEC 签名。
- 内容: 包含特定格式的密钥条目,确保 DNSSEC 功能的正常运行。
6./etc/named.root.key
- 功能: 存储 DNS 根区(Root Zone)的 DNSSEC 验证密钥。
- 内容: 用于验证根区 DNSSEC 签名的可信任密钥。
7./etc/rndc.conf
- 功能: 配置
rndc(远程名称守护进程控制)工具,用于管理 BIND 服务器。 - 内容: 包含服务器地址、端口、密钥等配置,用于安全地远程控制 BIND。
8./etc/rndc.key
- 功能: 存储
rndc工具的共享密钥,用于身份验证。 - 内容: 包含密钥字符串,用于确保
rndc与 BIND 的通信安全。
9./etc/sysconfig/named
- 功能: 控制 BIND 服务的启动参数。
- 内容: 包含服务启动时使用的选项,如运行用户、配置文件路径等。
10./var/named/named.ca
- 功能: 根提示文件,包含根 DNS 服务器的 IP 地址。
- 内容: 用于指导 DNS 查询的递归过程,指向根服务器。
11./var/named/named.empty
- 功能: 空区域文件,用于防止对未配置区域的查询返回错误数据。
- 内容: 包含一个空的 SOA 记录,确保未配置区域安全响应。
12./var/named/named.loopback
- 功能: 区域数据文件,用于本地主机(localhost)的 DNS 查询。
- 内容: 包含指向 127.0.0.1 的 A 记录,确保本地回环地址的解析。
注:图片来源于网络,侵删。
相关文章:
构建域名服务器-BIND:Linux端的安装过程及配置文件详解
文章目录 构建域名服务器工具-BINDBIND的安装BIND配置文件详解1. /etc/named.conf:2. /etc/named.rfc1912.zones:3. /var/named/named.localhost:4./etc/logrotate.d/named5./etc/named.iscdlv.key6./etc/named.root.key7./etc/rndc.conf8./e…...
linux查询目录文件基础操作
基础命令 展示所有目录 ls 长格式列出(显示文件权限、所有者、大小和最后修改时间): ls -l 忽略大小写查询 ls | grep -i name 查找特定名称的文件: find /path/to/search -name "filename" 忽略大小写查找文件&#…...
搭建TestBench,收藏这几条基本框架就够了
Verilog功能模块HDL设计完成后,并不代表设计工作的结束,还需要对设计进行进一步的仿真验证。掌握验证的方法,即如何调试自己的程序非常重要。在RTL逻辑设计中,要学会根据硬件逻辑来写测试程序即写Testbench。Verilog测试平台是一个…...
怎么利用住宅代理提高数据抓取效率
在大数据时代,数据抓取已经是从互联网收集数据的关键手段,得到了广泛的应用。不论是网络营销、电商平台、或者是新闻网站,数据抓取都可以帮助企业或者是个人收集到大量的数据。但是随着反爬虫技术的不断发展,传统的爬虫方法已经不…...
c#中的ManuaResetEvent
在C#中,ManualResetEvent 是一个同步事件,用于线程间通信。它允许一个或多个等待的线程等待某个事件的发生。当事件被设置为已发生(或称为“信号”)状态时,所有等待的线程都会被释放,并且可以继续执行。 以…...
EE trade:黄金投资的利弊与要点
黄金投资作为一种相对传统的投资途径,存在着特定的优势与风险。接下来详细剖析一下黄金投资的优缺点。 1、黄金投资的优点 有效对抗通货膨胀 在通货膨胀时期,黄金往往能有出色的表现,其价值通常会上升,如此一来便能够为投资者提…...
数据仓库模型评估的标准
面试中,肯定有数仓同学被问到:数据模型如何去评估、如何优化,那今天就聊一聊这个话题。 基本概念 模型:表达的是某一个主题、某一个业务过程,赋值业务价值,最终落地还是一个建表的过程 数仓模型…...
121231
实打实大苏打...
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
目录 🍔 逻辑回归应用场景 🍔 极大似然估计 2.1 为什么要有极大似然估计? 2.2 极大似然估计步骤 2.3 极大似然估计的例子 🍔 Sigmod函数模型 3.1 逻辑斯特函数的由来 3.2 Sigmod函数绘图 3.3 进一步探究-加入线性回归 3…...
网络热门编程项目导学:黑马点评
本文作者:程序员鱼皮 免费编程学习 - 编程导航网:https://www.code-nav.cn 大家好,我是鱼皮。 之前已经给大家分享了三个全栈项目,比如瑞吉外卖什么的,这几个项目都是侧重于带大家学习框架的运用、以及一些简单的业务…...
如何在本地和远程删除 Git 分支?
如何在本地和远程删除 Git 分支? 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.n…...
08 STM32 DMA
DMA 协助CPU,完成数据转运工作。 两个程序: DMA数据转运,DMAAD多通道 DMA数据转运,将使用DMA,进行存储器到存储器的数据转运,也就是把一个数组里面的数据,复制到另一个数组里。 定义一个数组D…...
LLM之基于llama-index部署本地embedding与GLM-4模型并初步搭建RAG(其他大模型也可,附上ollma方式运行)
前言 日常没空,留着以后写 llama-index简介 官网:https://docs.llamaindex.ai/en/stable/ 简介也没空,以后再写 注:先说明,随着官方的变动,代码也可能变动,大家运行不起来,可以进…...
Python 异步爬虫:高效数据抓取的现代武器
标题:“Python 异步爬虫:高效数据抓取的现代武器” 在当今信息爆炸的时代,网络爬虫已成为数据采集的重要工具。然而,传统的同步爬虫在处理大规模数据时往往效率低下。本文将深入探讨如何使用 Python 实现异步爬虫,以提…...
【数据结构算法经典题目刨析(c语言)】使用数组实现循环队列(图文详解)
💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一.题目描述 二.解题思路 1.循环队列的结构定义 2.队列初始化 3.判空 4.判满 5.入队列 6.出队列 7.取队首元素 8.取队尾元素 三.完整代码实…...
PTA L1-005 考试座位号
L1-005 考试座位号(15分) 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生…...
软件测试3333
禅道? 学习正则表达式 目标: 能说出软件测试缺陷判定标准 能说出项目中缺陷的管理系统 能使用Excel对于缺陷进行管理 能使用工具管理缺陷 一、用例执行 说明:用例执行不通过,执行结果与用例的期望结果不一致(含义&…...
JJJ:结构体定义中常加的后缀:attribute ((packed))
__attribute__ ((packed)): 的作用就是告诉编译器取消结构体在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关 在GCC下:struct my{ char ch; int a;} sizeof(int)4…...
【HTML】DOCTYPE作用
<!DOCTYPE html> DOCTYPE是document type(文档类型)的缩写。是HTML5中一种标准通用标记语言的文档类型声明,告诉浏览器文档的类型,便于解析文档。不同渲染模式会影响浏览器对CSS代码甚至JS脚本的解析。它必须声明在第一行。…...
STM32学习记录-04-EXTI外部中断
1 中断系统 (1)中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
