DNS服务器不工作怎么办

在Ubuntu系统上配置DNS服务器是管理网络基础设施的关键步骤,它能将域名转换为IP地址,确保用户快速访问网站,本文以BIND9(Berkeley Internet Name Domain)为例,提供专业、安全的配置指南,所有步骤均通过Ubuntu官方文档及行业最佳实践验证。

  • 权威DNS:管理特定域名的解析记录(如example.com)。
  • 递归DNS:为客户端查询外部域名(如Google公共DNS)。
  • BIND9:开源DNS软件,支持权威和递归解析,被全球90%的DNS系统采用。

在Ubuntu安装BIND9

sudo apt update
sudo apt install bind9 bind9utils bind9-doc
  • 关键组件
    • bind9:主程序
    • bind9utils:诊断工具(如named-checkconf
    • bind9-doc:官方文档

配置权威DNS服务器(以域example.com为例)

步骤1:主配置文件

编辑/etc/bind/named.conf.options

options {
    directory "/var/cache/bind";
    listen-on { any; };        # 监听所有IP
    allow-query { any; };      # 允许所有客户端查询
    recursion no;              # 关闭递归(仅权威解析)
    dnssec-validation auto;    # 启用DNSSEC安全验证
};

步骤2:定义区域文件

创建区域配置文件/etc/bind/named.conf.local

zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";  # 区域文件路径
};

步骤3:创建区域数据库文件

新建/etc/bind/db.example.com

;
; 区域文件: example.com
;
$TTL 86400                      ; 默认缓存时间(24小时)
@       IN      SOA     ns1.example.com. admin.example.com. (
                          2025081501  ; 序列号 (格式: YYYYMMDDNN)
                          3600        ; 刷新时间
                          1800        ; 重试时间
                          604800      ; 过期时间
                          86400       ; 最小TTL
                          )
;
; 名称服务器记录
@       IN      NS      ns1.example.com.
@       IN      NS      ns2.example.com.
; A记录 (域名 -> IP)
ns1     IN      A       192.168.1.10
ns2     IN      A       192.168.1.11
www     IN      A       192.168.1.100
mail    IN      A       192.168.1.200
; CNAME记录 (别名)
web     IN      CNAME   www.example.com.

步骤4:验证配置

sudo named-checkconf          # 检查主配置
sudo named-checkzone example.com /etc/bind/db.example.com  # 检查区域文件

配置递归DNS服务器

编辑/etc/bind/named.conf.options

options {
    recursion yes;            # 启用递归
    allow-recursion { any; }; # 允许所有客户端递归查询
    forwarders {
        8.8.8.8;             # 上游DNS(如Google DNS)
        1.1.1.1;             # Cloudflare DNS
    };
};

启动服务与防火墙

sudo systemctl restart bind9
sudo ufw allow 53/tcp         # 允许TCP(区域传输)
sudo ufw allow 53/udp         # 允许UDP(常规查询)

测试DNS解析

  1. 本地测试
    dig @localhost www.example.com
  2. 外部测试(确保服务器公网IP开放53端口):
    dig @your_server_ip example.com

安全加固最佳实践

  1. 限制区域传输:在named.conf.local中添加:
    zone "example.com" {
        allow-transfer { 192.168.1.11; }; # 仅允许从服务器IP传输
    };
  2. 禁用版本信息:在named.conf.options中增加:
    version "not disclosed";
  3. 定期更新
    sudo apt upgrade bind9

故障排除

  • 查看日志tail -f /var/log/syslog | grep named
  • 检测配置sudo named-checkconf
  • 测试递归dig +trace ubuntu.com

通过BIND9在Ubuntu部署DNS服务器,既可实现域名的高效解析,又能通过DNSSEC、访问控制等机制保障安全,定期审查日志、更新软件是维护稳定性的关键,对于企业环境,建议部署主从架构(Master-Slave)以实现高可用。

引用说明
本文配置参考自 ISC BIND 9 官方文档 及 Ubuntu Server Guide,安全实践遵循 CIS BIND Benchmark。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9781.html

(0)
酷番叔酷番叔
上一篇 2025年8月6日 19:58
下一篇 2025年8月6日 20:11

相关推荐

  • 复制云服务器网站文件到本地,如何快速备份服务器数据

    通过SFTP协议或Git版本控制工具,配合本地开发环境(如VS Code或WebStorm)的同步插件,可实现云服务器网站文件至本地的高效、安全复制,这是2026年前端工程化与运维自动化中的标准实践流程,在数字化转型进入深水区后,单纯依靠浏览器后台管理文件已无法满足敏捷开发需求,2026年,随着边缘计算与云原生……

    2026年6月4日
    4300
  • 丰云行车联网车辆设置有何特别之处?丰云行车联网设置教程

    丰云行车联网车辆设置的核心在于通过“丰云行”APP实现车辆状态的实时监控、远程控车及个性化功能配置,其本质是连接智能座舱与云端服务的关键入口,旨在提升驾驶安全性与用车便捷性,丰云行车联网系统架构与核心功能解析丰云行并非简单的远程遥控工具,而是基于V2X(车联网)技术构建的数字化生态平台,对于2026年的用户而言……

    2026年7月2日
    6800
  • 丰县智慧教室云平台,如何引领教育信息化新潮流?丰县智慧教室云平台

    丰县智慧教室云平台通过“云-边-端”一体化架构,实现了全县教育资源的实时共享与教学数据的精准分析,是提升区域教育均衡化与智能化的核心基础设施, 丰县智慧教室云平台的核心架构与价值技术底座:从“建设”到“运营”的转变传统教室改造往往止步于硬件铺设,而丰县智慧教室云平台的核心优势在于其持续的数据运营能力,基于202……

    2026年6月30日
    3000
  • TensorFlow云主机为何兼具高性能与入门级?

    支持灵活配置与弹性伸缩,预置优化环境,低配易上手,高配算力强,满足不同需求。

    2026年2月24日
    9400
  • 服务器地址如何查询

    命令行输入“ipconfig /all”可查看本机网络信息,其中包含服务器地址相关信息。

    2025年8月10日
    19200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信