构建域名服务器-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 Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...