[精讚] [會員登入]
12

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

你可能感興趣的文章

FIREFOX設定GOOGLE翻譯搜尋引擎 在火狐上設定google翻譯成為自己的搜尋引擎

[Docker] oracle db + php 的安裝和使用 oracle 就是熟知的「甲古文」,從小聽到大但第一次接觸,真是非常陌生

[Analytics] Google analytics 如何刪除資源和應用程式 當不再需要統計的站台要刪除analytics的統計時,找不到在哪裡可以刪除,怎麼操作?

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

[Analytics GA4] Google analytics 如何新增資源 Google analytics GA4中要怎麼新增資源?

ical 的欄位(RFC2445) 最近研究 iCalendar,發現這是一個RFC2445,為了把ics塞到資料庫,得花點時間研究一下RFC。

隨機好文

談借錢 人借錢時手心向上頭向下,人還錢時手心向下頭向上

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

此一時彼一時 我是不是易怒的人,其實我也不知道,總之我常會失控,不知道自己在幹嘛。這近生活過得浮浮的,不是很踏實,總會想太多,我甚至會

[Mysql/MariaDB] 查看資料庫所占空間 查看資料庫在磁碟中所占空間