在CentOS 6上安装BIND DNS服务器的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

本文介绍的是不再受支持的 CentOS 版本。如果您目前正在运行 CentOS 6 服务器,我们强烈建议升级或迁移到受支持的 CentOS 版本。

原因: CentOS 6 已于2020年11月30日到达生命周期终点(EOL),不再接收安全补丁或更新。因此,本指南不再维护。

请参阅替代方案:
本指南可能仍然作为参考有用,但可能不适用于其他 CentOS 版本。如果有的话,我们强烈建议使用针对您正在使用的 CentOS 版本编写的指南。

前言

本文将向您展示如何设置和配置 BIND DNS 服务器。如果您正在寻找有关如何使用 DigitalOcean 集成的 DNS 服务的指南,您可能希望查看“如何在 DigitalOcean 上设置主机名”文章。

在开始之前,建议您至少拥有两个云服务器来运行您的域名服务器。建议使用两个域名服务器以确保在发生故障时您的主服务器和辅助服务器具有冗余性。您可能还希望考虑使用两个不同的 POP。例如,我们使用了旧金山 1 和纽约 1。在本指南中,我们假设您正在配置主域名服务器和辅助域名服务器。

与任何新服务器一样,确保您的系统始终是最新的非常重要。您可以通过以下方式使用 yum 检查更新来验证这一点:

yum update -y

(注:在 DigitalOcean 中,我们将我们的云服务器称为“droplets”。在本教程中,我们将两个术语都使用)

初始 BIND 安装

首先,我们需要使用 yum 安装 BIND 和 BIND Utilities 软件包。

yum install bind bind-utils -y

接下来,我们将打开 BIND(named)配置文件并进行多处修改。

nano -w /etc/named.conf

您的“options”部分应如下所示,将 2.2.2.2 替换为您第二个 droplet 的 IP。

options {#listen-on port 53 { 127.0.0.1; };listen-on-v6 port 53 { ::1; };directory	"/var/named";dump-file	"/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query { any; };allow-transfer     { localhost; 2.2.2.2; };recursion no;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;/* Path to ISC DLV key */bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};

上面,listen-on 必须被注释以监听所有可用接口。关闭递归以防止您的服务器被滥用进行“反射”DDoS 攻击。allow-transfer 指令将辅助 droplet 的 IP 加入白名单以进行传输。此外,我们已将 allow-query 指令更改为“any”,以便允许用户适当访问托管区域。

接下来,我们将为我们的第一个域名添加一个新区域,在现有区域下方添加以下内容。

        zone "mydomain.com" IN {type master;file "mydomain.com.zone";allow-update { none; };};

保存带有上述更改的 named.conf 后,我们准备创建我们的第一个区域文件。

配置 BIND 区域

首先,我们需要打开区域文件,使用您在上面的配置中指定的名称(例如:mydomain.com.zone)。

nano -w /var/named/mydomain.com.zone

我们将向我们新创建的文件添加以下内容。您应该用您自己的适用信息替换,其中 1.1.1.1 是您第一个 droplet 的 IP,2.2.2.2 是您第二个 droplet 的 IP,3.3.3.3 是您希望将域名本身指向的 IP,例如运行 web 服务器的 droplet。您可以以相同格式添加其他条目。

$TTL 86400
@   IN  SOA     ns1.mydomain.com. root.mydomain.com. (2013042201  ;Serial3600        ;Refresh1800        ;Retry604800      ;Expire86400       ;Minimum TTL
)
; 指定我们的两个域名服务器IN	NS		ns1.mydomain.com.IN	NS		ns2.mydomain.com.
; 将域名服务器主机名解析为 IP,用您的两个 droplet IP 地址替换
ns1		IN	A		1.1.1.1
ns2		IN	A		2.2.2.2; 定义您希望解析的主机名 -> IP 对
@		IN	A		3.3.3.3
www		IN	A		3.3.3.3

现在我们可以首次启动 named。这可能需要几分钟,因为 named 会生成 rndc.key 文件,这仅在首次执行时发生。

service named restart

一旦 named 成功启动,我们将希望确保它已启用为启动服务,通过运行以下命令:

chkconfig named on

到目前为止,我们应该拥有一个完全运行的主域名服务器。您可以通过运行以下命令验证 BIND 是否正确工作,将 1.1.1.1 替换为您第一个 droplet 的 IP。

dig @1.1.1.1 mydomain.com

如果您收到包含回答和授权部分的响应,则您的域名服务器已正确配置。

配置辅助域名服务器

配置完主域名服务器后,我们现在将在第二个云服务器上设置一个辅助域名服务器。

与第一个云服务器一样,请通过以下方式检查更新以确保您的系统是最新的:

yum update -y

我们可以开始在第二个 droplet 上以与第一个相同的方式安装 BIND(及相关实用程序):

yum install bind bind-utils -y

接下来,我们将打开 named.conf 并进行与之前相同的更改,省略“allow transfer”行。此指令是不必要的,因为我们只会从我们的主域名服务器传输记录。

nano -w /etc/named.conf
options {#listen-on port 53 { 127.0.0.1; };listen-on-v6 port 53 { ::1; };directory	"/var/named";dump-file	"/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query { any; };recursion no;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;/* Path to ISC DLV key */bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};

我们将添加我们在第一个 droplet 上配置的区域,这次将“type”指令更改为“slave”,而不是“master”。您应该用您第一个 droplet 的 IP 地址替换“1.1.1.1”。

zone "mydomain.com" IN {type slave;masters { 1.1.1.1; };file "mydomain.com.zone";
};

配置完我们的辅助区域后,我们将启动 named。同样,这可能需要几分钟,因为我们的 rndc.key 文件在初始生成时会被生成。

service named start

<p与第一个云服务器一样,我们希望确保 named 设置为在启动时运行:

chkconfig named on

您的辅助域名服务器现在应该已经运行。您可以再次使用 dig 验证它是否完全运行,将 2.2.2.2 替换为您第二个 droplet 的 IP。

dig @2.2.2.2 mydomain.com

<p在对主区域文件进行任何更改后,您需要指示 BIND 重新加载。请记住,您还必须增加“serial”指令以确保主服务器和辅助服务器之间的同步。

<p要重新加载区域文件,我们需要在主域名服务器上运行以下命令,然后在辅助域名服务器上运行:

rndc reload

在 chroot 环境中使用 BIND

<p通常建议安装额外的软件包“bind-chroot”,它将 BIND 的权限降低到 chroot 环境。

<p幸运的是,CentOS 软件包使这变得非常简单。唯一值得注意的是,BIND 的活动路径将更改为其 chrooted 等效路径,例如 /var/named 变为 /var/named/chroot/var/named 在 CentOS 6 中,您不需要移动任何文件,因为该软件包会自动创建到非 chrooted 目录的硬链接。

<p如果您希望为其提供的额外安全性启用此功能,可以执行以下操作:

yum install bind-chroot -y
service named restart

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第445题两数相加II

题目&#xff1a; 题解&#xff1a; struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){int stack1[100];int stack2[100];int top1 0;int top2 0;int carry 0;int sum 0;struct ListNode* temp NULL;struct ListNode* head NULL;while (l1) {…

Go语言中的深拷贝:概念、实现与局限

前不久&#xff0c;在“Gopher部落”知识星球[1]上回答了一个Gopher关于深拷贝(Deep Copy)的问题&#xff0c;让我感觉是时候探讨一下深拷贝技术了。 在日常开发工作中&#xff0c;深拷贝的使用频率相对较低&#xff0c;可能有80%的时间不需要使用深拷贝&#xff0c;只有在特定…

行为设计模式 -模板方法模式- JAVA

模板方法模式 一 .简介二. 案例2.1 抽象类&#xff08;Abstract Class&#xff09;2.2 具体子类&#xff08;Concrete Class&#xff09;2.3 测试 三. 结论3.1 优缺点3.2 适用场景3.3 要点 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接…

springboot网上商城源码分享

开头&#xff1a;springboot网上商城 题目&#xff1a;springboot网上商城 主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Mysql|大数据|SSM|SpringBoot|Vue|Jsp|MYSQL等)、学习资料、JAVA源码、技术咨询 文末联系获取 感兴趣可以先收藏起来&#xff0c;以防走丢&…

指针变量作为函数参数

int main() {char* LPFileBuffer NULL;//接收堆区的指针变量const char* m_fileName "E:\\c\\windowspad.exe";//一个char*的指针变量if (!ReadExeFile(m_fileName, LPFileBuffer)){return -1;}} //接收两个char*变量 OOL ReadExeFile(__in const char* m_fileName…

【初阶数据结构】排序——选择排序

目录 前言选择排序堆排序 前言 对于常见的排序算法有以下几种&#xff1a; 下面这节我们来看选择排序算法。 选择排序 基本思想&#xff1a;   每一次从待排序的数据元素中遍历选出最大&#xff08;或最小&#xff09;的元素放在序列的起始位置&#xff0c;直到全部待排序…

第三节-类与对象(中)

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类&#xff08;空类大小为1&#xff09;。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;…

老板最想要的20套模板!基于 VUE 国产开源 IoT 物联网 Web 可视化大屏设计器

如有需求&#xff0c;文末联系小编 Cola-Designer 是一个基于VUE开发&#xff0c;实现拖拽和配置方式生成数据大屏&#xff0c;提供丰富的可视化模板&#xff0c;满足客户业务监控、数据统计、风险预警、地理信息分析等多种业务的展示需求。Cola-Designer 帮助工程师通过图形化…

市场调研利器 网络问卷的优势及面临的挑战

网络问卷作为市场调研工具&#xff0c;高效便捷、成本低廉、数据准确度高且灵活多样。但其低响应率、数据偏差、隐私与安全及技术依赖等挑战也需关注。企业应优化调研方法&#xff0c;应对挑战&#xff0c;以获取全面市场信息。 一、网络问卷的优势 首先&#xff0c;我们来分析…

S32K312 RTD 4.0.0 版本 OCU 例程配置流程说明

一、前言 由于 RTD 4.0.0 版本并没有 S32K312 相关例程&#xff0c;本文基于已有的 S32K344 OCU 例程&#xff0c;新建 S32K312 工程&#xff0c;讲解 OCU 例程的相关配置流程。 二、基本概念 OCU&#xff08;Output Compare Unit – 输出比较单元&#xff09;本质上是一个计…

揭开量子计算和加密未来的秘密

加密保护您的数据 您是否想知道如何保证您的在线数据安全&#xff1f;这就是加密的作用所在。加密是一种使用秘密代码更改数据的过程。这些更改只能由拥有正确密钥的接收者解码和读取。 加密是保护敏感和个人信息安全的重要工具。使用加密的一些示例包括信用卡详细信息、消息…

24-9-28-读书笔记(二十)-《契诃夫文集》(四)上([俄] 契诃夫 [译] 汝龙 )

文章目录 《契诃夫文集》&#xff08;四&#xff09;上&#xff08;[俄] 契诃夫 [译] 汝龙 &#xff09;目录阅读笔记记录总结 《契诃夫文集》&#xff08;四&#xff09;上&#xff08;[俄] 契诃夫 [译] 汝龙 &#xff09; 时间过得好快啊&#xff0c;马上又要十月份了&#x…

解读文本嵌入:语义表达的练习

【引子】近来在探索并优化AIPC的软件架构&#xff0c;AI产品经理关于语义搜索的讨论给了自己较多的触动&#xff0c;于是重新梳理嵌入与语义的关系&#xff0c;遂成此文。 文本转换成机器可理解格式的最早版本之一是 ASCII码&#xff0c;这种方法有助于渲染和传输文本&#xff…

数据结构_2.2、顺序表插入删除查找

1、线性表的顺序存储表示定义&#xff1a; 线性表&#xff1a;是具有相同数据类型的n &#xff08;n≥0&#xff09;个数据元素的有限序列 顺序表&#xff1a;用顺序存储的方式实现线性表 顺序存储&#xff1a;把逻辑上相邻的元素存储在物理 位置上也相邻的存储单元中&#…

深度学习框架的选择:深入比较PyTorch与TensorFlow

深度学习框架的选择&#xff1a;深入比较PyTorch与TensorFlow 前言深度学习框架的起源与发展**PyTorch****TensorFlow** 框架的进化**TensorFlow****PyTorch** 数据对比结论结语 前言 在人工智能的浪潮中&#xff0c;深度学习技术已成为推动行业变革的核心力量。随着技术的不断…

C语言 | Leetcode C语言题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; void swap(char *a, char *b) {char t *a;*a *b, *b t; }void reverse(char *a, char *b) {while (a < b) {swap(a, --b);} }int compress(char *chars, int charsSize) {int write 0, left 0;for (int read 0; read < charsSi…

leetcode_55:跳跃游戏

给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输…

Java基于easyExcel的自定义表格格式

这里用的到easyExcel版本为3.3.4 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.4</version></dependency> 效果 代码部分 package com.tianyu.test;import com.alibaba.exc…

单调递增/递减栈

单调栈 单调栈分为单调递增栈和单调递减栈 单调递增栈&#xff1a;栈中元素从栈底到栈顶是递增的 单调递减栈&#xff1a;栈中元素从栈底到栈顶是递减的 应用&#xff1a;求解下一个大于x元素或者是小于x的元素的位置 给一个数组&#xff0c;返回一个大小相同的数组&#x…

C语言课程设计题目七:学生成绩管理系统设计

题目七&#xff1a;学生成绩管理系统设计 学生成绩信息包括&#xff1a;学期&#xff0c;学号&#xff0c;班别&#xff0c;姓名&#xff0c;四门课程成绩(语文、数学、英语和计算机)等。 主要功能&#xff1a; 能按学期、按班级完成对学生成绩的录入、修改。能按班级统计学生…