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

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/15004.html

分享:
扫描分享到社交APP
上一篇
下一篇