当サイト bird.dip.jp ではサーバー運用にあたり、 家サーバー・プロジェクト のダイナミックDNSサービスを利用させて貰っている。 同プロジェクトの掲示板は利用者の情報交換の場となっているが、同じ質問が繰り返し出されていることもあって私的な FAQ 集を用意してみた。 多分に主観が混じっているが、誤りや不備な箇所があればお知らせ願いたい。 コメントは当サイトの 掲示板、または管理人宛メールでどうぞ。 この管理人というのは家サーバープロジェクトの管理者のことではないので念の為。
使用できない。現在、トップレベルの cf ドメインが機能していない(中央アフリカの NIC、http://www.nic.cf/ はダウンしたままである)ため登録しても使用できない。 DNS として直接、家サーバープロジェクトのサーバーを指定すれば検索できるが、 ドメインの検索はトップレベルから順次おこなわれるので、トップレベルのサーバーが機能していないことにはどうしようもない。
家サーバープロジェクトでは使用できない。他の DDNS サービスでは可能なところがある。 将来使えるようになる可能性があるらしい。
MD5 モジュールをインストールすればよい。よくわからない場合は GnuDIP のサイト http://gnudip2.sourceforge.net/ から 最近の配布セットを取得して使用すれば MD5 モジュールが含まれておりローカルに使えるようになる。
デフォルトで設定ファイルは実行ユーザのホームディレクトリに置かれるので、cron の実行ユーザが異なっている可能性がある。 -f オプションで明示的に指定したほうが良い。パーミッションの確認も忘れずに。
YES. DDNS サービス自体はドメイン名から IP アドレスを得る手段を提供するもので、 DNS はこれらのサービスを行なうこととは直接関係しない。 但しメールの受信については DNS に MX(Mail Exchanger) レコードというドメイン名からサーバーを特定するための情報を 設定しなければならないが、家サーバープロジェクトでは MX も登録しているので @ドメイン名宛の メールを受信することのできる smtp サーバーを立てればよい。 ただし、CATV 系などでグローバル IP アドレスが提供されない場合、 および利用する TCP ポートが閉じられている場合などでサービスをおこなえないことがある。
必要ない。DNS は家サーバープロジェクト側で面倒を見てくれているので、 プロバイダに指定された DNS (ネームサーバ)を参照して登録したドメイン名から IP アドレスを得ることができる。 自前で DNS を立てるのであれば、LAN 内だけで使用するためのローカルなプライベート IP とキャッシュのみにすること。 LAN 内のマシンが多い場合は特に有効であるし、 登録ドメイン名をサーバーのプライベートアドレスとしておけば外部プロクシを介さなくとも自サーバ LAN 内からを登録名でアクセスできる。 しかし、登録したサブドメイン名のネームサーバ用意してインターネット側に公開しても自分と物好きなクラッカー以外の誰にも参照されない。
WWW サーバ自体に登録 IP が設定されておらず、ルータの SUA(NAT) 機能などでローカル IP アドレスが割り当てられたマシンをサーバとしている場合に
LAN 側からはそのようになる。別の回線からか、ISP などが提供するプロクシ経由でアクセスすればよい。
念のために説明すると、これは「ルータを使っているから」ではなくて「ルータのアドレス変換機能を利用している」からである。
グローバルアドレスはルータに割り当てられており、内部からのリクエストはサーバー機に送られないのだ。
DNS における IP アドレスの更新はリアルタイムではないから、数分おいて再度試してみる。 それでも同じ場合は家サーバープロジェクト側で障害の可能性がある。実際の DNS 情報へ反映する箇所でのトラブルだと思われる。 家サーバープロジェクトで Web や gdipc などで更新ができているにも係わらずアクセスできないような場合、この障害であることが多い。 DNS サーバー自体がダウンすることは滅多にないので、IP アドレスの変更がなければ障害が影響しないことも多い。
家サーバープロジェクト以外の他のドメイン名も同様に表示されないのであれば貴方のシステム設定が誤っているか、あるいはプロバイダなどでの障害の可能性がある。 そもそも他のインターネットサイトにもアクセスできない状態ではないだろうか。 そうでなければ上記のような家サーバープロジェクト側で障害の可能性がある。
プロバイダから割り当てられたグローバル IP アドレスが更新された時。 その他に家サーバープロジェクト側のシステム障害により、登録した IP アドレスが失われている時など。 必要以外に短い周期で更新登録をすることは家サーバープロジェクト側の負荷を徒に増すことになるので避けるべきだ。 ルータによってはダイナミック DNS 登録機能が付いたものがあるが、家サーバープロジェクトでは恐らく利用できないだろう。
使用しているシステム構成によって具体的な方法は異なる。 基本的には前回登録時のグローバル IP アドレスを記憶しておき、現在のものと違っているかをチェックする。 前回分を記憶する代わりに nslookup などで登録 IP アドレスを取得しても良い。 無駄なネットワークトラフィックを流すことになるが、現在の登録状態を確認できるという利点もある。 チェックの実行は cron などで定期的におこなう他、回線状態を知らせるルータのログ出力などをトリガにする方法もある。 なお、接続が切れなければ IP アドレスが変わることはない。
家サーバープロジェクトでの DNS 情報の minimum ttl (キャッシュの有効期間)は 4 分である。 大雑把に言えば GnuDIP などで登録情報の更新がリアルタイムでプライマリ DNS に反映されたとしても、 貴方が利用している DNS サーバの情報が更新されるまで最大 4 分の遅延がある(場合によってはそれ以上のこともある)ということだ。 したがって、IP アドレスの更新チェックをこれより短い間隔でおこなってもあまり意味がない。
その通り。 固定 IP を使えるプロバイダと契約するなどしてダイナミックでないドメインを登録するに越したことはない。 24時間連続運用が求められるクリティカルなシステムをダイナミック DNS で運用すること自体が間違いである。 但し、それは固定 IP が割り当てられていないことに起因することであるから、ダイナミック DNS のせいにするのは正しくない。 ちなみに家サーバープロジェクトは「テスト運用中」ということになっている。
「ダイナミック DNS を使う = 固定 IP アドレスが割り当てられていない」ような回線、 たとえば Flet's ADSL などはそもそもベストエフォートであるし、工事などによってサービスが停止することが多い。 回線状況によってはさらに切断が増える。仮に固定 IP だとしてもあまり信頼できるものではない。
あなたがこれまで気が付いていなかっただけで、インターネットからは日常的にそのようなアクセスがおこなわれているのだ。 サーバーを立てたからにはこれまで以上に十分なセキュティ管理が必要になる。 これを怠ると貴方が被害に遭うだけでなく貴方のマシンが踏み台にされることによって貴方自信が加害者になってしまう危険が増すことを認識して貰いたい。
実は URL 一発で更新できる。あまり薦められる技ではないのでヒントだけ、GET メソッドを使う。 ちなみに gdipc では GnuDIP のデータ更新用サーバを使うが、DiCE では Web オートメーションの手法も 用いているようだ(DiCE の PlugIn ファイルの内容から推測)。
IP アドレスが変わらなければ DNS 更新の必要が無いので、障害の影響を受けない可能性が高い。 したがって、より信頼性の高い回線を選ぶのが第一である。 ADSL であれば対策済みの保安器に交換するなどして、局舎やプロバイダ側の都合以外での切断をできるだけ少なくしよう。 私のページでかたじけないが、「DDNS の設定」中の 「安定運用のために」などを参考にしていただきたい。
家サーバー・プロジェクトの利用規約では何も触れられていない。プロバイダによって制限されていなければ構わないだろう。 ただし、このサービスは「テスト運用」であることと、DDNS を使うような環境では十分な信頼性が確保できないことを考えるとプライベート利用にとどめておくのが無難だろう。 最低限、その旨を利用者に対して知らせておくことを薦める。トラブルによって信用を失うのはあなたなのだから。
最後に提案。掲示板に書き込む場合には自分の登録ドメイン名を明らかにしよう。
家サーバー・プロジェクト
http://ieserver.net/
GnuDIP
http://gnudip.cheapnet.net/
DiCE DynamicDNS Client Tool
http://www.hi-ho.ne.jp/yoshihiro_e/dice/
DynDNS
http://www.dyndns.org/
家サーバープロジェクト以外の有名なダイナミック DNS サービス。こちらの
FAQ (http://support.dyndns.org/mydyndns/custom/faq.php)
にも有用な情報が満載。