Domain-Name-System

DNS (NSD) 區域傳輸不起作用

  • February 20, 2017

我正在嘗試使用 NSD 創建主/從設置。我在兩台伺服器上安裝了 NSD。伺服器執行良好;當我執行正常的 DNS 查詢時,它們會從區域文件中返回資訊。但是,當我嘗試nsdc notify在主伺服器上時,從伺服器似乎沒有選擇新的區域配置。

master 上的 nsd.conf 文件如下所示:

## NSD authoritative only DNS
#

server:
   logfile: "/var/log/nsd.log"
   port: 53
   server-count: 1
   ip4-only: yes
   hide-version: yes
   identity: ""
   zonesdir: "/etc/nsd3"
   verbosity: 3

zone:
   name: domain.com
   zonefile: www.domain.com.forward
   notify: <ip slave> NOKEY
   provide-xfr: <ip slave> NOKEY

從伺服器上的 nsd.conf 如下所示:

## NSD authoritative only DNS
#

server:
   logfile: "/var/log/nsd.log"
   port: 53
   server-count: 1
   ip4-only: yes
   hide-version: yes
   identity: ""
   zonesdir: "/etc/nsd3"
   verbosity: 3

zone:
   name: domain.com
   zonefile: www.domain.com.forward
   allow-notify: <ip master> NOKEY
   request-xfr: AXFR <ip master> NOKEY

zonefile 文件在主伺服器上如下所示:

$ORIGIN domain.com.
$TTL 86400           ; default time to live

@ IN SOA ns1.domain.com. admin.domain.com. (
   2011010203  ; serial number
   28800       ; Refresh
   7200        ; Retry
   864000      ; Expire
   86400       ; Min TTL
   )

NS  ns1.domain.com.
MX  10  mailfilter.hostingprovider.com.

mail    IN  A   <ip mailserver hostingprovider>
www IN  A   <ip master>

ns1     IN      A       <ip master>
ns2     IN      A       <ip slave>


newvalue    IN  A   8.8.8.8

*   IN  A   <ip master>

轉發文件在從伺服器上是相同的,除了帶有“newvalue”的行(我要傳輸的值)。

如果我nsdc notify在主伺服器上執行 a ,則以下內容將出現在從屬伺服器的日誌中:

[1487507948] nsd[26038]: info: Notify received and accepted, forward to xfrd
[1487507948] nsd[26037]: info: Handle incoming notify for zone domain.com

但是,區域文件似乎沒有得到更新。通知之後,我nsdc patch; nsdc rebuild; nsdc reload; service nsd3 restart在從伺服器上執行,只是為了確定。但這也不會更改區域文件。

此外,如果我dig axfr @<master ip> domain.com在從伺服器上執行 a,我會得到一個不錯的區域傳輸。

為什麼從伺服器不更新區域文件?

區域的序列號需要在任何更改後遞增

在嘗試傳輸之前,從站將首先檢查它是否具有最新的區域,否則將忽略通知。通常的做法是使用 YYYYMMDDxx 格式,其中 xx 是次要修訂號*(如果不小心設置得太大,則必須遵循一個過程來再次降低該數字)*

nsd-control替換 nsdc 的更高版本的 nsd 中,該命令transfer可用於嘗試或force_transfer更新,而不考慮串列更改。

引用自:https://serverfault.com/questions/833723