温馨提示×

centos域名如何管理DNS记录

小樊
50
2025-11-21 19:03:16
栏目: 云计算

在 CentOS 上管理域名的 DNS 记录


一、方案总览与选择

  • 自建权威 DNS 服务器:使用 BIND 管理 正向区域(A、AAAA、CNAME、MX、TXT 等)反向区域(PTR),适合需要对外或对内提供权威解析、具备主从与转发能力的场景。
  • 轻量内网解析:使用 dnsmasq,通过 hosts 或目录文件快速维护少量记录,适合小型网络、离线/资源受限环境。
  • 仅做解析客户端:不管理记录,只在本机配置 /etc/resolv.confnameserver 使用上游 DNS(如内网 DNS 或公共 DNS)。
  • 安全加固:生产环境建议启用 BIND 的 chroot 运行环境,降低被攻破后的影响面。

二、自建权威 DNS 服务器 BIND 实操

  • 安装与基础配置
    • 安装软件包:sudo yum install bind bind-utils -y
    • 编辑主配置 /etc/named.conf,示例要点:
      • options 中设置监听与允许查询网段(如内网网段),例如:listen-on port 53 { any; }; allow-query { any; };
      • 定义区域:
        • 正向:zone “example.com” IN { type master; file “example.com.zone”; allow-update { none; }; };
        • 反向(示例网段 192.168.1.0/24):zone “1.168.192.in-addr.arpa” IN { type master; file “192.168.1.zone”; allow-update { none; }; };
  • 创建区域文件
    • 正向 /var/named/example.com.zone(示例):
      $TTL 604800
      @       IN      SOA     ns1.example.com. admin.example.com. (
                              2025040101 ; Serial,每次修改递增
                          604800         ; Refresh
                           86400         ; Retry
                         2419200         ; Expire
                          604800 )       ; Negative Cache TTL
      @       IN      NS      ns1.example.com.
      ns1     IN      A       192.168.1.10
      www     IN      A       192.168.1.10
      mail    IN      A       192.168.1.11
      @       IN      MX 10   mail.example.com.
      _acme-challenge IN TXT "challenge-token"
      
    • 反向 /var/named/192.168.1.zone(示例):
      $TTL 604800
      @ IN SOA ns1.example.com. admin.example.com. (
          2025040101 3600 1800 604800 86400 )
      @ IN NS ns1.example.com.
      10 IN PTR ns1.example.com.
      10 IN PTR www.example.com.
      11 IN PTR mail.example.com.
      
  • 检查与生效
    • 语法检查:sudo named-checkconf;区域检查:sudo named-checkzone example.com /var/named/example.com.zone;sudo named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone
    • 重载服务:sudo systemctl reload named(或 restart)
  • 防火墙与客户端
    • 放行端口:sudo firewall-cmd --permanent --add-service=dns && sudo firewall-cmd --reload
    • 客户端使用:编辑 /etc/resolv.conf,添加 nameserver 192.168.1.10
  • 测试
    • 正向:dig example.com +short;反向:dig -x 192.168.1.10 +short
    • 指定服务器测试:dig @localhost example.com

三、常见记录类型与添加方法

  • 新增或变更记录时,遵循“编辑区域文件 → 递增 SOA Serial → 检查配置 → reload”的流程;删除记录同理,仅移除对应行并递增 Serial。
  • 常用记录示例(追加到正向区域文件):
    ; A 记录
    app     IN      A       192.168.1.12
    ; AAAA 记录
    app     IN      AAAA    2001:db8::10
    ; CNAME 记录(别名)
    www     IN      CNAME   app.example.com.
    ; MX 记录(优先级数值越小优先级越高)
    @       IN      MX 10   mail.example.com.
    ; TXT 记录(常用于 SPF、DKIM、验证等)
    @       IN      TXT     "v=spf1 mx ~all"
    ; SRV 记录(服务发现)
    _sip._tcp IN   SRV     10 5 5060 sipserver.example.com.
    
  • 反向解析需同步在相应 in-addr.arpa 区域中新增 PTR 记录,例如:12 IN PTR app.example.com。

四、主从架构与高可用

  • 主服务器:在正向/反向区域配置中设置 type master; 并在 allow-update 中仅允许从服务器(如从服务器 IP 为 192.168.1.20):allow-update { 192.168.1.20; };
  • 从服务器:配置 type slave; 并指定主服务器地址与同步文件位置,例如:
    zone "example.com" IN {
        type slave;
        masters { 192.168.1.10; };
        file "slaves/example.com.zone";
    };
    zone "1.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.1.10; };
        file "slaves/192.168.1.zone";
    };
    
  • 同步验证:从服务器重启后,检查 /var/named/slaves/ 是否自动拉取区域文件;随后可把客户端 DNS 指向从服务器以分担查询。

五、进阶与安全建议

  • 转发外网查询:在 named.conf options 中添加上游 DNS,例如:
    options {
        ...
        forwarders { 8.8.8.8; 1.1.1.1; };
        forward only;
    };
    
  • 安全与加固
    • 启用 chroot:安装 bind-chroot,配置与文件将位于 /var/named/chroot/ 下,提升安全性。
    • 限制查询与递归:生产环境建议将 allow-query 限制为内网网段,仅对受控客户端开放递归查询。
    • 区域传输安全:从服务器使用 TSIG 进行区域传输鉴权(可选,提升安全)。

0