当前位置:首页 > 行业动态 > 正文

如何在CentOS中设置局域网域名解析?

CentOS局域网域名解析步骤:安装BIND9,编辑配置文件和区域文件,配置正向与反向解析,放行端口53/tcp和53/udp,修改本机DNS进行测试。

CentOS局域网域名解析

如何在CentOS中设置局域网域名解析?  第1张

背景介绍

在现代网络环境中,DNS(域名系统)在设备间的通信中扮演着重要角色,它通过将易于记忆的域名转换为IP地址,使设备能够互相识别和通信,对于使用CentOS系统的企业或小型网络环境而言,配置一部内部DNS服务器可以显著提高内网的效率和安全性,本文将详细介绍如何在CentOS系统中搭建DNS服务器,并实现局域网内的域名解析。

安装与配置Bind

1. 安装Bind软件包

需要安装Bind软件包,这可以通过CentOS的默认仓库来完成,打开终端并执行以下命令:

sudo yum install bind bind-utils -y

该命令会安装Bind的主程序及其相关工具。

2. 配置主配置文件

安装完成后,主要配置文件位于/etc/named.conf,编辑该文件,添加以下内容以设置监听接口和正向、反向解析区域:

options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { any; };
    directory  "/var/named";
    dump-file  "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};
logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
};
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

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

创建正向解析区域文件,例如enzhi.com.zone:

[root@Bj-1 ~]# vim /var/named/enzhi.com.zone

添加如下内容:

$TTL 86400
@   IN  SOA enzhi.com. admin.enzhi.com. (
              2         ; Serial
        3600         ; Refresh
          1800         ; Retry
        604800         ; Expire
          86400 )5   ; Negative Cache TTL
   );
   IN  NS  ns1.enzhi.com.
   IN  A   192.168.1.141
   IN  MX  10  mail.enzhi.com.
ns1 IN  A   192.168.1.141
mail IN  A   192.168.1.142
www IN  A   192.168.1.143
ftp IN  A   192.168.1.144

保存并退出编辑器,确保修改文件属组为named并将权限设置为640:

chown root:named /var/named/enzhi.com.zone
chmod 640 /var/named/enzhi.com.zone

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

创建反向解析区域文件,例如1.168.192.in-addr.arpa.zone:

[root@Bj-1 ~]# vim /var/named/1.168.192.in-addr.arpa.zone

添加如下内容:

$TTL 86400
@   IN  SOA enzhi.com. admin.enzhi.com. (
              2         ; Serial
        3600         ; Refresh
          1800         ; Retry
        604800         ; Expire
          86400 )5   ; Negative Cache TTL
   );
   IN  NS  ns1.enzhi.com.
   IN  PTR www.enzhi.com.
   IN  PTR mail.enzhi.com.
ns1 IN  A   192.168.1.141

同样,保存并退出编辑器,并确保修改文件属组为named并将权限设置为640:

chown root:named /var/named/1.168.192.in-addr.arpa.zone
chmod 640 /var/named/1.168.192.in-addr.arpa.zone

5. 启动并测试DNS服务

完成上述配置后,启动DNS服务:

sudo systemctl restart named

使用以下命令测试DNS解析是否正常工作:

dig @192.168.1.141 www.enzhi.com

如果一切配置正确,您应该能够看到类似于以下的输出:

;; QUESTION SECTION:
;; www.enzhi.com.                   IN      A
;; ANSWER SECTION:
www.enzhi.com.            86400   IN      A       192.168.1.143

常见问题及解决方法

Q1: 无法启动named服务

检查named服务的配置文件语法是否正确,可以使用以下命令检查配置文件语法:

named-checkconf
named-checkzone enzhi.com /var/named/enzhi.com.zone

确认没有语法错误后,再次尝试启动服务。

Q2: 客户端无法解析域名

确保客户端的DNS设置正确,指向内部DNS服务器的IP地址,检查防火墙设置,确保DNS服务端口(通常是53)已开放。

Q3: 如何更改正向解析区域文件中的TTL值?

TTL值定义了资源记录在DNS缓存中的存活时间,在区域文件的SOA记录中,第二个字段即为TTL值。

@   IN  SOA enzhi.com. admin.enzhi.com. (
              2         ; Serial
        3600         ; Refresh
          1800         ; Retry
        604800         ; Expire
          86400 )5   ; Negative Cache TTL
   );
0