HCRM博客

在 CentOS 上轻松部署 Bind DNS 服务器教程

一、安装 BIND

1、更新软件包索引:使用yum update 命令更新系统的软件包索引,确保获取到最新版本的软件信息。

2、安装 BIND 软件包:执行yum install bind bindutils y 命令来安装 BIND 服务器软件包以及相关的工具,如dignslookup 等。bind 是 BIND 的主程序,bindutils 包含了一些用于 DNS 查询和管理的工具。

在 CentOS 上轻松部署 Bind DNS 服务器教程-图1
(图片来源网络,侵权删除)

二、配置 BIND

1、编辑主配置文件/etc/named.conf:使用vim /etc/named.conf 命令打开该文件,在该文件中进行以下主要配置:

设置监听地址和端口:找到options 部分,将listenon port 53 { any; }; 修改为listenon port 53 { any; };,允许 BIND 在所有网络接口的 53 端口监听 DNS 请求;同时可以添加listenonv6 port 53 { ::1; }; 以支持 IPv6 的本地回环接口监听。

设置工作目录:将directory "/var/named"; 设置为 BIND 的主工作目录路径,该目录下会存放区域文件、缓存文件等。

设置日志文件:可以指定日志文件的路径,如logging { channel default_debug { file "data/named.run"; severity dynamic; }; },方便后续查看 BIND 的运行日志和调试信息。

定义正向解析区域:在zone 部分添加正向解析的区域配置,例如zone "example.com" IN { type master; file "/var/named/forward.example.com"; allowupdate { none; }; };,这里的example.com 是要解析的域名,type master 表示该区域是主域名解析区域,file 指定了该区域的数据文件存放路径。

定义反向解析区域:类似地,添加反向解析区域的配置,如zone "1.168.192.inaddr.arpa" IN { type master; file "/var/named/reverse.example.com"; allowupdate { none; }; };,用于将 IP 地址解析为域名。

在 CentOS 上轻松部署 Bind DNS 服务器教程-图2
(图片来源网络,侵权删除)

2、创建正向区域文件:根据在主配置文件中定义的正向区域文件路径,使用vim 命令创建并编辑相应的区域文件,如/var/named/forward.example.com,在该文件中添加以下内容作为示例:

起始授权和序列号$TTL 86400 设置了该区域的存活时间(默认一天),@ IN SOA ns1.example.com. admin.example.com. ( 2023022201 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ; Minimum TTL ),其中ns1.example.com. 是主域名服务器的主机名,admin.example.com. 是管理员的邮箱地址,括号内的数值分别代表序列号、刷新时间、重试时间、过期时间和最小 TTL 值。

NS 记录@ IN NS ns1.example.com. 指定了该域名的域名服务器为ns1.example.com.

A 记录:例如ns1 IN A <your_name_server_IP>mail IN A <your_mail_server_IP>www IN A <your_web_server_IP> 等,将域名或子域名解析到对应的 IP 地址。

3、创建反向区域文件:按照主配置文件中定义的反向区域文件路径,创建并编辑反向区域文件,如/var/named/reverse.example.com,添加类似如下的内容:

起始授权和序列号:与正向区域文件类似,设置该反向解析区域的存活时间、序列号等信息。

在 CentOS 上轻松部署 Bind DNS 服务器教程-图3
(图片来源网络,侵权删除)

PTR 记录:例如2 IN PTR mail.example.com.,将 IP 地址的特定部分(这里是最后一个字节为 2)解析为对应的域名。

三、启动和启用 BIND 服务

1、启动 BIND 服务:执行systemctl start named 命令立即启动 BIND 服务。

2、设置开机自启:运行systemctl enable named 命令,确保系统重启后 BIND 服务能够自动启动。

四、测试 BIND 配置

1、使用dig 命令测试正向解析:在终端中输入dig @localhost www.example.com,如果配置正确,应该能够返回www.example.com 对应的 IP 地址。

2、使用dig 命令测试反向解析:输入dig x @localhost <your_ip_address>,其中<your_ip_address> 是被查询的 IP 地址,若配置无误,则会返回该 IP 地址对应的域名。

五、配置防火墙(可选)

如果服务器启用了防火墙,需要打开 DNS 服务所使用的端口(TCP 和 UDP 的 53 端口),可以使用以下命令:

1、添加服务规则firewallcmd addservice=dns permanent

2、重新加载防火墙配置firewallcmd reload

六、常见问题及解决方法

1、问题:启动 BIND 服务时提示配置文件有语法错误,无法启动服务。

解答:仔细检查/etc/named.conf 文件中的语法,特别是括号的匹配、关键词的拼写是否正确等,可以使用namedcheckconf /etc/named.conf 命令来检查主配置文件的语法错误,使用namedcheckzone <zone_name> <zone_file> 命令来检查区域文件的语法错误,并根据错误提示进行修正。

2、问题:配置了正向和反向解析区域后,测试发现无法正常解析域名或 IP 地址。

解答:再次检查正向和反向区域文件中的记录是否正确填写,包括域名、IP 地址、SOA 记录中的序列号等是否一致且符合规范,确认主配置文件中对正向和反向解析区域的引用是否正确,以及相关服务是否已经重新启动以使配置生效。

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

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