ダイナミックDNS機能について

KDNS.JPのダイナミックDNS機能について

重要なお知らせ

ウェブサイトのリニューアルに合わせてダイナミック DNS の URI (ドメイン名の部分) が変更になっています。従来の URI については SSL 証明書の更新を行いませんので、2012 年 2 月以降は SSL 証明書の有効期限切れとなります。 旧 URI でダイナミック DNS 機能をご利用のユーザ様は、それまでに新しい URI への変更をお願いいたします。

ダイナミックDNS機能について

IPアドレスが固定ではなく、動的のホストにドメイン名を割り当てる場合、IPアドレスが変わるたびにDNSレコードの更新が必要となります。 ダイナミックDNS機能を利用することで、その更新を容易にすることができます。 この機能はddclient等のツールや一部のルータ等でも利用可能です。

KDNS.JPのダイナミックDNS機能は RFC 2136 (Dynamic Updates in the Domain Name System) のものとは異なり、DNSレコードの更新はウェブを利用したものとなります。

利用方法

ダイナミックDNSクライアントの用意

DynDNS.com に対応したツール類や機器が利用可能な場合があります。次のような環境で利用が可能です(リンク先はそれぞれの設定例です)。

ユーザ名とパスワードについて

ダイナミックDNS機能の利用には、対象のドメイン名にユーザ名とパスワードの設定が必要となります。

OpenIDでログインしてドメイン名を追加後、追加済みのドメイン名にパスワードの設定が可能となります。「ドメイン名管理」から「パスワード」の「設定」ボタンを押すと、ダイナミックDNS機能の利用に必要なユーザ名とパスワードが発行されます。

仕様について

API

ダイナミックDNSのAPIは DynDNS.com のものを参考にしています。これにより、DynDNS.com に対応した一部の機器でもKDNS.JPの利用が可能となっています。

DNSレコードのタイプについて

APIではAレコードとAAAAレコードのみの対応となります。その他のレコードはOpenIDでログイン後の「ドメイン名管理」でのみ設定が可能です。

サーバへのリクエスト方法

GET リクエストとなり、その際に対象のドメイン名に設定したユーザ名とパスワードをBasic認証で渡します。

IPアドレスを指定して example.kdns.info を更新する場合、URIは以下ようになります。

https://kdns.jp/nic/update?hostname=example.kdns.info&myip=IPアドレス

Basic認証のユーザ名とパスワードを含めた形式のURIは以下のようになります。

https://USERNAME:PASSWORD@kdns.jp/nic/update?hostname=example.kdns.info&myip=IPアドレス

この際、myip= で指定するIPアドレスはIPv4形式のほか、IPv6でも指定が可能です。IPアドレスがIPv4かIPv6かは自動で識別します。IPv4の場合はAレコードが更新(存在しなければ追加)対象となり、IPv6の場合はAAAAレコードが更新(存在しなければ追加)対象となります。

参考にしている DynDNS.com のAPIでAAAAレコードが扱えないため、AAAAレコードおよびIPv6アドレスへの対応は独自に実装しています。このため、将来 DynDNS.com がAAAAレコードに対応し、もしもKDNS.JPと実装方法が異なった場合は互換性のためにKDNS.JPの仕様を変更する可能性があります。

以下のように myip= オプションを省略することもできます。この場合はこのURIへの接続元IPアドレスが指定されたことになります。このとき、IPv4で接続すればAレコードが更新(存在しなければ追加)対象となり、IPv6で接続すればAAAAレコードが更新(存在しなければ追加)対象となります。ただし、この際は後述のIPv6からIPv4へのフォールバックについて注意が必要となります

https://kdns.jp/nic/update?hostname=example.kdns.info

IPv6からIPv4へのフォールバックについて

kdns.jp というドメイン名にはAAAAレコードとAレコードの両方が付加されているため、 IPv6アドレスとIPv4アドレスの両方が割り当てられているクライアントでは、クライアントの実装や設定によってはIPv6を優先して接続を行います。 この際、IPv6による通信ができなかった場合はIPv4にフォールバックすることがあります。 myip= オプションを省略することにより、kdns.jp への接続IPアドレスに応じてAAAAレコードまたはAレコードが更新(存在しなければ追加)されますので、フォールバックにより予期せぬレコードが更新される恐れがあります

リターンコード

APIを利用した際のKDNS.JPとDynDNS.comのリターンコードの一覧を以下の表にまとめます。仕様の違いにより、エラー内容によってはDynDNS.comとは異なるものになります。

リターンコード一覧
動作KDNS.JPDynDNS.com
アップデート成功。successsuccess
アップデートは不要だった。前回とIPアドレスに変化がない場合。nochgnochg
ユーザ名またはパスワードの認証に失敗。badauthbadauth
与えられたパラメタが正しくない。badsysbadsys
提供されていないFQDNを指定した。badauthnotfqdn
存在しないホスト名を指定した。badauthnohost
ホスト名は存在するが、それは他のユーザのものである。badauth!yours
寄与したユーザだけ利用できるオプションが指定されているが、ユーザは寄与していない。未定義!donator
指定のホスト名は有効でない。未定義!active
更新の乱用(更新しすぎ)により停止されている。未定義abuse
2つ以上のホストが存在したため、エラーとなった未定義numhost
DNSエラー未定義dnserr
すでに異なるタイプのレコードの合計が最大数に達しており、新規のレコードを追加できない。badsys

注意点

このページの更新履歴

2011-09-21
ウェブサイトリニューアルに伴うURI変更を反映。
2011-01-19
ウェブサイトリニューアルに関するお知らせを追記。
2010-08-05
IPv6からIPv4へのフォールバックについて追記。
2010-01-10
公開。