web-dev-qa-db-ja.com

nsupdateがローカルホストで失敗する-バインド8

ローカルでrndcを介してゾーンtest.netを追加しましたが、正常に機能しています。次に、nsupdateを介して更新したいのですが、ローカルでは、ゾーン構成は次のとおりです。

zone test.net {type master; file "zones-remote/masters/test.net" ; allow-update{localhost;};};

私がこれをするとき、

nsupdate
server localhost
zone sample.test.net
update add sample.test.net 86400 A 134.23.32.4
send

「更新に失敗しました:NOTAUTH」というエラーが表示されます

ギブを送る前に、ショーでそれをチェックして、

Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; ZONE SECTION:
;test.net.                      IN      SOA

;; UPDATE SECTION:
sample.test.net.        86400   IN      A       134.23.32.4

やってみると、

nsupdate
server localhost
zone test.net #     Actual zone name
update add sample.test.net 86400 A 134.23.32.4
send

次に、エラー「SERVFAIL」が表示されます。

私のゾーンファイルは次のようになります、

@     86400      IN  SOA  test.net. sampling.gmail.com. (
                    2014101001
  3h
  1h
  1w
  30m86400s)

@ 84600 NS ns1.test.net.
@ 84600 IN  A 42.42.42.42
ns1 84600 IN A 42.42.42.42

このゾーンファイルは正しく、ドメインに対するクエリを解決します。

2
Anss

zoneを指定すると、後続のすべてのトランザクションの「オリジン」を定義することになります。指定したレコード名は、末尾のドットが存在しない限り、このオリジンに関連していると見なされます。

  • zone sample.test.netの場合、レコードは@またはsample.test.net.である必要があります。
  • zone test.netの場合、レコードはsampleまたはsample.test.net.である必要があります。

SERVFAILは、要求されたレコードがsample.test.net.test.net.にマップされたために発生します。これは、定義されたsample.test.net.ゾーンの外にあります。

最初のリクエストでNOTAUTHを取得する理由はわかりませんが(sample.test.net.sample.test.net.sample.test.net.に含まれます)、そこで何が起こっているのかを推測するのに多くの時間を費やすことはできません。サポートされていないバージョンのBINDを実行しています。 nsupdateクライアントとサーバーの両方がサポートされているバージョンを実行していることを確認し、問題が解決しない場合は質問を更新してください。

2
Andrew B