スポンサーリンク

NSUPDATE(8) FreeBSD システム管理者マニュアル NSUPDATE(8)

名称

nsupdate − 対話的に Internet ネームサーバを更新する

書式

nsupdate [−k keydir:keyname] [−d] [−v] [filename]

解説

nsupdate は動的な更新をサポートした Internet ドメインネームサーバを更新す るためのプログラムです。 nsupdate は DNS のリソースレコード (RR) を追加し たり削除したりするメッセージを DNS サーバに伝えるために、DNS リゾルバライ ブラリを使用します。 nsupdate は入力を filename もしくは、標準入力から読 み取ります。

引数

       −k

TSIG を用いて更新に署名します。

−d
デバッグモードを指定します。

−v
バーチャルサーキット - サーバとの通信に TCP を使用します。既 定値では UDP を使用します。

入力書式

nsupdate は 1 行ごとに 1 個の入力レコードを読みます。それぞれの行は更新要 求の対象になるリソースレコードです。 1 個の更新要求に含まれるすべてのドメ イン名は、同一の DNS ゾーンに含まれるものであることが必要です。更新 は、SOA MNAME フィールドで定義されるマスタサーバへ送られます。空行は、蓄 積されたレコードを 1 個の更新要求としてまとめ、ゾーンの権威をもつネーム サーバへの送信を指示します。追加レコードを続けることが可能です。これら は、追加的な、完全に独立した更新要求になります。最後の要求が送信されるた めには、空行が入力の最後にあることが必要です。

レコードはふたつの一般的な形式のうちのどちらかの形式です。 必要条件 (prerequisite) レコードは、要求が処理される前に満たされていることが必要な 条件を指示します。 更新情報 (update) レコードは、DNS データベースになされ る変更を指示します。更新要求は、0 個以上の必要条件と、1 個以上の更新情報 から成ります。それぞれの更新要求は、すべての必要条件が満たされることが確 認されたあとで、すべての更新が実行されるという順番で、原子的に処理されま す。

nsupdate は次のような入力レコードの書式を理解します。

       prereq nxdomain domain-name domain-name で指定したドメイン内に、どのような RR もないことを要求します。

prereq yxdomain domain-name domain-name で指定したドメイン内に、最低 1 個の RR が存在することを要求します。

prereq nxrrset domain-name [class] type domain-name で指定したドメイ ン内に type で指定した型の RR が存在しないことを要求します。

prereq yxrrset domain-name [class] type [data...] domain-name で指定 したドメイン内に、 type で指定した型の RR が存在することを要求し ます。 data が指定された場合は、正確にチェックが行なわれます。

update delete domain-name [class] [type [data...]] domain-name で指定 したドメイン名の RR を削除します。もし type (と、可能ならば data) が指定されれば、該当されるレコードだけが削除されます。

update add domain-name ttl [class] type data... ttl, type, data で指 定した RR を追加します。

使用例

下記の例は、 nsupdate の対話的な使用例を示しています。あるドメイン名のす べての A レコードを削除して、新しいレコードを追加することによって、IP ア ドレスを変更します。ここでは必要条件が指定されていないので、削除するレ コードがなくても新しいレコードが追加されます。後に続く空行は要求を処理さ せるために必要であることに注意してください。

      $ nsupdate
      > update delete test.example.com A
      > update add test.example.com 3600 A 10.1.1.1
      >

この例では、対象のドメインに A レコードまたは CNAME レコードがない場合 に、 CNAME エイリアスがデータベースに追加されます。

      $ nsupdate
      > prereq nxrrset www.example.com A
      > prereq nxrrset www.example.com CNAME
      > update add www.example.com 3600 CNAME test.example.com
      >

この例では、nsupdate はディレクトリ "/var/named/keys" に存在するキー "mykey" で署名されます。

      $ nsupdate -k /var/named/keys:mykey
      > update add ftp.example.com 60 A 192.168.5.1
      >

診断

       "send error"一般に、権威のあるネームサーバに到達できなかったことを示します。

"failed update packet"一般に、ネームサーバが動的更新をサポートしていな いためか、認証の失敗のために、更新を拒否したことを示します。

"res_mkupdate: packet size = size" (また他のメッセージが表示されないと き) 更新は正常に受信されてネームサーバに認証されました。しかし必 要条件が更新を妨げたかもしれません。更新が行なわれているかを確か める方法は、デバッグモード (−d) を使用して、ネームサーバからの応 答フィールドを確認するしかありません。

関連ファイル

       /etc/resolv.confドメイン名とネームサーバのアドレスの初期設定。

関連項目

named(8), resolver(3), resolver(5); RFC-1034, ‘‘Domain Names - Concepts and Facilities’’; RFC-1035, ‘‘Domain Names - Implementation and Specification’’; RFC-2136, Dynamic Updates in the Domain Name System.

作者

Brent Baccala

4th Berkeley Distribution March 5, 1999 4th Berkeley Distribution

スポンサーリンク