Rocky Linux 9.2 如何部署DNS服务器 – Bind安装及配置

Bind是什么

Rocky Linux BIND (Berkeley Internet Name Domain) 是一种用于实现域名系统(DNS)的开源软件。它允许计算机网络上的计算机将 IP 地址映射到易记的域名上,从而方便用户访问互联网资源。在Rocky Linux上,你可以使用BIND来配置和管理DNS服务器。

以下是在Rocky Linux上使用BIND的一些常见功能描述:

  1. 域名解析: BIND 允许你将域名映射到 IP 地址,使得用户可以使用易记的域名来访问网络上的计算机。
  2. 反向解析 BIND 能够执行反向解析,将 IP 地址转换为域名。这在某些网络配置中非常有用。
  3. DNS记录管理: 你可以配置各种类型的DNS记录,包括A记录(将域名映射到IPv4地址)、AAAA记录(将域名映射到IPv6地址)、CNAME记录(将域名映射到另一个域名)、MX记录(指定邮件服务器)等。
  4. 区域文件配置: BIND 使用区域文件来存储DNS记录。你可以编辑这些文件来配置域名与IP地址的映射关系,以及其他DNS记录。
  5. DNS安全性: BIND 支持DNSSEC(DNS Security Extensions),这是一种用于增强DNS安全性的技术。它可以防止DNS缓存投毒攻击等安全威胁。
  6. DNS负载均衡: BIND 支持负载均衡配置,可以将请求分发到多个服务器,从而提高系统的性能和可用性。
  7. 日志记录和监控: BIND 提供了丰富的日志记录功能,可以帮助你监控DNS服务器的性能和活动。你可以配置日志记录级别,以便跟踪特定类型的事件。
  8. 动态更新: BIND 支持动态DNS(DDNS),允许客户端动态地更新DNS记录。这在移动设备和移动IP地址的情况下非常有用。

环境准备

设置Rocky Linux服务器上的FQDN

sudo hostnamectl set-hostname ns.pangshare.com

Bind安装

在Rocky Linux系统上安装BIND及其相关工具通常是通过包管理器(如dnf)来完成的。以下是在Rocky Linux上安装BIND及其相关工具的步骤:

更新系统:

在安装任何软件包之前,建议先更新系统的包列表。运行以下命令来更新系统:

sudo dnf update

安装BIND:

使用以下命令来安装BIND软件包:

sudo dnf install bind bind-utils

如果你希望BIND在系统启动时自动启动,可以运行以下命令:

sudo systemctl enable named

这样,BIND服务将会在系统启动时自动启动。

BIND配置文件的作用和用途

通过命令rpm -qc bind查看BIND的配置文件列表,这些文件的作用和用途如下:

/etc/logrotate.d/named:

这个文件包含了用于定期轮换 BIND 日志文件的配置。Logrotate 是一个用于管理系统日志文件的工具,它可以确保日志文件不会无限增长,从而节省磁盘空间。

/etc/named.conf:

这是 BIND DNS 服务器的主要配置文件。它包含了 BIND 服务器的全局配置信息,以及关于域名(zones)和 DNS 记录的详细配置。你可以在这个文件中指定 BIND 的行为、设置各种类型的 DNS 记录和配置区域(zones)。

/etc/named.rfc1912.zones:

这个文件通常包含了一些标准的 RFC 1912 定义的 DNS 区域(zones)配置。这些配置定义了一些特定的 DNS 区域,例如反向解析区域。

/etc/named.root.key:

这个文件包含了 DNS 根域(root zone)的公钥。这个文件是 DNSSEC(DNS Security Extensions)的一部分,用于增加 DNS 的安全性。

/etc/rndc.conf 和 /etc/rndc.key:

这些文件包含了 RNDC(Remote Name Daemon Control)工具的配置信息和密钥。RNDC 是一个用于远程管理 BIND 服务器的工具,它可以通过加密连接与 BIND 服务器通信,执行各种操作。

/etc/sysconfig/named:

这个文件包含了 BIND 服务器的启动参数和环境变量的配置。它允许你在启动 BIND 时设置一些特定的选项。

/var/named/named.ca:

这个文件包含了 DNS 根域(root zone)的公钥和证书。它也是 DNSSEC 的一部分,用于验证 DNS 记录的真实性。

/var/named/named.empty、/var/named/named.localhost 和 /var/named/named.loopback:

这些文件包含了一些特殊的 DNS 区域,分别用于空(empty)域、localhost 域和 loopback 域的配置。这些区域通常在本地 DNS 服务器上使用,用于特定的网络配置和解析需求。

BIND配置文件修改

step1:设置BIND仅在IPv4上运行

/etc/sysconfig/named文件来设置BIND服务的启动参数。如果你想要指定BIND或者named命令仅在IPv4上运行,你可以在/etc/sysconfig/named文件中添加以下行:

OPTIONS="-4"

这行配置会让BIND服务仅在IPv4网络上运行。在这个配置中,-4选项指定了BIND只使用IPv4地址。

保存文件后,重启BIND服务,使得新的配置生效:

sudo systemctl restart named

step2:在防火墙中添加BIND端口

sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload

step3:编辑named.conf配置文件

vim /etc/named.conf

named.conf中的listen-on port 53和allow-query的地址均修改为any。

在BIND的配置文件named.conf中,listen-on port 53allow-query 是两个关键配置项,用于指定BIND服务器监听的网络接口和允许查询的客户端地址。

  1. listen-on port 53
    • 默认情况下,BIND服务器会监听系统上的所有网络接口上的53端口,这是DNS服务的默认端口。
    • listen-on port 53 设置为 any 会使BIND服务器监听系统上所有可用的网络接口,而不仅限于特定的IP地址。这允许BIND响应来自任何网络接口的DNS查询请求。
  2. allow-query
    • 默认情况下,allow-query 配置项限制了可以向BIND服务器发出DNS查询请求的客户端IP地址范围。
    • allow-query 设置为 any 表示允许所有IP地址的客户端向BIND服务器发出DNS查询请求,而不进行任何限制。

设置 listen-on port 53allow-queryany 的主要原因可能是为了允许任何计算机都能够查询该DNS服务器,这在某些特定网络环境下可能是需要的。例如,在内部企业网络中,可能希望所有内部计算机都能够向内部DNS服务器发出查询请求,以便解析内部域名。但是,在公共网络中,通常会限制谁能够向DNS服务器发出查询请求,以提高安全性,防止未经授权的查询。

编写区域配置文件/etc/named.rfc1912.zones

假设我们现在需要对域名pangshare.com做IP地址的正向解析和反向解析动作。那么我们需要做如下修改。

编写pangshare.comZONES信息

zone "pangshare.com" IN {

        type master;

        file "pangshare.com.zone";

        allow-update {none;};

};

zone "131.72.168.192.in-addr.arpa" IN {

        type master;

        file "192.168.72.131.arpa.zones";

        allow-update {none;};

};

配置正向解析

/var/named目录复制一份正向解析的模板文件(named.localhost),使用-a参数以保留原始文件的所有者、所属组、权限属性等信息。这样做是为了确保BIND服务程序能够顺利读取文件内容。接着,在新文件中填写域名和IP地址的对应数据,并保存配置。

cd /var/named
cp -a named.localhost pangshare.com.zone

编辑正向解析pangshare.com.zone

$TTL 1d
@       IN      SOA     ns1.pangshare.com. admin.pangshare.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      ns1.pangshare.com.
ns1     IN      A       192.168.72.131
www     IN      A       192.168.72.131
mail    IN      A       192.168.72.131

在这个配置文件中我们增加了ns1wwwmail正向解析记录并将域名映射到了192.168.72.131的IP上。

验证正向解析

重新加载named.service服务使配置生效

systemctl reload named.service

使用dig来验证正向解析是否生效

dig www.pangshare.com

www.pangshare.intra.    860   IN      A       192.168.72.131

配置反向解析

/var/named目录复制一份模板文件(named.localhost),使用-a参数以保留原始文件的所有者、所属组、权限属性等信息。这样做是为了确保BIND服务程序能够顺利读取文件内容。接着,在新文件中填写域名和IP地址的对应数据,并保存配置。

cd /var/named
cp -a named.localhost 192.168.72.131.arpa.zones

编辑反向解析192.168.72.131.arpa.zones

$TTL 1D
@       IN      SOA     ns1.pangshare.com. admin.pangshare.com. (
                        2023103102      ; serial
                        1D      ; refresh
                        1H      ; retry
                        1W      ; expire
                        3H )    ; minimum
        IN      NS      ns1.pangshare.com.
        IN      PTR     mail.pangshare.com.

验证反向解析

重新加载named.service服务使配置生效

systemctl reload named.service

使用dig来验证正向解析是否生

dig -x 192.168.72.131

131.72.168.192.in-addr.arpa. 86400 IN   PTR     mail.pangshare.intra.

至此,我们完成了基于Rocky Linux的BIND服务部署以及正向、反向解析的设置工作。

此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/2841.htm

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月25日 下午6:13
下一篇 2023年11月1日 下午6:37

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注