HCRM博客

如何在CentOS系统中安装DNS服务?

CentOS安装DNS服务详细指南

一、DNS简介

1、定义:DNS(DomAIn Name System,域名系统)是一个分布式数据库系统,用于将人类可读的域名(如www.baidu.com)解析为计算机可理解的IP地址(如192.168.1.1),这种解析过程被称为域名解析。

如何在CentOS系统中安装DNS服务?-图1
(图片来源网络,侵权删除)

2、作用:DNS的主要功能是将用户友好的域名转换为IP地址,从而使得用户能够访问互联网资源而无需记住复杂的数字地址,DNS还支持反向解析,即将IP地址解析为域名。

3、组件

DNS服务器:存储并管理域名和IP地址之间的映射关系。

BIND:一个广泛使用的开源DNS服务器软件,由互联网系统联盟(Internet Systems Consortium,ISC)开发和维护。

named:BIND的主要守护进程,负责处理DNS查询请求。

4、工作原理:当用户输入一个域名时,操作系统会向本地DNS服务器发出请求,如果本地DNS服务器没有缓存该域名的IP地址,它会代表客户端向其他DNS服务器递归查询,直到获得结果并将结果返回给客户端。

如何在CentOS系统中安装DNS服务?-图2
(图片来源网络,侵权删除)

二、实验环境

组件 内存 硬盘 网络模式 IP地址
DNS服务端 2GB 80GB NAT 192.168.180.132
DNS客户端 2GB 40GB NAT 192.168.180.135

三、安装前准备

1. 关闭防火墙和SELinux

在安装BIND之前,建议先关闭防火墙和SELinux,以避免它们干扰DNS服务的正常运行。

临时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
临时关闭SELinux
setenforce 0
永久关闭SELinux
vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled

2. 更新系统

确保系统软件包是最新的,以减少潜在的兼容性问题。

yum update y

四、安装DNS服务

1. 安装BIND软件包

使用YUM包管理器安装BIND和BINDutils。

如何在CentOS系统中安装DNS服务?-图3
(图片来源网络,侵权删除)
yum install y bind bindutils

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

编辑/etc/named.conf 文件,进行以下修改:

vi /etc/named.conf

添加或修改以下内容:

options {
    listenon port 53 { any; };
    allowquery     { any; };
    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";
    recursingfile  "/var/named/data/named.recursing";
    allowrecursion { any; };
    dnssecenable yes;
    dnssecvalidation yes;
    managedkeysdirectory "/var/named/dynamic";
    pidfile "/run/named/named.pid";
    sessionkeyfile "/run/named/session.key";
};

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

编辑/etc/named.rfc1912.zones 文件,添加正向解析区域,假设我们要添加的域名为kaisa.com

vi /etc/named.rfc1912.zones

添加以下内容:

zone "kaisa.com" IN {
    type master;
    file "kaisa.com.zone";
    allowupdate { none; };
};

4. 创建区域文件

/var/named 目录下创建一个新的区域文件kaisa.com.zone,并复制模板文件named.localhost 的内容进行修改。

cd /var/named
cp p named.localhost kaisa.com.zone
vi kaisa.com.zone

修改后的内容如下:

$TTL 86400
@   IN  SOA dns.kaisa.com. root.kaisa.com. (
          2023101001  ; Serial
             7200    ; Refresh
              120     ; Retry
            604800   ; Expire
             86400 ) TTL ) ; Minimum TTL
)
    IN  NS  dns.kaisa.com.
dns IN  A   192.168.180.132
www IN  A   192.168.180.132
ftp IN  A   192.168.180.132

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

编辑/etc/named.rfc1912.zones 文件,添加反向解析区域,假设我们的网段是192.168.180.inaddr.arpa

vi /etc/named.rfc1912.zones

添加以下内容:

zone "180.168.192.inaddr.arpa" IN {
    type master;
    file "hzl.com.zone";
    allowupdate { none; };
};

6. 创建反向解析区域文件

/var/named 目录下创建一个新的区域文件hzl.com.zone,并复制模板文件named.loopback 的内容进行修改,注意,这里的文件名需要与named.rfc1912.zones 中的配置一致。

cd /var/named
cp p named.loopback hzl.com.zone
vi hzl.com.zone

修改后的内容如下:

$TTL 86400
@   IN  SOA dns.hzl.com. root.hzl.com. (
          2023101001  ; Serial
             7200    ; Refresh
              120     ; Retry
            604800   ; Expire
             86400 ) TTL = ; Minimum TTL
)
    IN  NS  dns.hzl.com.
132 IN  PTR dns.kaisa.com.
133 IN  PTR www.kaisa.com.
134 IN  PTR ftp.kaisa.com.

五、启动和测试DNS服务

1. 重启网络服务和BIND服务

systemctl restart network
systemctl restart named

2. 测试DNS解析

在客户端机器上,编辑/etc/resolv.conf 文件,添加DNS服务器的IP地址。

vi /etc/resolv.conf

添加以下内容:

nameserver 192.168.180.132

然后重启网络服务。

systemctl restart network

使用nslookup 命令测试DNS解析。

nslookup www.kaisa.com

如果一切正常,你应该看到类似以下的输出:

Server:         192.168.180.132
Address:        192.168.180.132#53
Name:   www.kaisa.com
Address: 192.168.180.132

六、常见问题及解答(FAQs)

Q1:如何更改BIND监听的端口号?如何在BIND中添加额外的监听地址?

A1:要更改BIND监听的端口号,可以编辑/etc/named.conf 文件中的options 部分,将listenon port 53 修改为所需的端口号,要将端口号更改为5353,可以进行以下修改:

options {
    listenon port 5353 { any; }; # 修改此处的端口号为5353
    ...
};

还需要确保防火墙开放新的端口号,使用firewalld开放5353端口:

firewallcmd permanent addport=5353/udp
firewallcmd reload

要在BIND中添加额外的监听地址,可以在listenon 指令中指定多个地址或地址范围,要添加监听地址192.168.2.1192.168.3.1,可以进行以下修改:

options {
    listenon port 53 { 192.168.2.1; 192.168.3.1; any; }; # 添加额外的监听地址
    ...
};

完成配置后,重新启动BIND服务使更改生效:

systemctl restart named

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

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