HCRM博客

如何在CentOS上安装和配置Bind服务?

CentOS 上 BIND 服务部署与配置

一、BIND 简介

BIND(Berkeley Internet Name Domain)是广泛使用的开源DNS(域名系统)服务器软件,由互联系统协会(Internet Systems Consortium,ISC)维护,BIND 在 Linux 系统中通常以 named 服务的形式运行,监听 53 号端口,其主要配置文件为/etc/named.conf,用于定义区域和指定区域数据库文件名称,区域数据库文件通常保存于/var/named/ 目录下,用于定义区域的资源类型。

如何在CentOS上安装和配置Bind服务?-图1
(图片来源网络,侵权删除)

二、安装 BIND

1、更新系统并安装 EPEL 仓库

    sudo yum update y
    sudo yum install epelrelease y

2、安装 BIND

    sudo yum install bind bindutils y

三、配置 BIND

1. 修改主配置文件/etc/named.conf

options {
    listenon port 53 { any; }; # 监听所有IPv4地址的53端口
    listenonv6 port 53 { ::1; }; # 监听本地IPv6地址的53端口
    directory "/var/named"; # 全局目录
    dumpfile "/var/named/data/cache_dump.db";
    statisticsfile "/var/named/data/named_stats.txt";
    memstatisticsfile "/var/named/data/named_mem_stats.txt";
    allowquery { any; }; # 允许任何来源查询
    recursion yes; # 启用递归查询
    dnssecenable yes; # 启用DNSSEC
    dnssecvalidation yes; # 启用DNSSEC验证
    dnsseclookaside auto; # 自动DNSSEC查找
    bindkeysfile "/etc/named.iscdlv.key"; # ISC DLV密钥文件路径
    managedkeysdirectory "/var/named/dynamic"; # 动态管理密钥目录
};
logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
};
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2. 配置正向解析区域文件

创建或修改/etc/named.conf 文件,添加以下内容:

zone "example.com" IN {
    type master;
    file "/var/named/forward.example.com";
    allowupdate { none; };
};

创建正向解析区域文件/var/named/forward.example.com

如何在CentOS上安装和配置Bind服务?-图2
(图片来源网络,侵权删除)
$TTL 86400
@   IN  SOA     ns1.example.com. admin.example.com. (
                2023042401  ; Serial
                3600        ; Refresh
                1800        ; Retry
                604800      ; Expire
                86400       ; Minimum TTL
                )
        IN  NS      ns1.example.com.
ns1     IN  A       192.168.1.1
www     IN  A       192.168.1.2

3. 配置反向解析区域文件

创建或修改/etc/named.conf 文件,添加以下内容:

zone "1.168.192.inaddr.arpa" IN {
    type master;
    file "/var/named/reverse.example.com";
    allowupdate { none; };
};

创建反向解析区域文件/var/named/reverse.example.com

$TTL 86400
@   IN  SOA     ns1.example.com. admin.example.com. (
                2023042401  ; Serial
                3600        ; Refresh
                1800        ; Retry
                604800      ; Expire
                86400       ; Minimum TTL
                )
        IN  NS      ns1.example.com.
1       IN  PTR     ns1.example.com.
2       IN  PTR     www.example.com.

四、启动 BIND 服务并检查状态

1、启动 BIND 服务

    sudo systemctl start named

2、设置 BIND 服务开机自启

    sudo systemctl enable named

3、检查 BIND 服务状态

如何在CentOS上安装和配置Bind服务?-图3
(图片来源网络,侵权删除)
    sudo systemctl status named

如果服务正在运行,您将看到类似以下的输出:

● named.service Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 20230222 10:22:13 EST; 2 days ago

五、测试 DNS 解析

1、修改/etc/resolv.conf

    sudo nano /etc/resolv.conf

添加以下内容:

    nameserver 192.168.1.1 # 您的DNS服务器IP地址

2、使用dig 命令测试正向解析

    dig @localhost www.example.com

预期输出:

    ;; ANSWER SECTION:
    www.example.com.        86400    IN      A       192.168.1.2

3、使用dig 命令测试反向解析

    dig x @localhost 192.168.1.2

预期输出:

    ;; ANSWER SECTION:
    2.168.192.inaddr.arpa. 86400 IN PTR www.example.com.

六、常见问题及解决方案

Q1: BIND 服务无法启动怎么办?

A1: 请检查配置文件语法是否正确,使用以下命令检查:

namedcheckconf /etc/named.conf
namedcheckzone /var/named/forward.example.com /etc/named.conf forward.example.com
namedcheckzone /var/named/reverse.example.com /etc/named.conf reverse.example.com

确保没有错误信息,然后重新启动 BIND 服务。

Q2: 如何更改 BIND 服务监听的端口?

A2: 编辑/etc/named.conf 文件,找到listenon port 53,将其改为所需的端口号,

listenon port 5353 { any; };

然后重新启动 BIND 服务,注意防火墙规则也需要相应调整。

Q3: 如何配置 BIND 实现DNS转发?

A3: 编辑/etc/named.conf 文件,在options 块中添加forwarders 参数,

options {
    forwarders {
        8.8.8.8; # Google Public DNS IP地址
        8.8.4.4; # Google Public DNS IP地址备份
    };
};

然后重新加载 BIND 配置:

sudo systemctl reload named
分享:
扫描分享到社交APP
上一篇
下一篇