Ubuntu 20.04和CentOS 7+被支持吗?

在Linux系统上搭建DNS服务器是管理网络基础设施的关键步骤,尤其适用于企业内网解析、域名托管或提升本地网络效率,以下基于广泛应用的BIND9(Berkeley Internet Name Domain)软件提供详细指南,内容符合技术准确性(E-A-T原则中的专业性)并参考官方文档(权威性),确保操作安全可靠(可信度)。

  • 确保拥有sudo权限的账户。
  • 服务器需固定IP(如168.1.10)。
  1. 软件选择
    BIND9是ISC维护的开源DNS软件,支持主/从服务器、DNSSEC等特性,通过包管理器安装:

    # Ubuntu/Debian
    sudo apt update && sudo apt install bind9 bind9-utils
    # CentOS/RHEL
    sudo yum install bind bind-utils

配置BIND9核心文件

主配置文件:named.conf

路径:/etc/bind/named.conf(Ubuntu)或/etc/named.conf(CentOS)。
修改以下部分:

  options {
      listen-on port 53 { any; };       // 允许所有IP监听
      allow-query     { any; };         // 允许所有客户端查询
      recursion yes;                    // 启用递归查询(公共DNS需谨慎)
      directory       "/var/cache/bind"; // 工作目录
  };
  // 引入区域文件配置
  include "/etc/bind/named.conf.local";

定义区域文件:named.conf.local

添加正向解析域(如example.local)和反向解析:

  zone "example.local" {
      type master;
      file "/etc/bind/zones/db.example.local";  // 正向区域文件路径
  };
  zone "1.168.192.in-addr.arpa" {              // 反向解析(IP段192.168.1.0/24)
      type master;
      file "/etc/bind/zones/db.192.168.1";
  };

创建正向区域文件

新建目录并创建文件:

  sudo mkdir /etc/bind/zones
  sudo nano /etc/bind/zones/db.example.local
  ```示例:  
  ```plaintext
  $TTL 86400
  @       IN SOA  ns1.example.local. admin.example.local. (
                  2025081501 ; 序列号 (格式:年月日+修订号)
                  3600       ; 刷新时间
                  1800       ; 重试间隔
                  604800     ; 过期时间
                  86400      ; 缓存TTL
  )
  @       IN NS   ns1.example.local.
  ns1     IN A    192.168.1.10
  www     IN A    192.168.1.100
  mail    IN A    192.168.1.200

创建反向区域文件

  sudo nano /etc/bind/zones/db.192.168.1
  ```示例:  
  ```plaintext
  $TTL 86400
  @ IN SOA ns1.example.local. admin.example.local. ( ... ) ; 同正向配置
  @ IN NS  ns1.example.local.
  10 IN PTR ns1.example.local.    ; 192.168.1.10 -> ns1
  100 IN PTR www.example.local.   ; 192.168.1.100 -> www
  200 IN PTR mail.example.local.  ; 192.168.1.200 -> mail

启动服务与验证

  1. 检查配置语法

    sudo named-checkconf     # 检查主配置
    sudo named-checkzone example.local /etc/bind/zones/db.example.local  # 检查正向区域
  2. 启动BIND9服务

    sudo systemctl start named   # CentOS
    sudo systemctl start bind9   # Ubuntu
    sudo systemctl enable named  # 设置开机自启
  3. 配置本地DNS解析
    修改客户端/etc/resolv.conf,添加:

    nameserver 192.168.1.10
  4. 测试解析结果

    dig www.example.local @192.168.1.10        # 正向解析测试
    nslookup 192.168.1.100 192.168.1.10        # 反向解析测试

    成功响应应包含ANSWER SECTION与正确IP/域名。


防火墙与安全加固

  1. 开放53端口

    # Ubuntu
    sudo ufw allow 53/tcp
    sudo ufw allow 53/udp
    # CentOS
    sudo firewall-cmd --permanent --add-service=dns
    sudo firewall-cmd --reload
  2. 关键安全措施

    • 限制递归查询:公共DNS服务器需在options中添加allow-recursion { trusted_ips; };
    • 禁用版本暴露:在named.conf中添加:
      options { version "Not disclosed"; };
    • 启用chroot(可选):通过bind-chroot包隔离进程。

故障排查

  • 服务启动失败
    使用journalctl -u named/var/log/syslog查看错误日志。
  • 解析超时
    检查防火墙规则及客户端resolv.conf配置。
  • 区域文件更新
    修改后需增加序列号,并重启服务:sudo systemctl reload bind9

搭建Linux DNS服务器需严谨遵循配置逻辑与安全实践,通过BIND9的灵活部署,可高效管理内网域名解析,为业务系统提供稳定基础服务,建议定期备份区域文件,并关注ISC安全公告更新版本。

引用说明

  • BIND9官方文档:https://www.isc.org/bind/
  • Ubuntu Server Guide:https://ubuntu.com/server/docs
  • CentOS Wiki:https://wiki.centos.org/
  • 安全配置参考:CIS BIND Benchmark v1.0.0

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

(0)
酷番叔酷番叔
上一篇 2025年7月13日 16:41
下一篇 2025年7月14日 16:51

相关推荐

  • 服务器的特点

    服务器作为计算机体系中的核心设备,其设计目标、硬件配置、软件架构及运行逻辑均与普通个人计算机存在本质区别,旨在为多用户提供稳定、高效、安全的数据处理与资源服务,以下从多个维度详细阐述服务器的核心特点,定义与基础定位服务器(Server)是一种高性能计算机,通过局域网或广域网为客户端计算机(如PC、手机、物联网设……

    2025年9月30日
    5400
  • 服务器为何总自动重启?

    服务器总是自动重启是一个常见但令人困扰的问题,可能由硬件故障、软件错误、环境因素或配置不当等多种原因引起,本文将详细分析可能的原因及对应的解决方法,帮助您快速定位并解决问题,硬件问题排查硬件故障是服务器自动重启的主要原因之一,以下是常见的硬件问题及排查步骤:电源供应不稳定电源老化或功率不足可能导致电压波动,触发……

    2025年11月25日
    4100
  • 服务器协议赔偿责任的划分依据是什么?

    服务器协议赔是服务器服务协议中针对服务方违约行为(如服务中断、数据丢失、安全漏洞等)向客户承担的赔偿责任的核心条款,其本质是通过明确权责划分,保障客户在服务异常时的合法权益,同时为双方处理争议提供依据,这一条款的设置对客户而言是风险防控的关键,对服务商则是服务质量约束的重要手段,从核心要素看,服务器协议赔通常包……

    2025年10月13日
    6100
  • ftp连不上服务器?如何排查连接问题?

    FTP连不上服务器是日常使用中常见的问题,可能涉及网络配置、服务器设置、客户端参数或防火墙规则等多个方面,要解决这一问题,需逐步排查可能的原因,定位故障点并针对性处理,以下从常见原因、排查步骤及解决方法展开说明,网络连接问题网络是FTP通信的基础,若本地与服务器之间的网络链路异常,会导致连接失败,首先检查本地网……

    2025年9月29日
    7300
  • 电脑连接服务器的方法是什么?详细步骤教程

    用电脑连接服务器是日常办公、运维开发或数据管理中的常见需求,无论是访问远程主机、传输文件还是管理服务,掌握正确的连接方法至关重要,本文将详细介绍不同场景下的连接步骤、所需工具及注意事项,帮助读者顺利完成服务器连接,连接前的准备工作在尝试连接服务器前,需确保以下信息已准备妥当,避免因配置缺失导致连接失败:服务器基……

    2025年11月8日
    4900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信