在企业内网环境中,IP 地址往往会因为网络调整而发生变化,频繁修改客户端的 hosts 文件或网络配置会带来极大的管理成本,为了解决这个问题,搭建一个CentOS 7 局域网域名服务器 是运维人员的必备技能,本文将详细介绍如何使用 BIND (Berkeley Internet Name Domain) 在 CentOS 7 上配置一个功能完善的内网 DNS 服务器。
准备工作
我们需要在 CentOS 7 服务器上安装 BIND 软件包,BIND 是目前互联网上使用最广泛的 DNS 服务器软件。
-
安装 BIND 及工具:

yum install bind bind-utils -y
-
检查并启动服务:
systemctl start named systemctl enable named systemctl status named
配置主配置文件
BIND 的主配置文件位于 /etc/named.conf,我们需要确保服务器监听所有网络接口,并且允许局域网内的任何主机进行查询。
-
编辑配置文件:
vi /etc/named.conf
-
关键参数修改:
listen-on port 53: 确保设置为any,以便接受来自局域网的请求。allow-query: 确保设置为any,允许内网客户端查询。forwarders: 如果内网没有公网 DNS,可以配置转发到运营商 DNS(可选)。
options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; 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"; allow-query { any; }; // ... 其他省略 ... };
配置区域文件
为了实现域名解析,我们需要定义正向解析(域名转 IP)和反向解析(IP 转域名)。
-
编辑区域定义文件:
vi /etc/named.rfc1912.zones
-
添加正向解析区域: 假设我们的内网域名为
lan.com,我们将添加一个lan.com的正向区域。zone "lan.com" IN { type master; file "lan.com.zone"; allow-update { none; }; }; -
添加反向解析区域: 假设我们的内网网段是
168.1.0/24,我们需要添加一个反向区域。zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.zone"; allow-update { none; }; };
编写具体的解析记录
区域文件定义在 创建正向解析文件 ( 示例:* 创建反向解析文件 ( 示例:*/var/named/ 目录下,通常以 .zone
lan.com.zone):cd /var/named
cp named.localhost lan.com.zone
vi lan.com.zone
$TTL 1D
@ IN SOA ns.lan.com. admin.lan.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.lan.com.
ns IN A 192.168.1.10 ; DNS服务器IP
www IN A 192.168.1.20 ; Web服务器IP
ftp IN A 192.168.1.30 ; FTP服务器IP
168.1.zone):cp named.localhost 192.168.1.zone
vi 192.168.1.zone
$TTL 1D
@ IN SOA

