Linux进阶_DNS服务和BIND之实战案例篇

2023-11-06

1 实战案例:实现DNS正向主服务器

1.1 实验目的

搭建DNS正向主服务器,实现web服务器基于FQDN的访问

1.2 环境要求

需要三台主机
DNS服务端:10.0.0.8
web服务器:10.0.0.7
DNS客户端:10.0.0.6

1.3 前提准备

关闭SElinux
关闭防火墙
时间同步

1.4 实现步骤

1.4.1 在DNS服务端安装bind

yum install bind -y

1.4.2 修改bind 配置文件

vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 {
    127.0.0.1; };
// allow-query {
    localhost; };

vim /etc/named.rfc1912.zones
#加上下面内容
zone "magedu.org" IN {
   
	type master;
	file "magedu.org.zone";
};

1.4.3 DNS区域数据库文件

cp -p /var/named/named.localhost /var/named/magedu.org.zone
#如果没有加-p选项,需要修改所有者或权限。chgrp named magedu.org.zone

vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
				2019042210 ; serial
				1D ; refresh
				1H ; retry
				1W ; expire
				3H ) ; minimum
		NS master
master  A 192.168.8.8
www 	A 192.168.8.7

1.4.4 检查配置文件和数据库文件格式,并启动服务

named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone

systemctl start named 	#第一次启动服务
rndc reload 			#不是第一次启动服务

1.4.5 实现WEB服务

#安装http服务
yum install httpd
#配置主页面
echo www.magedu.org > /var/www/html/index.html
#启动服务
systemctl start httpd

1.4.6 在客户端实现测试

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.8.8
#centos7 以上版执行现下面命令生效
nmcli con reload
nmcli con up eth0
#centos 6 执行下面命令生效
service network restart
#有以下记录,算是成功
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.8.8

#测试网页,能显示就是成功
curl www.magedu.org
www.magedu.org

2 实战案例:实现DNS从服务器

2.1 实验目的

搭建DNS主从服务器架构,实现DNS服务冗余

2.2 环境要求

需要四台主机
DNS主服务器:192.168.8.8
DNS从服务器:192.168.8.18
web服务器:192.168.8.7
DNS客户端:192.168.8.6

2.3 前提准备

关闭SElinux
关闭防火墙
时间同步

2.4 实现步骤

2.4.1 主DNS服务端配置(参看前面案例)

yum install bind -y

vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 {
    127.0.0.1; };
// allow-query {
    localhost; };

#只允许从服务器进行区域传输
allow-transfer {
    从服务器IP;};

vim /etc/named.rfc1912.zones
#加上这段
zone "magedu.org" {
   
	type master;
	file "magedu.org.zone";
};

cp -p /var/named/named.localhost /var/named/magedu.org.zone
#如果没有-p,需要改权限。chgrp named magedu.org.zone

vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
				1 ; serial
				1D ; refresh
				1H ; retry
				1W ; expire
				3H ) ; minimum
			NS master
			NS slave
master 		A 192.168.8.8
slave 		A 192.168.8.18

systemctl start named 	#第一次启动服务
rndc reload 			#不是第一次启动服务

2.4.2 从DNS服务器配置

yum install bind -y

vim /etc/named.conf
// listen-on port 53 {
    127.0.0.1; };
// allow-query {
    localhost; };

#不允许其它主机进行区域传输
allow-transfer {
    none;};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux进阶_DNS服务和BIND之实战案例篇 的相关文章

  • Linux 源代码中的哪个位置会识别特定的 USB 设备?

    我有一个特定的 USB 设备 我想检查其 Linux 驱动程序源代码 我的理解是 USB 驱动程序执行的第一步是注册自己能够处理具有特定供应商 ID 和产品 ID 的设备 就我而言 供应商 ID 是0BDA产品 ID 是8187 有了这些信
  • MYSQL插入GB大小的巨大SQL文件

    我正在尝试创建 Wikipedia DB 副本 大约 50GB 但在处理最大的 SQL 文件时遇到问题 我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块 例如 split d l 50 enwiki 2
  • 模拟用户输入以使用不同参数多次调用脚本

    我必须使用提供的脚本 该脚本在脚本运行时接受用户输入而不是参数 我无法解决这个问题 脚本的一个例子是 bin bash echo param one read one doSomething echo param two read two
  • libusb 和轮询/选择

    我正在使用 Linux 操作系统 想知道是否有任何文件描述符可以轮询 选择 当数据等待从 USB 设备读取时会触发这些文件描述符 我也在使用 libusb 库 但尚未找到可以使用的文件描述符 Use libusb 的轮询函数 http li
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • git-http-backend 与 AuthzUnixGroup 无法正常工作

    我正在尝试在 CentOS 6 机器上的 Apache 2 2 上设置一个 git 存储库 并安装了 git 我尝试过许多不同的方向 但我却不知所措 我目前的情况包括能够clone正常 但完全无法推动 似乎我无法使身份验证位正常工作 因为我
  • 在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用”

    我正在使用Linux Ubuntu 12 04 https en wikipedia org wiki Ubuntu version history Ubuntu 12 04 LTS 28Precise Pangolin 29 Precis
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • Linux下的C#,Process.Start()异常“没有这样的文件或目录”

    我在使用 Process 类调用程序来启动程序时遇到问题 可执行文件的层次结构位于 bin 目录下 而当前工作目录需要位于 lib 目录下 project bin a out this is what I need to call lib
  • Composer 已安装,但获取 /usr/bin/env: php: No such file or directory

    在 CentOS 7 上 我安装了 PHP 7 1 然后我安装了作曲家 cd tmp curl sS https getcomposer org installer php71 gt used php71 instead of php ph
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • 从 Linux 命令行发送 SNMP 陷阱消息

    Folks 我需要从 Linux 命令行使用此命令 snmptrap 将自定义消息发送到陷阱侦听器 我需要根据用户设置在 v1 和 v2c 中发送相同的消息 这是我发现的 For v1 snmptrap v 1 c Tas hostname
  • 跟踪 pthread 调度

    我想做的是创建某种图表 详细说明 Linux 中 两个 线程的执行情况 我不需要查看线程的作用 只需查看它们何时被安排以及持续多长时间 基本上是一条时间线 在过去的几个小时里 我一直在互联网上搜索跟踪 pthread 调度的方法 不幸的是
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 使用 C++ 输出字符串覆盖 Linux 终端上的最后一个字符串

    假设我有一个命令行程序 有没有办法让我说的时候 std cout lt lt stuff 如果我不做std cout lt lt n 在另一个之间std cout lt lt stuff 东西的另一个输出将覆盖同一行上的最后一个东西 清理行
  • 测试linux下磁盘空间不足

    我有一个程序 当写入某个文件的磁盘空间不足时 该程序可能会死掉 我不确定是否是这种情况 我想运行它并查看 但我的测试服务器不会很快耗尽空间 有什么办法可以嘲笑这种行为吗 看起来没有任何方法可以在 Ubuntu 中设置文件夹 文件大小限制 并
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te

随机推荐

  • 0101日志-运维-mysql

    1 错误日志 错误日志 Error Log 错误日志记录了MySQL引擎在运行过程中出现的错误和异常情况 这些错误可能包括启动和关闭问题 数据库崩溃 权限问题等 错误日志对于排查和解决MySQL引擎问题非常有帮助 改日志默认开启 默认存放目
  • 知识科普:什么是AGI?

    原文链接 最近ChatGPT大火 火到原来卖酒卖保险的人也都开始直播聊ChatGPT了 其中大家或多或少会提到一个词 AGI 看清楚不是GAI也不是AIGC 今天就和大家聊聊AGI是什么 AGI最近经常被提到 主要是因为ChatGPT的开发
  • 网络编程——TCP

    网络编程 TCP TCP编程 TCP是一种可靠的 基于连接的网络协议 它是面向字节流的 即从一个进程到另一个进程的二进制序列 一条TCP连接需要两个端点 这两个端点需要分别建立各自的套接字 通常一方用于发送请求和数据 称为客户端 另一方用于
  • Pickle 详解

    那么为什么需要序列化和反序列化这一操作呢 1 便于存储 序列化过程将文本信息转变为二进制数据流 这样就信息就容易存储在硬盘之中 当需要读取文件的时候 从硬盘中读取数据 然后再将其反序列化便可以得到原始的数据 在Python程序运行中得到了一
  • STM32开发(十九)STM32F103 数据手册 —— 低功耗模式解析

    上一篇 主目录 下一篇 文章目录 低功耗介绍 stm32 供电框图 低功耗模式 睡眠模式 停止模式 待机模式 低功耗模式汇总 低功耗介绍 系统复位或上电复位后 微控制器进入运行模式 在运行模式下 CPU通过HCLK提供时钟 并执行程序代码
  • Apollo学习笔记(21)图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析

    首先奉上大神链接 https www cnblogs com qzhc p 10291430 html 由于最近在看轨迹规划的资料 图遍历是基础 故拜读了大神的一些文章 在此记录 深度优先遍历 深度优先遍历 Depth First Sear
  • Vim常用操作快捷键记录

    经常忘记vim的一些操作快捷键 现在将其记录起来 方便以后查阅 这里定义以文本右方向为前 文本左方向为后 上下左右方向键 k j h l 以 字 为步长向前跳动 到达字首 w 以 字 为步长向后跳动 到达字首 b 以 字 为步长向前跳动 到
  • 共享计算机的网络凭证,win10设置共享文件夹时显示要网络凭证

    一 共享文件夹所在电脑设置 1 右键我的电脑 管理 系统工具 本地用户和组 用户 中间空白区域右键 新用户 2 输入自设的用户名和密码 如图勾选 创建 3 右键需要共享的文件见 安全 编辑 4 点击添加 5 输入新建的用户名 test 检查
  • 失业的程序员(九):正文篇:创业就是一场戏

    http www shenyisyn org 2013 04 23 tjp 2 htm 一 正文 跨入电商 说到我家人 我父母都是小学教师 对我从小管教无比严厉 他们希望我将来也能子承父业或者母业 并且更希望将来我的子女也能如此继承着 用句
  • 【1002】写出这个数

    题目链接 写出这个数 算法 include
  • 【数据集处理】WiderPerson介绍以及转YOLO格式(图片教程及代码----超详细)

    WiderPerson转YOLO格式 WiderPerson介绍 原论文中数据信息 下载后的文件样式 Annotations WiderPerson转YOLO 数据集下载地址 转格式以及选取类别 关于txt文件的处理 直接运行 生成yolo
  • 【网络安全】黑客自学笔记

    1 前言 作为一个合格的网络安全工程师 应该做到攻守兼备 毕竟知己知彼 才能百战百胜 计算机各领域的知识水平决定你渗透水平的上限 1 比如 你编程水平高 那你在代码审计的时候就会比别人强 写出的漏洞利用工具就会比别人的好用 2 比如 你数据
  • Feign远程调用注意事项

    Feign 远程查询失败 不需要回滚 CPU密集型和 IO密集型 CPU涉及的是计算能力 IO是文件读取类型的这种
  • 共识算法 --- PBFT、Raft和Paxos

    目录 一 Raft共识算法 1 什么是Raft 2 Raft的工作流程 3 Raft的相关应用 4 Raft的缺陷 5 Raft中三个子问题 5 1 Leader选举 Election 5 1 1 节点的三种角色 5 1 2 选举过程 5
  • 字节是真的难进,测开4面终上岸,压抑5个月,终于可以放声呐喊

    这次字节的面试 给我的感触很深 意识到基础的重要性 一共经历了五轮面试 技术4面 HR面 下面看正文 本人自动专业毕业 压抑了五个多月 终于鼓起勇气 去字节面试 下面是我的面试过程 很多面试题 都是靠记忆写的 希望能帮助到大家 致那些努力的
  • http各个版本的区别

    http进化史 http0 9 只有GET请求 也不支持请求头信息 请求信息只有下面一行 GET www baidu com http1 0 在请求中指定版本号 支持GET POST HEAD http1 1 http1 1新增了 OPTI
  • 进制压缩加密_token参数

    进制压缩加密 token参数 网址 https sh meituan com meishi c17 进入抓包 查看要获取的数据 可以在请求地址 找到 getPoiList 的请求链接 请求参数有多个 但是多次请求对比发现只有 token 参
  • LeetCode:118(Python)—— 杨辉三角(简单)

    杨辉三角 概述 给定一个非负整数 numRows 生成 杨辉三角 的前 numRows 行 在 杨辉三角 中 每个数是它左上方和右上方的数的和 输入 numRows 5 输出 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入
  • 超经典!分割任务数据集介绍。

    文章目录 前言 一 IRSTD 1k 二 Pascal VOC2012 1 数据简介 2 分割任务数据集介绍 三 iSAID 总结 前言 在探索网络的过程中 比较基础和重要的工作是了解数据 今天来总结下我目前使用过的分割任务数据集 本博文将
  • Linux进阶_DNS服务和BIND之实战案例篇

    成功不易 加倍努力 1 实战案例 实现DNS正向主服务器 2 实战案例 实现DNS从服务器 3 实战案例 实现DNS forward 缓存 服务器 4 实战案例 利用view实现智能DNS 5 实战案例 综合案例 实现Internet 的D