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
上一篇
下一篇