centos 7 配置dns

在CentOS 7上配置DNS,需先安装BIND软件,编辑/etc/named.conf文件,设置正向和反向解析区域,并重启named服务。

CentOS 7 配置 DNS 详细步骤

一、安装 BIND 服务及工具

1、更新系统软件包:在配置 DNS 之前,建议先更新系统软件包以确保系统的稳定性和安全性,执行以下命令:

   sudo yum update y

2、安装 BIND 服务:使用yum 命令安装 BIND 服务及其相关工具(如bindutils,包含dignslookup 等实用程序):

   sudo yum install bind bindutils y

3、启动并启用 BIND 服务:安装完成后,启动 BIND 服务,并设置开机自启:

   sudo systemctl start named
   sudo systemctl enable named

二、配置主配置文件

1、备份原配置文件:为防止配置错误导致系统问题,先将原始的主配置文件进行备份:

   sudo cp /etc/named.conf /etc/named.conf.bak

2、编辑主配置文件:使用文本编辑器打开/etc/named.conf 文件,并进行如下修改:

设置监听地址和端口:通常监听所有网络接口的 IPv4 地址和标准 DNS 端口(53)。

     listenon port 53 { any; };

允许查询的网段:根据实际需求设置允许进行 DNS 查询的客户端 IP 地址范围,例如允许任何地址查询:

     allowquery { any; };

指定日志文件位置:设置日志文件的存储路径和名称,方便查看 DNS 服务的运行日志。

     logging {
         channel default_debug {
             file "var/named/data/named.run";
             severity dynamic;
         };
     };

三、配置正向解析区域

1、创建正向区域配置文件目录:在/var/named 目录下创建用于存放正向区域配置文件的目录(如果不存在):

centos 7 配置dns

   sudo mkdir p /var/named/正向区域

2、创建正向区域配置文件:在该目录下创建一个以域名命名的正向区域配置文件,如example.com.zone(假设要配置的域名为example.com),并添加以下内容:

   $TTL 86400
   @       IN      SOA     ns1.example.com. admin.example.com. (
                            2         ; Serial
                           604800     ; Refresh
                           86400      ; Retry
                           2419200     ; Expire
                           86400 )    ; Negative Cache TTL
   ;
   @       IN      NS      ns1.example.com.
   ns1     IN      A       192.168.1.2
   www     IN      A       192.168.1.3

$TTL:定义记录的生存时间(Time To Live),单位为秒。

@:代表域名本身。

IN:表示 Internet 类别。

SOA:起始授权机构记录,包含主服务器、管理员邮箱等信息以及一些计时器参数。

NS:声明该域名的权威名称服务器。

A:将主机名映射到 IP 地址的记录。

3、在主配置文件中引用正向区域文件:打开/etc/named.conf 文件,在zone 语句块中添加对刚刚创建的正向区域文件的引用:

   zone "example.com" {
       type master;
       file "/var/named/正向区域/example.com.zone";
   };

四、配置反向解析区域(可选)

centos 7 配置dns

1、确定反向解析域名:根据正向解析的 IP 地址确定反向解析的域名,如果正向解析的 IP 地址是192.168.1.3,则反向解析域名可能是3.1.168.192.inaddr.arpa

2、创建反向区域配置文件目录:在/var/named 目录下创建用于存放反向区域配置文件的目录(如果不存在):

   sudo mkdir p /var/named/反向区域

3、创建反向区域配置文件:在该目录下创建一个以反向解析域名命名的反向区域配置文件,如3.1.168.192.zone,并添加类似如下内容:

   $TTL 86400
   @       IN      SOA     ns1.example.com. admin.example.com. (
                            2         ; Serial
                           604800     ; Refresh
                           86400      ; Retry
                           2419200     ; Expire
                           86400 )    ; Negative Cache TTL
   ;
   *       IN      PTR     ns1.example.com.

4、在主配置文件中引用反向区域文件:同样在/etc/named.conf 文件中的zone 语句块中添加对反向区域文件的引用:

   zone "3.1.168.192.inaddr.arpa" {
       type master;
       file "/var/named/反向区域/3.1.168.192.zone";
   };

五、测试 DNS 配置

1、检查配置文件语法:使用namedcheckconf 命令检查 BIND 配置文件的语法是否正确:

   sudo namedcheckconf /etc/named.conf

如果输出显示 “syntax ok”,则表示配置文件语法正确;否则,会根据提示信息进行相应的修改。

2、重启 BIND 服务:使新的配置生效,需要重启 BIND 服务:

   sudo systemctl restart named

3、使用dig 命令测试:使用dig 命令测试域名解析是否正常,例如测试example.com 的 A 记录解析:

centos 7 配置dns

   dig @localhost example.com

如果返回正确的 IP 地址,则表示正向解析配置成功;如果需要测试反向解析,可以使用类似如下命令:

   dig x 192.168.1.3

如果能正确返回域名,则表示反向解析配置成功。

相关问题与解答

1、问题:如果在测试 DNS 配置时,dig 命令无法获取到正确的解析结果,可能的原因是什么?

解答:可能有以下原因:一是配置文件中存在语法错误,可再次使用namedcheckconf 命令仔细检查配置文件;二是防火墙或安全组策略阻止了 DNS 查询请求,需要检查相关网络设置并确保允许 DNS 流量通过;三是 BIND 服务未正确启动或运行出现异常,可以通过systemctl status named 命令查看服务状态并进行排查。

2、问题:如何修改已配置好的 DNS 记录?

解答:首先找到对应的区域配置文件(正向或反向),使用文本编辑器打开该文件,然后修改相应的记录内容,修改完成后,保存文件并重启 BIND 服务使修改生效,需要注意的是,修改 SOA 记录中的序列号时要确保其值递增,以保证 DNS 数据的一致性和可靠性。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/187918.html

Like (0)
小编小编
Previous 2025年4月9日 19:16
Next 2025年4月9日 19:35

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注