0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux Bind DNS服务解析

马哥Linux运维 来源:博客园RichardLuo 2025-01-20 14:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux基础服务——Bind DNS服务 Part1

DNS正向解析

实验环境:

CentOS8.3.2011 IP地址:192.168.100.50
VMware虚拟环境 NAT网段
需要解析的区域为 test.com

环境准备

Yum源配置(略),安装net-tools vim等常用工具。

highlighter- code-theme-dark Bash

[root@localhost ~]# yum install -y vim net-tools bind bind-utils
Last metadata expiration check: 007 ago on Thu 03 Jun 2021 0803 AM EDT.
Package vim-enhanced-2:8.0.1763-15.el8.x86_64 is already installed.
Package net-tools-2.0-0.52.20160912git.el8.x86_64 is already installed.
Package bind-32:9.11.20-5.el8.x86_64 is already installed.
Package bind-utils-32:9.11.20-5.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

关闭SElinux与防火墙(防火墙可选择开放相应服务或端口

highlighter- code-theme-dark Bash

[root@localhost ~]# setenforce 0(临时关闭SElinux,重启系统后SElinux将回到Enforcing状态)
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld(关闭防火墙与禁止防火墙开启自启动)

永久关闭SElinux方法

highlighter- code-theme-dark Bash

[root@localhost ~]# vim /etc/sysconfig/selinux

将文件内的SELINUX=enforcing改为SELINUX=disabled

防火墙配置

highlighter- code-theme-dark Bash

[root@localhost ~]# firewall-cmd --add-service=dns --permanent
[root@localhost ~]# firewall-cmd --reload

(亦可开放tcp与udp53端口,若使用rndc则需开启tcp/953端口)

实验步骤

Bind主配置文件为/etc/named.conf,DNS区域文件存储与/var/named下,服务名称为named,服务账户为named,首先配置主配置文件。

highlighter- code-theme-dark Bash

[root@localhost ~]# vim /etc/named.conf

主配置文件默认分为options中的全局设置、logging的日志设置 、zone定义的区域设置和include包含其他的配置文件。
先查看下列的部分全局设置。
4ec4bebe-d666-11ef-9310-92fbcf53809c.png

默认服务监听在IPV4和IPV6的本地环回的53端口上(TCP/UDP),并定义了服务所使用的文件与目录,指定了允许访问的主机,这些选项根据实际需要进行修改。我们将服务监听所有地址上、并允许任何主机进行访问。如下图所示。
4edaa738-d666-11ef-9310-92fbcf53809c.png

对于日志的配置先按下不提,对于test.com这个域进行解析则需要先定义该区域。
如下图,默认配置已经定义了根(hint)区域,并包含了其他文件中预定义的区域。
4eed504a-d666-11ef-9310-92fbcf53809c.png

我们可以直接在主配置文件中定义,也可以进入其他的配置文件进行定义(不建议进入默认的引入的配置文件定义区域),此处在主配置文件中进行定义。注意配置时行末需要添加分号
4f0071ca-d666-11ef-9310-92fbcf53809c.png

zone后跟双引号内的内容为区域名称
区域内的参数,type为区域类型。区域分为大致四个类型,分别是:

Forward(转发)

master(主)

salve(从)

hint(根)

file指的是区域文件保存的位置,默认路径是相对于/var/named目录下的。
此时对主配置文件的操作已经结束了

区域文件编写

接下来编写区域文件,进入/var/named目录

highlighter- code-theme-dark CSS

[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

默认/var/named目录具有以上内容,salves用于存放从域的区域文件,named.ca存放dns的根服务器的信息,一般编写区域文件可以复制named.localhost文件的内容开始,修改该文件的内容。

highlighter- code-theme-dark Bash

[root@localhost named]# cp named.localhost test.com.zones
[root@localhost named]# vim test.com.zones

4f11922a-d666-11ef-9310-92fbcf53809c.png
默认文件内容如上

对于@符号的意义如下(Bind官网文档),可以理解为这里的@为区域名称后加上一个. 在这里的意思为test.com.

4.3.5.1. The @ (at-sign)
When used in the label (or name) field, the asperand or at-sign (@) symbol represents the current origin. At the start of the zone file, it is the , followed by a trailing dot (.).

第一行的$TTL设置了DNS信息的TTL 默认为1天
第二行则是本区域的SOA记录,SOA这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。
紧随SOA的@代表着该区域的主DNS服务器,之后配置中我们将会替换该值,rname.invalid.为区域管理员的邮箱,邮箱地址中的@符号使用.进行替换。在后续括号中的内容则为其他的DNS相关信息。

NS记录指定了那些主机能够为该域提供解析。

A记录则是指定域名与IP地址关系的记录。

AAAA则是IPV6的解析。
记录的一般形式为 [域名] [类型] [IP地址]
若域名为空,则会自动填充@在其中。

下面进行配置,结果如下图。
4f1b2a88-d666-11ef-9310-92fbcf53809c.png

为什么部分A记录采用的是完全合格域名(FQDN),其他的则只需要整个域名的其中一部分呢?它们之间并没有区别,因为在区域文件中隐藏着一个变量——$ORIGIN。
这个变量实际上代表着区域名称后跟一个.(英文句点),它会对不是完全合格域名的记录进行补齐。
所以实际上NS记录的完整形式是 test.com. NS dns.test.com.
这样减轻了配置量,也使配置文件的可读性提高了,简单的区域文件编写完毕,可以启动服务以提供解析服务。

启动服务与功能检测

highlighter- code-theme-dark Bash

[root@localhost named]# chgrp named test.com.zones

修改文件所有者以使得named账户可读。
[root@localhost named]# systemctl enable --now named(开启自启服务并启动服务)

使用主机测试DNS解析是否正常。(解析成功)
4f3357de-d666-11ef-9310-92fbcf53809c.png

链接:https://www.cnblogs.com/RichardLuo/p/DNS_P1.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217977
  • 虚拟环境
    +关注

    关注

    0

    文章

    30

    浏览量

    9143
  • DNS服务
    +关注

    关注

    0

    文章

    2

    浏览量

    1506

原文标题:Linux基础服务——Bind DNS服务 Part1

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在Linux中配置DNS服务

    本文详细介绍了如何在Linux中配置DNS服务器,包括DNS工作原理、本地缓存、DNS查询过程,以及正向和反向查询的配置。步骤包括
    的头像 发表于 05-09 13:38 2314次阅读
    如何在<b class='flag-5'>Linux</b>中配置<b class='flag-5'>DNS</b><b class='flag-5'>服务</b>器

    如何解决DNS解析错误故障

    “successfullyflushedthednsresolvercache”的提示时就说明当前计算机的缓存信息已经被成功清除。接下来所有的DNS缓存都会重新加载。小知识:DNS解析就是把你的域名
    发表于 09-29 15:14

    LinuxDNS服务器配置分析

    很多平台平台提供云解析功能,所谓的云解析就是一个DNS服务器,一般情况下,在域名的提供商购买一个域名之后,会指定一个NS记录,例如,在域名的提供商购买一下域名miner-k.com.需
    发表于 07-17 08:14

    DNS攻击防范科普系列1》—你的DNS服务器真的安全么?

    DNS服务器会造成哪些威胁。DNS劫持是指攻击者在劫持的网络范围内拦截域名解析的请求,篡改了某个域名的解析结果。比如用户本来想访问www.
    发表于 10-16 15:21

    Win 2000中DNS服务器的设置

    Win 2000中DNS服务器的设置  DNS Domain Name Service是域名解析服务,是一种组织成域层次结构的计算机和网络
    发表于 02-01 11:51 979次阅读

    Linux中如何配置DNS

    ----DNS的功用是把计算机的名称转换为 IP地址。DNS的使用简化了系统管理员及客户对主机文件的操作和维护。 Intranet服务器的系统配置 ----硬件配置:Pentium 133 CPU
    发表于 11-07 10:44 3次下载

    Linux DNS 服务器安装、配置和维护的详细解析

    DNS 协议所要完成的功能。 今天我们将讨论DNS服务器,特别是Linux DNS服务
    的头像 发表于 12-18 15:08 7800次阅读

    解读DNS服务器以及保护的方法

    域名服务器保存着域名及其对应的IP地址,从而实现实现域名解析及IP之间的解析。那么,怎么保护DNS服务器?小编为大家介绍了
    发表于 01-14 09:21 2807次阅读
    解读<b class='flag-5'>DNS</b><b class='flag-5'>服务</b>器以及保护的方法

    linux无法解析域名怎么办

    由于linux中没有DNS导致无法解析域名。
    发表于 05-21 09:23 2522次阅读
    <b class='flag-5'>linux</b>无法<b class='flag-5'>解析</b>域名怎么办

    虚拟机:Linux查看DNS服务器IP地址的方法

    虚拟机:Linux查看DNS服务器IP地址的方法
    的头像 发表于 06-22 15:12 1.5w次阅读
    虚拟机:<b class='flag-5'>Linux</b>查看<b class='flag-5'>DNS</b><b class='flag-5'>服务</b>器IP地址的方法

    DNS服务器和DNS服务器地址是什么

    今日就来同大家分享什么是DNS服务器地址,DNS服务器地址怎么找,帮助大家更了解DNS服务器。首
    的头像 发表于 03-30 15:57 9953次阅读

    如何在 Linux 上查看本地 DNS 缓存

      刷新本地 DNS 缓存可以解决 HTTP 错误并保护您免受 DNS 欺骗。以下是在 Linux 上执行此操作的方法。 当您使用域名访问网站时,您的系统会向 DNS
    的头像 发表于 06-26 10:52 4201次阅读
    如何在 <b class='flag-5'>Linux</b> 上查看本地 <b class='flag-5'>DNS</b> 缓存

    DNS服务器是什么?有哪些类型?

    ,小编我给大家分析一下DNS服务器是什么?有哪些类型? 一、DNS服务器是什么? DNS服务器是
    的头像 发表于 08-14 17:40 3328次阅读

    【教程】DNS域名解析服务systemd-resolved使用指南

    1.关于DNS解析服务DNS(DomainNameSystem),即域名系统。一句话总结DNS解析
    的头像 发表于 01-09 19:34 2116次阅读
    【教程】<b class='flag-5'>DNS</b>域名<b class='flag-5'>解析</b><b class='flag-5'>服务</b>systemd-resolved使用指南

    深度解析Linux中的DNS服务

    dns,Domain Name Server,它的作用是将域名解析为 IP 地址,或者将IP地址解析为域名。
    的头像 发表于 04-09 16:13 688次阅读