HCRM博客

如何在CentOS 7上配置和管理DNS服务?

CentOS 7 是一款广泛使用的 Linux 操作系统,DNS(域名系统)是其重要的网络功能之一,本文将详细介绍如何在 CentOS 7 上配置和管理 DNS 服务,包括 DNS 的基本概念、修改 DNS 配置的方法、部署 DNS 服务器的步骤以及常见问题的解答。

一、DNS 基本概念

DNS(DomAIn Name System,域名系统)是一个分布式数据库,用于将人类易读的域名(如 www.example.com)转换为计算机可识别的 IP 地址(如 192.0.2.1),DNS 的主要功能是域名解析,通过解析域名来获取对应的 IP 地址,提供域名解析功能的主机被称为域名服务器,即 DNS 服务器,在域名服务器中,一个域名只能对应一个 IP 地址,但一个 IP 地址可以对应多个域名,也可以没有相应域名。

如何在CentOS 7上配置和管理DNS服务?-图1
(图片来源网络,侵权删除)

二、修改 CentOS 7 DNS 配置

确认当前 DNS 配置

在修改 DNS 配置之前,需要确认当前的 DNS 配置,可以通过以下命令查看:

cat /etc/resolv.conf

如果输出的内容中包含了 DNS 服务器的 IP 地址,则表示当前已经配置了 DNS 服务器。

修改 DNS 配置

如果需要修改 DNS 配置,可以通过以下步骤进行:

1、编辑/etc/resolv.conf 文件

如何在CentOS 7上配置和管理DNS服务?-图2
(图片来源网络,侵权删除)

使用文本编辑器打开/etc/resolv.conf 文件:

   sudo vi /etc/resolv.conf

在文件中添加或修改nameserver 行,指定需要使用的 DNS 服务器的 IP 地址,如果要使用 Google 的公共 DNS 服务器,可以添加以下行:

   nameserver 8.8.8.8
   nameserver 8.8.4.4

保存并关闭文件。

2、立即生效修改

在 CentOS 7 中,如果只修改了/etc/resolv.conf 文件,DNS 配置不会立即生效,需要重启 NetworkManager 服务或者重启系统,也可以通过以下命令使修改立即生效:

   sudo systemctl restart network

验证 DNS 配置是否生效,可以使用nslookup 命令查询域名:

如何在CentOS 7上配置和管理DNS服务?-图3
(图片来源网络,侵权删除)
   nslookup example.com

如果输出的结果中包含了 DNS 服务器的 IP 地址,则表示 DNS 配置已经生效。

三、部署 CentOS 7 DNS 服务器

部署 DNS 服务器的步骤相对复杂,涉及安装 BIND 软件包、修改配置文件、新建区域文件等多个步骤,以下是详细的步骤:

实验环境

DNS 服务端:内存 2G,硬盘 80G,网络模式 NAT,IP:192.168.180.132

DNS 客户端:内存 2G,硬盘 40G,网络模式 NAT,IP:192.168.180.135

部署步骤

1、禁用防火墙和关闭 SELinux

   systemctl disable firewalld
   systemctl stop firewalld
   setenforce 0  # 临时关闭 SELinux
   # 永久关闭 SELinux(可选)
   vi /etc/selinux/config
   将 SELINUX=enforcing 改为 SELINUX=disabled

2、安装 BIND

在 DNS 服务端和客户端都需要安装 BIND:

   yum install y bind bindutils

3、修改配置文件信息

修改/etc/named.conf 文件

     vi /etc/named.conf

listenon port 53 { 127.0.0.1; }; 改成listenon port 53 { any; };

allowquery { localhost; }; 改成allowquery { any; };

然后保存并退出。

修改/etc/named.rfc1912.zones 文件

     vi /etc/named.rfc1912.zones

添加如下信息:

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

注意这里的kaisa.com 是自定义的域名,kaisa.com.zone 是对应的区域文件名。

4、编辑网卡配置信息

   vi /etc/sysconfig/networkscripts/ifcfgens33

BOOTPROTO="dhcp" 改为static,并添加 IP、网关、子网掩码、DNS 的信息,由于本机是做 DNS 的服务器端,DNS 填本机的 IP 地址。

5、重启网络服务和 named 服务

   sudo systemctl restart network
   sudo systemctl restart named

若没报错,则上述步骤配置成功。

6、在客户端测试

修改客户端的网卡配置信息

     vi /etc/sysconfig/networkscripts/ifcfgens33

DNS1 改为我们搭建的 DNS 服务器端的 IP 地址。

重启网络

     sudo systemctl restart network

测试:使用nslookup 命令查询域名,看是否能成功解析出 IP 地址。

反向解析

反向解析的步骤与正向解析大致相同,只需要修改两个配置文件的信息即可:

1、修改/etc/named.rfc1912.zones 文件

   vi /etc/named.rfc1912.zones

添加如下信息:

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

注意这里的180.168.192 是自定义的网段,hzl.com.zone 是对应的区域文件名。

2、创建反向解析区域文件

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

注意com 后面还有一个点。

3、重启 named 服务

   sudo systemctl restart named

4、测试:使用nslookup 命令查询 IP 地址,看是否能成功解析出域名。

关闭防火墙和 SELinux:在部署 DNS 服务器之前,建议先关闭防火墙和 SELinux,以避免它们对后续步骤的影响。

配置文件准确性:在配置服务进程的文件时,一定要仔细检查配置文件的准确性,包括大小写、标点符号等,一个错误可能会导致服务无法启动。

重启服务:在修改完配置文件后,记得重启相关服务以使配置生效。

测试验证:在完成配置后,记得使用nslookup 命令测试域名解析是否正常工作。

五、FAQs

Q1:如何修改 CentOS 7 的 DNS 配置?

A1:可以通过修改/etc/resolv.conf 文件来更改 CentOS 7 的 DNS 配置,在该文件中添加或修改nameserver 行,指定需要使用的 DNS 服务器的 IP 地址,要使用 Google 的公共 DNS 服务器,可以添加以下行:

nameserver 8.8.8.8
nameserver 8.8.4.4

保存并关闭文件后,可以通过重启 NetworkManager 服务或使用systemctl restart network 命令使修改立即生效。

Q2:如何在 CentOS 7 上部署 DNS 服务器?

A2:在 CentOS 7 上部署 DNS 服务器的步骤包括安装 BIND、修改配置文件、新建区域文件等,需要在有网络的情况下使用yum install y bind bindutils 命令安装 BIND,修改/etc/named.conf/etc/named.rfc1912.zones 文件,配置主域名服务器和区域文件,在/var/named 目录下新建区域文件,并根据需要进行编辑,修改网卡配置文件以设置静态 IP,并重启网络服务和 named 服务,完成这些步骤后,可以在客户端测试域名解析是否正常工作。

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

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