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

相关推荐

  • dl380服务器

    380服务器是惠普企业级服务器,性能稳定可靠,适用于多种

    2025年8月19日
    1600
  • 如何打造支撑亿级玩家的弹性游戏架构?

    为支撑亿级玩家在线,系统架构必须具备超大规模承载能力与高度弹性,通过动态伸缩的资源调度,确保海量并发下服务稳定流畅,是应对用户洪峰的核心基石。

    2025年8月8日
    1400
  • 如何选择网吧服务器软件提升运营效率?

    网吧服务器软件是网吧高效运营的核心支撑,通过集中管控、智能资源调度与稳定可靠性能,确保海量终端流畅运行大型游戏与应用,同时简化运维,为玩家提供快速响应、无卡顿的极致沉浸式体验。

    2025年6月26日
    2800
  • 服务器租买

    器租用成本低、灵活,适合短期或资源需求变化大的业务;

    2025年8月16日
    1600
  • iOS连接服务器?步骤与故障排查指南

    iOS连接服务器是移动应用开发中的核心需求,涉及数据同步、文件传输、实时通信等多种场景,由于iOS系统的安全性和封闭性,开发者需遵循苹果的技术规范,选择合适的协议和框架实现稳定、安全的服务器连接,本文将详细解析iOS连接服务器的常见方式、实现步骤及注意事项,并提供相关问题的解决方案,iOS连接服务器的常见方式i……

    6天前
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信