[精讚] [會員登入]
4

DNS slave 要怎麼更新zone,和zone更新有關的指令。

DNS slave 要怎麼更新zone?

分享此文連結 //n.sfs.tw/16559

分享連結 DNS slave 要怎麼更新zone,和zone更新有關的指令。@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2025-12-09 11:25:47 最後編修
2025-11-11 16:38:29 By 張○○
 

自動目錄

zone 傳輸(AXFR / IXFR) 有關的指令為 rndc。

 

確認 slave 的狀態

在slave的主機中

sudo rndc status

# rndc status
version: 9.9.4-RedHat-9.9.4-61.el7_5.1 <id:8f9657aa>
CPUs found: 8
worker threads: 8
UDP listeners per interface: 8
number of zones: 834
debug level: 0   <== 見下面說明
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 25/0/1000
tcp clients: 4/100  <== 連線中/最大 連線tcp用戶數
server is up and running

debug level: 0

0:表示沒有開除錯模式(預設值)。

如果你用 rndc trace 或 rndc trace N(例如 rndc trace 3)開啟除錯層級,這個值就會變高。

可以用 rndc notrace 關閉除錯。

xfers running: 0

xfers = zone transfers(區域傳輸)。這表示目前正在進行的 zone 傳輸數量。

0 → 沒有正在同步的 zone。

如果 slave 正在從 master 抓 zone(AXFR / IXFR),這個數字會暫時變成 1 或更多。

可用 rndc status 觀察同步是否卡住。

xfers deferred: 0

這表示等待中的 zone 傳輸數量。

有時候同時要同步的 zone 太多,或 transfers-in 限制太低(見 named.conf),

其他 zone 傳輸就會被「暫緩(deferred)」。

0 表示目前沒有等待的 zone 傳輸。

若看到非 0(例如 3),就代表有 3 個 zone 正在排隊等待同步。

可以在 options 區塊調整:

options {

    transfers-in 10;   // 預設是 10

};

recursive clients: 25/0/1000

格式:目前遞迴查詢數 / 被拒絕的遞迴請求 / 最大可容許的遞迴查詢量

 

確認slave 單一個zone

使用 rndc zonestatus 指令來查看單一個zone的更新情況,很適合拿來糾錯,例如要查詢 example.com 這個網域目前情況。

這個指令可在 slave 或master下。

[MASTER]

# sudo rndc zonestatus example.com
name: example.com
type: primary
files: host/example.com.static
serial: 2022112751
nodes: 788
last loaded: Tue, 11 Nov 2025 03:53:29 GMT
secure: no
dynamic: yes
frozen: no
reconfigurable via modzone: no

[SLAVE]

# rndc zonestatus example.com
name: example.com
type: slave
files: slave/example.com.hosts
serial: 2022112751
nodes: 788
last loaded: Thu, 20 Nov 2025 05:03:32 GMT
next refresh: Tue, 09 Dec 2025 11:45:34 GMT
expires: Thu, 08 Jan 2026 02:39:42 GMT
secure: no
dynamic: no
reconfigurable via modzone: no

上面欄位的意思:

dynamic: yes/no

表示 這個 zone 是否允許動態更新(Dynamic DNS, DDNS)。

✔ dynamic = no

不允許 使用 nsupdate 或 DHCP 自動更新 DNS 記錄。

區域檔案是 靜態 zone file(例如 .hosts),只有手動修改 zone file + reload 才會更新。

不會產生 .jnl 日誌檔(journal file)。

✔ dynamic = yes

表示此 zone 是 動態區域。

允許以下方式修改 DNS:

  •   nsupdate
  •   DHCP server 更新區域記錄
  •   TSIG 驗證的動態更新

 

frozen: yes/no

frozen: yes/no 是專門針對 dynamic zone(動態區域) 的狀態標記

frozen: no 時這個 zone 處於正常狀態,允許動態更新(如果 dynamic=yes)、允許寫入 .jnl 檔、zone file 可以被 BIND 自動更新。

也就是 正常可寫、可動態更新。

 

當 zone 變成 frozen(凍結)時:

  •   BIND 停止寫入 .jnl(journal 檔案)
  •   zone 變成唯讀(read-only)
  •   不允許動態更新(nsupdate)
  •   BIND 也不會把 .jnl 的內容寫回 zone file

凍結zone

rndc freeze example.com

解凍zone

rndc thaw example.com

reconfigurable via modzone: yes / no

表示這個 zone 是否能透過 named 自身的 “inline reconfiguration” 來修改 zone 設定。

這通常與 BIND 的 modzone API / Inline Signing / Dynamic Update 有關。

 

✔ reconfigurable via modzone = no

此 zone 的設定(如 master/slave, allow-update, options)

不能透過 rndc 或動態方式直接修改。

若要變更設定,你需要:

修改 named.conf

reload / restart named

 

✔ reconfigurable via modzone = yes

表示 zone 設定可以在 BIND 運作中修改,例如:

自動新增 NSEC/NSEC3 設定

inline signing 自動調整

動態套用某些 zone options

不需修改 named.conf

 

刪除 zone 快取再 reload

sudo rndc freeze example.com
sudo rm /var/named/slaves/db.example.com
sudo rndc thaw example.com

這是比較暴力但有效的方法。

freeze:暫停該 zone 的寫入活動。

thaw:解除 freeze 並重新讀取 zone(會觸發 zone 重新同步)。


 

其它指令

手動加入更新的排程

rndc refresh example.com

強制重抓 zone

rndc retransfer example.com

重新載入設定

rndc reload

 

 

 

 

END

你可能感興趣的文章

電子郵件郵址email的格式 電子郵件email的格式和規則

FIREFOX設定自己的搜尋引擎 在火狐上設定自己的搜尋引擎

NMAP 掃描方式說明 Nmap 的幾種掃瞄方式

DNS slave 要怎麼更新zone,和zone更新有關的指令。 DNS slave 要怎麼更新zone?

在CISCO中打入中文(big5) cisco ios如果是由linux主機跳進去,我就不能打入中文,因為我的linux主機是utf8,而cisco的ios還是big5,中文字就打不進去

[Centos7] 升級gcc/gcc-c++ 由5.8版升級到9.3版 Centos7 使用yum安裝的gcc只到4.8.5(2015年版本),想辦法網級到 9.3

隨機好文

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

維修冰箱 維修冰箱

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI