Linux DNS服务器BIND配置Linux DNS服务器BIND配置Linux DNS服务器BIND配置Linux DNS服务器BIND配置
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux DNS服务器BIND配置

发表 admin at 2025年2月28日
类别
  • 未分类
标签

BIND DNS 软件是在 Linux 系统上配置名称解析的最可靠且经过验证的方法之一。自 20 世纪 80 年代以来,它一直是当前使用的最流行的域名服务器 (DNS)。本文作为使用 BIND 的 Linux DNS 服务器的快速配置手册。

本文不是对 DNS 的介绍,也不是对该协议工作原理的解释。相反,我们将简单地专注于支持 www 和邮件服务的给定域/主机的自定义区域和配置文件的简单配置。按照以下说明在您自己的服务器上设置和配置 BIND DNS。

警告
在继续安装和配置 BIND 名称服务器之前,请确保 BIND DNS 服务器正是您想要的。在 Debian 或 Ubuntu 上默认设置和执行 BIND 可能需要大约 200MB 的 RAM,并且配置文件中没有添加任何区域。除非您通过各种 BIND“选项”配置设置减少 BIND 的内存使用量,否则请准备好一些备用 RAM 仅用于此服务。如果您为自己的 VPS 服务器付费,这一事实就更加重要。

在本教程中您将学习:

  • 如何在主要 Linux 发行版上安装 BIND

  • 如何创建 DNS 区域文件

  • 如何配置地址到名称映射

  • 如何检查BIND区域文件和配置

  • 如何启动或重新启动BIND DNS服务

  • 如何使用 dig 命令测试 BIND 配置

在 Linux 上配置和测试 BIND 名称服务器

我们的测试环境

在深入了解所有 BIND 配置之前,了解一些有关如何配置网络的背景信息会很有帮助。请参阅以下列表,了解如何将 IP 地址分配给我们网络上的各个系统。

  • 名称服务器IP地址:192.168.135.130

  • 示例域/主机:linuxconfig.org

  • linuxconfig.org 区域的权威名称服务器: ns1.linuxconfig.org ( 192.168.0.10 ) 和 ns2.linuxconfig.org ( 192.168.0.11 )

  • linuxconfig.org 将指向的 www 和邮件服务:192.168.0.10

在主要 Linux 发行版上安装 BIND

安装最新版本 BIND (BIND9) 的最简单方法是使用系统的包管理器。

在 Debian 或 Ubuntu Linux 服务器上,您可以使用以下 linux 命令安装 BIND 名称服务器:

$ sudo apt install bind9 dnsutils

或者在 CentOS、Fedora、AlmaLinux 和其他基于 RHEL 的发行版上使用以下命令:

$ sudo dnf install bind dnsutils

dnsutils 软件不是运行 BIND 名称服务器的必需软件包,但我们将使用此软件包中的 dig 命令作为 BIND 配置的测试工具。

创建 DNS 区域文件

在此阶段,我们需要为 linuxconfig.org 域创建一个新的区域文件。请按照以下步骤操作。

  1. 导航到 /etc/bind/ 目录,然后执行以下命令序列以导航到 zones/master/。

    $ cd /etc/bind
    $ sudo mkdir -p zones/master
    $ cd zones/master/
    
  2. /etc/bind/zones/master 目录将包含 linuxconfig.org 域名的区域文件。如果您希望使用另一个目录来保存此文件,您可以随意这样做。以下名为 db.linuxconfig.org 的区域文件将保存 DNS 记录,以协助名称服务器将完全限定的域名解析为 IP 地址。使用 nano 或您喜欢的文本编辑器创建 db.linuxconfig.org。

    $ sudo nano /etc/bind/zones/master/db.linuxconfig.org
    
  3. 然后,将以下模板粘贴到文件中:

    ;
    ; BIND data file for linuxconfig.org
    ;
    $TTL    3h
    @       IN      SOA     ns1.linuxconfig.org. admin.linuxconfig.org. (
                              1        ; Serial
                              3h       ; Refresh after 3 hours
                              1h       ; Retry after 1 hour
                              1w       ; Expire after 1 week
                              1h )     ; Negative caching TTL of 1 day
    ;
    @       IN      NS      ns1.linuxconfig.org.
    @       IN      NS      ns2.linuxconfig.org.
    
    
    linuxconfig.org.    IN      MX      10      mail.linuxconfig.org.
    linuxconfig.org.    IN      A       192.168.0.10
    ns1                     IN      A       192.168.0.10
    ns2                     IN      A       192.168.0.11
    www                     IN      CNAME   linuxconfig.org.
    mail                    IN      A       192.168.0.10
    ftp                     IN      CNAME   linuxconfig.org.

    完成后保存更改并退出此配置文件。以下是对上述绑定 DNS 区域文件中的一些行的快速回顾:

我们配置的BIND区域文件

配置地址到名称映射

在此阶段,BIND DNS 服务器可以解析映射到 linuxconfig.org 主机的 IP 地址。我们现在应该做的是以相反的方式教导我们的名称服务器,即从 IP 地址解析主机。

  1. 为此,我们将需要另一个文件,名为db.192.168.0。

    $ sudo nano /etc/bind/zones/master/db.192.168.0
    
  2. 在此文件中,粘贴以下内容:

    ;
    ; BIND reverse data file for 0.168.192.in-addr.arpa
    ;
    $TTL    604800
    0.168.192.in-addr.arpa.      IN      SOA     ns1.linuxconfig.org. admin.linuxconfig.org. (
                              1         ; Serial
                              3h       ; Refresh after 3 hours
                              1h       ; Retry after 1 hour
                              1w       ; Expire after 1 week
                              1h )     ; Negative caching TTL of 1 day
    ;
    0.168.192.in-addr.arpa.       IN      NS      ns1.linuxconfig.org.
    0.168.192.in-addr.arpa.       IN      NS      ns2.linuxconfig.org.
    
    10.0.168.192.in-addr.arpa.   IN      PTR     linuxconfig.org.

反向BIND记录

更新 BIND 配置文件

此时我们应该准备好两个文件:

  • /etc/bind/zones/master/db.linuxconfig.org

  • /etc/bind/zones/master/db.192.168.0

  1. 我们现在需要做的就是将两个区域文件名插入到 BIND 配置文件 named.conf.local 中。

    $ sudo nano /etc/bind/named.conf.local
    
  2. 然后,将以下行添加到该文件中:

    zone "linuxconfig.org" {
           type master;
           file "/etc/bind/zones/master/db.linuxconfig.org";
    };
    
    zone "0.168.192.in-addr.arpa" {
           type master;
           file "/etc/bind/zones/master/db.192.168.0";
    };
  3. 告诉 BIND 我们的区域文件所在的位置

  4. 在我们继续检查配置之前,最后一件事是将稳定 DNS 服务器的 IP 地址添加到 named.conf.options 文件中。如果本地 DNS 服务器不知道名称解析查询的答案,则使用此 IP 地址。在许多情况下,DNS 服务器的 IP 地址是由您的互联网提供商提供的。或者,您可以使用 IP 地址为 8.8.8.8 或 8.8.4.4 的 Google 公共 DNS 服务器。

    $ sudo nano /etc/bind/named.conf.options
    
  5. 将转发器地址(默认为 0.0.0.0)替换为 8.8.8.8 IP 地址。

            forwarders {
                  8.8.8.8;
             };
    
  6. 将转发地址配置为来自 ISP 或 Google 的可靠 DNS 服务器

检查 BIND 的区域文件和配置

在我们尝试使用新区域和配置启动 BIND 名称服务器之前,请检查以下一些工具,以确保我们没有犯一些拼写错误或配置错误。

  1. 要检查配置文件,请运行以下 Linux 命令:

    $ sudo named-checkconf
    
  2. 要检查 DNS 区域文件,我们可以使用 named-checkzone 命令:

    $ sudo named-checkzone linuxconfig.org /etc/bind/zones/master/db.linuxconfig.org
    zone linuxconfig.org/IN: loaded serial 1
    OK
    
  3. 或者,检查反向区域文件:

    $ sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/zones/master/db.192.168.0
    zone 0.168.192.in-addr.arpa/IN: loaded serial 1
    OK
    

测试我们的 BIND 配置是否有错误或配置错误

启动或重新启动 BIND 名称服务器

由于上述命令已经确认我们的 BIND 配置有效,因此我们可以启动 BIND 服务以使所有这些更改生效。

$ sudo systemctl start bind9

或者,如果您的 BIND 服务器已在运行,请使用以下 Linux 命令来帮助您重新启动:

$ sudo systemctl restart bind9

测试绑定服务器配置

dnsutils 包中的 dig 命令将派上用场,帮助我们测试 BIND 名称服务器的新配置。

  1. dig 命令可以在任何可以通过网络访问您的 DNS 服务器的 PC 上使用,但您最好应该从本地主机开始测试。在我们的例子中,名称服务器的 IP 地址是 192.168.135.130。首先我们将测试主机到 IP 的解析:

    $ dig @192.168.135.130 www.linuxconfig.org
    
  2. 使用 dig 命令测试主机到 IP 解析

  3. 接下来,我们测试 IP 到主机的解析:

    $ dig @192.168.135.130 -x 192.168.0.10
    
  4. 使用 dig 命令测试 IP 到主机解析

这里的所有都是它的。您刚刚使用 BIND 名称服务器创建并配置了自己的 DNS 区域。

结束语

在本指南中,我们学习了如何在主要 Linux 发行版上使用 BIND 名称服务器创建和配置 DNS 区域。 BIND 是一款优秀的 DNS 软件,具有悠久的可靠性。正如我们在这里所看到的,只需要进行一些配置即可使其顺利启动并运行,并进行一些测试来验证其是否正常运行。

©2015-2025 Norria support@norria.com