Ubuntu 22.04值得升级吗?

DNS(域名系统)是互联网的”电话簿”,负责将域名(如 example.com)转换为IP地址(如 0.2.1),在Ubuntu上部署DNS服务器可提升网络管理效率、实现本地域名解析或构建私有网络服务,本文将详细指导您使用BIND9(Berkeley Internet Name Domain)——最广泛使用的开源DNS软件——在Ubuntu 22.04 LTS上搭建专业级DNS服务器。

  • sudo 权限账户
  • 静态IP地址(168.1.10
  • 终端访问(通过SSH或本地)
  1. 更新系统
    sudo apt update && sudo apt upgrade -y

安装BIND9

BIND9是ISC开发的权威DNS软件,支持现代DNS标准(如DNSSEC),执行安装命令:

sudo apt install bind9 bind9utils bind9-dnsutils -y

验证安装:

named -v  # 输出应显示 BIND 9.18.x

配置BIND9

步骤1:主配置文件设置

编辑主配置文件 /etc/bind/named.conf.options

sudo nano /etc/bind/named.conf.options

options 块内添加:

listen-on { any; };          // 监听所有接口
allow-query { any; };        // 允许所有客户端查询
forwarders {                 // 设置上游DNS(如Google DNS)
    8.8.8.8;
    8.8.4.4;
};
dnssec-validation auto;      // 启用DNSSEC验证

步骤2:创建正向解析区域

  1. 定义区域文件
    编辑 /etc/bind/named.conf.local

    sudo nano /etc/bind/named.conf.local

    添加以下内容(以 example.com 为例):

    zone "example.com" {
        type master;
        file "/etc/bind/zones/db.example.com";  // 区域文件路径
    };
  2. 创建正向区域文件

    sudo mkdir /etc/bind/zones
    sudo nano /etc/bind/zones/db.example.com

    写入以下内容:

    $TTL 86400  ; 默认缓存时间(24小时)
    @   IN  SOA ns1.example.com. admin.example.com. (
        2025010101  ; 序列号 (格式: YYYYMMDDNN)
        3600        ; 刷新时间
        1800        ; 重试时间
        604800      ; 过期时间
        86400       ; 最小TTL
    )
    @       IN  NS  ns1.example.com.  ; 域名服务器记录
    ns1     IN  A   192.168.1.10      ; DNS服务器IP
    www     IN  A   192.168.1.20      ; 网站服务器IP
    mail    IN  A   192.168.1.30      ; 邮件服务器IP

步骤3:创建反向解析区域(可选)

/etc/bind/named.conf.local 追加:

zone "1.168.192.in-addr.arpa" {  // 反向IP段(192.168.1.x)
    type master;
    file "/etc/bind/zones/db.192.168.1";
};

创建反向区域文件:

sudo nano /etc/bind/zones/db.192.168.1
```  示例:  
```conf
$TTL 86400
@  IN  SOA  ns1.example.com. admin.example.com. (2025010101 3600 1800 604800 86400)
@  IN  NS   ns1.example.com.
10 IN  PTR  ns1.example.com.   ; 192.168.1.10 -> ns1
20 IN  PTR  www.example.com.   ; 192.168.1.20 -> www
30 IN  PTR  mail.example.com.  ; 192.168.1.30 -> mail

启动服务与防火墙设置

  1. 检查配置语法

    sudo named-checkconf
    sudo named-checkzone example.com /etc/bind/zones/db.example.com
  2. 重启BIND9

    sudo systemctl restart bind9
  3. 允许DNS通过防火墙

    sudo ufw allow 53/tcp
    sudo ufw allow 53/udp
    sudo ufw reload

测试DNS服务器

方法1:使用 dig(本地测试)

dig @localhost www.example.com

预期输出:

;; ANSWER SECTION:
www.example.com.    86400   IN  A   192.168.1.20

方法2:客户端测试(以Linux为例)

在另一台机器上修改 /etc/resolv.conf

nameserver 192.168.1.10  # 替换为您的DNS服务器IP

执行:

nslookup www.example.com

安全加固建议

  1. 限制区域传输
    在区域文件中添加:

    allow-transfer { none; };  // 禁止所有传输
  2. 启用BIND Chroot(可选)

    sudo apt install bind9-chroot
    sudo systemctl restart bind9
  3. 定期更新软件

    sudo apt update && sudo apt upgrade bind9

故障排除

  • 查看日志sudo journalctl -u bind9 -f
  • 检查端口监听sudo ss -tuln | grep 53
  • 清除客户端缓存sudo systemd-resolve --flush-caches

通过本指南,您已在Ubuntu上成功部署了具备正向/反向解析能力的DNS服务器,BIND9的灵活性使其适用于从家庭网络到企业级应用的各种场景,定期维护和遵循安全实践是保障服务稳定的关键。

引用说明

  • ISC BIND 官方文档
  • Ubuntu Server 22.04 LTS 文档
  • DNS协议标准:RFC 1034, RFC 1035 基于开源技术文档编写,已通过实际环境验证(Ubuntu 22.04 LTS, BIND 9.18.12)。*

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

(0)
酷番叔酷番叔
上一篇 4天前
下一篇 4天前

相关推荐

  • PPPoE路由为何与众不同?

    PPPoE服务器的路由特殊在于它需为每个用户建立并维护独立的PPP会话,在以太网帧中封装/解封装PPP数据包,其路由决策依赖于会话状态而非单纯IP地址。

    2025年7月19日
    1400
  • 服务器FTP位置如何查找?

    FTP服务存在的核心条件已安装FTP服务端软件如未安装vsftpd(Linux)或FileZilla Server(Windows),则服务器本身无FTP功能,已配置访问权限需管理员设置账号密码、目录路径及端口(默认21端口),查找FTP服务的具体方法▶ 场景1:您拥有服务器管理权限Windows服务器控制面板……

    2025年6月27日
    2100
  • SATA硬盘真能扛住服务器压力?

    SATA硬盘在服务器中主要承担大容量、低成本存储角色,适用于冷数据、备份归档及对性能要求不高的应用场景,其优势在于单位容量成本低,但相比SAS/NVMe在性能、可靠性和接口速率上存在差距,选型需平衡容量需求、预算限制与业务性能要求。

    2025年7月29日
    1000
  • 服务器添加IP地址难吗?

    登录服务器,编辑网卡配置文件(如ifcfg-eth0),添加新IP地址、子网掩码和网关信息,保存后重启网络服务(如systemctl restart network)或重启网卡,最后使用ip addr或ifconfig命令验证新IP是否生效,注意区分临时添加与永久配置方法。

    2025年7月15日
    1500
  • 如何理解App服务器架构?

    App服务器架构指支撑移动应用运行的后端系统设计,包含处理业务逻辑、数据存储、接口服务等核心组件,确保应用稳定高效运行。

    2025年7月4日
    1900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信