如何在Linux上安装DNS服务器
酷盾叔
•
•
Linux •
阅读 52
安装DNS服务(如BIND9):使用包管理器(如apt install bind9或yum install bind),修改主配置文件(named.conf)和区域文件,定义域名解析规则,启动服务(systemctl start named)并设置开机启动(systemctl enable named),配置防火墙开放53端口,并测试解析。
Linux 安装 DNS 服务器(BIND9)完整指南
DNS(域名系统)是互联网的”电话簿”,负责将域名解析为 IP 地址,本指南详细介绍在 Linux 上安装并配置 BIND9 作为 DNS 服务器的专业流程,适用于 Ubuntu/CentOS 等主流发行版。

📦 一、安装前准备
更新系统
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL
<div class="step">
<h4>2. 安装 BIND9</h4>
<pre><code>sudo apt install bind9 bind9-utils -y # Debian/Ubuntu
sudo yum install bind bind-utils -y # CentOS/RHEL
关键组件说明:
- bind9/bind:DNS 服务主程序
- bind9-utils/bind-utils:包含 dig/nslookup 等诊断工具
⚙️ 二、配置主 DNS 服务器
主配置文件修改
sudo nano /etc/bind/named.conf.options
添加以下内容(根据需求调整):
options {
directory "/var/cache/bind";
recursion yes; # 允许递归查询
allow-query { any; }; # 允许所有客户端查询
forwarders { # 设置上游 DNS
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto; # DNSSEC 验证
listen-on { any; }; # 监听所有接口
};
<div class="step">
<h4>2. 创建正向解析区域文件</h4>
<pre><code>sudo nano /etc/bind/named.conf.local</code></pre>
<p>添加域名声明(以 example.com 为例):</p>
<pre><code>zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
<div class="step">
<h4>3. 创建区域数据文件</h4>
<pre><code>sudo mkdir /etc/bind/zones
sudo nano /etc/bind/zones/db.example.com
添加以下基础记录:

$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025081501 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
; 名称服务器记录@ IN NS ns1.example.com.ns1 IN A 192.168.1.10 ; 替换为您的服务器 IP
; A 记录(域名 → IP)@ IN A 192.168.1.10www IN A 192.168.1.20mail IN A 192.168.1.30
; CNAME 记录(别名)web IN CNAME www