上一篇 下一篇 分享链接 返回 返回顶部

如何在CentOS8上使用BIND搭建私有DNS服务器?

发布人:Minchunlin 发布时间:2021-03-10 10:08 阅读量:2133

BIND也被称为 "Berkeley Internet Name Domain "是现在最流行的域名系统(DNS)之一。它是一个开源的,并在Linux操作系统上提供DNS服务。一般来说,它可以帮助你把一个完全合格的域名解析成IP地址或IP地址到域名。它可以作为一个权威的名称服务器,并提供了一些功能,如负载平衡,动态更新,分割DNS等。

在本教程中,我们将向您展示如何在CentOS 8上使用BIND设置私有DNS服务器。

先决条件

一个CentOS 8 系统的云服务器。

访问root用户账户(或访问具有根权限的管理员账户)。

在本教程中,我们将使用以下设置。

主机名 : ns1.a5idc.local

IP地址:192.168.1.100

本地网络 : 192.168.1.0/24

第1步:登录服务器并更新服务器操作系统包。

首先,以root用户身份通过SSH登录CentOS 8服务器。

ssh root@IP_Address -p Port_number...

你需要用你的服务器的IP地址和SSH端口号来代替'IP_Address'和'Port_number'。此外,如果需要的话,将'root'替换为管理员账户的用户名。

在开始之前,你必须确保服务器上安装的所有CentOS软件包都是最新的。你可以通过运行以下命令来完成。

dnf update -y

第2步:安装BIND DNS服务器

默认情况下,绑定包在CentOS 8标准存储库中可用。您可以通过运行以下命令来安装它:

dnf install bind bind-utils -y

一旦安装了BIND,请启动BIND服务并启用它以在系统重新引导时启动:

systemctl start named

systemctl enable named

第3步:配置BIND DNS服务器

默认情况下,BIND服务器仅在localhost上侦听。因此,您将需要对其进行配置以在所有网络接口上进行侦听。您可以通过编辑文件/etc/named.conf来配置它:

nano /etc/named.conf

注释掉以下几行:

//listen-on port 53 { 127.0.0.1; };

//listen-on-v6 port 53 { ::1; };

更改以下行以允许查询您的本地网络:

allow-query     { localhost;192.168.1.0/24; };

完成后保存并关闭文件。

第4步:创建正向和反向DNS区域

前向区用于解析主机名到IP地址,而反向区用于解析IP地址到主机名。一般来说,所有正常的DNS查询都是前向查找查询。您可以在/etc/named.conf文件中定义正向查找区和反向查找区。

编辑/etc/named.conf文件。

nano /etc/named.conf

在文件末尾添加以下几行内容

//Forward Zone

zone "a5idc.local" IN { 

 

           type master;  

           file "a5idc.local.db"; 

           allow-update { none; };  

 

};

 

//Reverse Zone

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

 

             type master;  

             file "192.168.1.db";             

             allow-update { none; };

 

};

保存并在完成后关闭文件。

第5步:创建正向和反向区域文件

接下来,您需要创建上一步中定义的正向和反向区文件。默认情况下,所有的zone查找文件都位于/var/named目录内。

首先,使用以下命令创建一个正向区文件。

nano /var/named/rosehosting.local.db

添加以下几行内容。

$TTL 86400

@   IN  SOA     ns1.a5idc.local. root.a5idc.local. (

                                              3           ;Serial

                                              3600        ;Refresh

                                              1800        ;Retry

                                              604800      ;Expire

                                              86400       ;Minimum TTL

)

 

;Name Server Information

@       IN  NS      ns1.a5idc.local.

 

;IP address of Name Server

ns1       IN  A       192.168.1.100

 

;A - Record HostName To Ip Address

www     IN  A       192.168.1.101

 

;CNAME record

ftp     IN CNAME        www.a5idc.local.

保存并关闭文件,然后用以下命令创建一个反向区文件。

nano /var/named/192.168.1.db。

添加以下几行内容。

$TTL 86400

@   IN  SOA     ns1.a5idc.local. root.a5idc.local. (

                                       3           ;Serial

                                       3600        ;Refresh

                                       1800        ;Retry

                                       604800      ;Expire

                                       86400       ;Minimum TTL

)

 

;Name Server Information

@         IN      NS         ns1.a5idc.local.

 

;Reverse lookup for Name Server

100       IN  PTR     ns1.a5idc.local.

 

;PTR Record IP address to HostName

101      IN  PTR     www.a5idc.local.

保存并在完成后关闭该文件。

第6步:验证DNS配置

配置完所有的区域文件后,需要验证配置文件。

首先,用以下命令验证主配置文件。

named-checkconf /etc/named.conf

如果一切正常,就不会看到任何错误。

接下来,用下面的命令验证前向区文件。

named-checkzone rosehosting.local /var/named/rosehosting.local.db

你应该得到以下结果:

zone rosehosting.local/IN: loaded serial 3

OK

接下来,用下面的命令验证逆向区文件。

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

你应得到以下输出。

zone 1.168.192.in-addr.arpa/IN: loaded serial 3

OK

最后,重启BIND服务以应用这些更改。

systemctl restart named

第7步:配置防火墙

接下来,您需要为53端口创建一个防火墙规则,以允许来自客户端机器的DNS查询。你可以用下面的命令来创建它。

firewall-cmd --permanent --add-port=53/udp

接下来,重新加载文件墙服务以应用这些更改。

firewall-cmd --reload

第8步:验证DNS服务器

至此,BIND DNS服务器已经安装配置完毕。是时候检查一下它是否正常工作了。

首先,编辑你的/etc/resolv.conf文件,添加你的DNS服务器IP。

nano /etc/resolv.conf

在文件的开头添加以下一行。

nameserver 192.168.1.100

保存并关闭文件,然后使用dig命令验证前向查找。

dig www.a5idc.local 

dig ns1.a5idc.local

至此,你就已经成功在CentOS 8上用BIND搭建了一个私有DNS服务器。

目录结构
全文