构建域名服务器-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暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
