Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> DNS 伺服器

Linux BIND DNS 服務器構建實戰:正向解析、反向解析與 chroot 安全加固

編輯:DNS 伺服器

DNS 服務核心認知

DNS (Domain Name System) 是網路的「電話簿」,將域名映射為 IP 位址。早期使用 /etc/hosts 靜態對應,隨規模擴大轉為分散式 DNS 架構。DNS 採用樹狀層級命名空間,查詢流程:本地快取 → 根域 → 頂級域 → 權威域,逐層遞迴/迭代解析。可用 dig +trace 追蹤完整路徑。

DNS 查詢工作流程圖

BIND 服務器部署全流程 (CentOS/RHEL 環境)

1. 套件查詢與安裝


yum search bind
yum install bind bind-chroot bind-utils
# bind-chroot 提供 /var/named/chroot 獄環境,增強安全性
# bind-utils 提供 dig、host、nslookup 測試工具
套件查詢 安裝套件

2. 服務啟動與埠驗證


service named start
netstat -tunlp | grep :53
# 預期:TCP/UDP 53 監聽於指定介面
服務埠驗證

3. 配置檔案位置說明

建議在 chroot 環境下配置:/var/named/chroot/etc/named.conf、/var/named/chroot/var/named/。兩者與系統目錄同步,但 chroot 環境需在 named 服務成功啟動後才可訪問。

chroot 目錄結構

4. 主配置檔 /var/named/chroot/etc/named.conf 關鍵設定


options {
    listen-on port 53 { 192.168.2.100; 127.0.0.1; };
    listen-on-v6 port 53 { none; };  # 關閉 IPv6
    directory "/var/named";
    allow-query { any; };            # 允許任意查詢 (實驗環境)
    recursion yes;                   # 啟用遞迴查詢
    dnssec-enable no;                # 實驗關閉 DNSSEC
    dnssec-validation no;
};

# 根提示、localhost 區域引用預設檔案
include "/etc/named.rfc1912.zones";
include "/etc/rndc.key";
主配置選項 include 行

5. 正向解析區域配置 (example.com)

副配置檔 /var/named/chroot/etc/named.rfc1912.zones 新增區域定義:


zone "example.com" IN {
    type master;
    file "example.com.zone";
    allow-update { none; };
};
區域定義

區域資料檔 /var/named/chroot/var/named/example.com.zone:


$TTL 86400
$ORIGIN example.com.
@ IN SOA example.com. root.example.com. (
    2017010101 ; Serial
    3H         ; Refresh
    15M        ; Retry
    1W         ; Expire
    1D )       ; Minimum
  IN NS ns
  IN MX 10 mail
ns IN A 192.168.2.100
mail IN A 192.168.2.100
www IN A 192.168.2.100
ftp IN A 192.168.2.100
web IN CNAME www

關鍵語法提醒:

  • @ 代表 $ORIGIN 值 (example.com.)
  • 記錄名稱未加尾點 (www) 會自動補全為 www.example.com.
  • 尾點 (example.com.) 表示 FQDN,避免重複附加
  • 同一名稱多個 A 記錄 → 輪詢負載均衡
區域檔模板 初始模板 修改後區域檔

6. 客戶端驗證正向解析

修改客戶端 /etc/sysconfig/network-scripts/ifcfg-eth0 設定 DNS1=192.168.2.100,重啟 network 服務。


service network restart
dig www.example.com @192.168.2.100
# 驗證返回正確 IP 且 SERVER 顯示 192.168.2.100
客戶端 DNS 設定 重啟 network dig 追蹤驗證 解析成功

7. 反向解析區域配置 (2.168.192.in-addr.arpa)

副配置檔新增反向區域定義:


zone "2.168.192.in-addr.arpa" IN {
    type master;
    file "2.168.192.zone";
    allow-update { none; };
};

注意:區域名稱為網段反寫 + .in-addr.arpa. (192.168.2 → 2.168.192)

反向區域定義

反向區域資料檔 /var/named/chroot/var/named/2.168.192.zone:


$TTL 86400
$ORIGIN 2.168.192.in-addr.arpa.
@ IN SOA example.com. root.example.com. (
    2017010101 ; Serial
    3H         ; Refresh
    15M        ; Retry
    1W         ; Expire
    1D )       ; Minimum
  IN NS ns.example.com.
100 IN PTR ptr.example.com.

最後一行:100 代表主機位元組 (192.168.2.100) → ptr.example.com.

反向區域檔模板 模板內容 修改後反向區域檔 PTR 記錄詳情

8. 重啟服務並驗證反向解析


service named restart
dig -x 192.168.2.100 @192.168.2.100
# 預期返回 PTR ptr.example.com.
重啟服務 反向解析驗證成功

進階主題預告

本文完成基礎正/反向解析。後續將涵蓋:

  • 主從同步 (Zone Transfer / IXFR / Notify)
  • DHCP + DNS 動態更新 (DDNS)
  • DNSSEC 簽署與驗證
  • 分割視圖 實現內外網差異化解析
  • 效能調優與監控告警
Copyright © Windows教程網 All Rights Reserved