自宅サーバー構築の勉強中ですが、ダイナミックDNSが正常に働いていないことで困っております。
環境は、
OS:Debian etch
通信:プロバイダ:nifty、Bフレッツファミリー100、ルータはIO-DATA(WN-APG/BBR)
ドメイン契約/ダイナミックDNS:value-domainを利用、gTLDは.info
value-domain公式にある「ダイナミックDNS機能のご利用方法」の手順に最後まで従い、5分後ぐらいに無事ドメインでサーバーにアクセスできるようになりました。
また、自宅サーバーのcrontabには、
*/10 * * * * wget -O - 'http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=[ドメイン名]&p=[パスワード] &h=*&i=' > /var/log/ddns/ddns.log 2>&1
・・・とvalue-domainにリクエストし、status=0の結果が出ております。
しかし、グローバルIPの変更が起きるとDNS最終更新時間は定期的に更新されているようですがIPの更新が行われていません。
Blog等で同じやり方で自宅サーバーを動かしている方がいるのですが何か足りない設定があるのでしょうか?
value-domain でダイナミック DNS を使ったことはないんだけど...。
サイト上の説明 :
> http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン名&p=パスワード&h=ホスト名&i=IPアドレス
となっていて、
> しかし、グローバルIPの変更が起きるとDNS最終更新時間は定期的に更新されているようですがIPの更新が行われていません。
という症状からすると、恐らく「&i=IPアドレス」の箇所で、正しい情報を送ってないんではないか、と。
i=IPアドレス についての説明が、
> 更新するドメイン名のIPアドレスを指定します。指定しない場合は、自動的に接続者のIPアドレスが設定されます。
とのことなんで、"&i=" を削ってみるとか。GET リクエストの情報を value-domain 側でどう処理してるかは分からないので何ともいえないけど、ここでの「指定しない」という意味は、それ自体書かない、って意味だと思う。
なんか、適当でごめんなさい。
DiCE(DDNSクライアント)を使えば至極簡単ではないでしょうか?
http://www.hi-ho.ne.jp/yoshihiro_e/dice/
Linuxバイナリも配布されています。
回答ありがとうございます。
DiCEも考えました。しかしDiCEでしていることは、最終的にvalue-domainへ
http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン名&p=パスワード&h=ホスト名&i=IPアドレス
をリクエストすることと変わらないと思いますが違いますかね?(plgの設定ファイルしか見てませんが・・・)
そうであると、結果は同じと思います。
また、原因が解決したらスクリプトは自作するつもりなので・・・
実際DiCEを使わずwget+crontabだけで動かしている方をサイトで見かけますので、一体自分と何が違うのかが知りたいところですが・・・
http://www.value-domain.com/howto/?action=ddns
素直に一回この方式を試してみて、これでOKなら違う方式を試してみては。
とりあえず、動作させることを優先して、それから変更が常道だと思います。
私も使ったことが昔ありましたが、問題なかったと思います
---------------
文面を読んでないのではずしてるかも分かりませんが、新しいIPがインターネットに
広まるには結構時間がかかります。
回答ありがとうございます。
下記の回答者のDNS設定で動作しました。
a @ [IPアドレス]なのにh=*で更新かけたのが原因だったのかな・・・
> また、wgetを使わず、http://dyn.value-domain.com/cgi-bin/dyn.fcg からフォームを入力して更新しても反映されません。
うーん。無い頭で考えて考えてみたんだけど、DNS 設定の記述が不適切なのでは?
というのは、
> 更新できる項目はAレコードのみです。Aレコードの登録はあらかじめ行っておいてください。
> そのDNSの項目をダイナミックDNS機能でリアルタイム更新いたします。存在しないAレコードの更新はなされません。
と書いてあるので。
value-domain のサイトに書かれている例の通りに、一度、
> a * (ご自分のIPアドレス)
> mx @ 10
だけにしてみて、フォームからの更新が成功するか確認する、とか。
回答ありがとうございます。
動作しました。value-domain のサイトに書かれている例のDNS設定で動作しました。
"ホスト名=*"とリクエストしているのにDNSは "a @ IPアドレス"で設定していたのが間違いっぽいです。
・・・という認識で合ってるんだろうか?その間違った状態でもずっとstatus=0が返ってきてたので…。
ありがとうございました。きちんとDNS勉強しなおします。
回答ありがとうございます。
"&i=[現在のグローバルIPアドレス]、または&"&i="自体消去、共に試しておりますが反映されません。
また、wgetを使わず、http://dyn.value-domain.com/cgi-bin/dyn.fcg からフォームを入力して更新しても反映されません。
唯一、DNSを、
-------------------------------
ns @ NS1.VALUE-DOMAIN.COM.
ns @ NS2.VALUE-DOMAIN.COM.
a @ [IPアドレス]
mx mx.[ドメイン名]. 10
cname * [ドメイン名].
-------------------------------
のIPアドレスを現在のグローバルIPで設定し直したときにしか反映されません。