phpとmysql が使える
レンタルサーバー
ドメイン
選び
phpとmysql が使えるレンタルサーバー・ドメイン選びのポイント
ドメイン情報

ValueDomainのダイナミックDNS(DDNS)を使ってみた

一時的なサーバーの移動などに便利なDDNS(ダイナミックDNS)ですが、今回、ValueDomainのDDNSを使ってみます。
簡単な設定方法を、以降に記載しておきます。

ValueDomainのDDNSの設定

簡単にValueDomainのDDNSの設定について解説しておきます。

  1. まずは、ログインし、メニューをクリックします。
    ValueDomain ログイン
  2. メニュー内のDNSレコード /URL転送の変更をクリックします。
    ValueDomain DNSレコード /URL転送の変更
  3. メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
    ValueDomain ドメイン一覧
  4. ドメインのDNSを設定します。
    ValueDomain DN設定

    設定時のIPアドレスは、現在のIPアドレスは、http://dyn.value-domain.com/cgi-bin/dyn.fcg?ipで確認できます。
    編集を終えたら、保存をクリックします。

  5. 次にDDNSの設定を行います。メニューをクリックし、メニュー内のダイナミックDNS情報をクリックします。
    ValueDomain ダイナミックDNS情報
  6. メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
    ValueDomain ダイナミックDNSドメイン一覧
  7. ダイナミックDNS情報の下方の有効にするには、チェックを入れて変更をクリックしてくださいにチェックを入れて変更をクリックします。
    ValueDomain ダイナミックDNSドメインチェック
  8. 最後に利用していネームサーバーを切り替えます。メニューをクリックし、メニュー内のネームサーバーの変更をクリックします。
    ValueDomain ダイナミックDNSネームサーバーの変更
  9. メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
    ValueDomain ダイナミックDNSドメイン一覧
  10. 当サービス内のネームサーバーをご利用になるにはここをクリックして下さい。 をクリックし、保存をクリックします。
    ValueDomain ダイナミックDNS

ValueDomainのDDNSの変更方法

とりあえず、上記でDDNSが稼働し始めたわけです。
でも、DDNSは、IPアドレスをいつでも変更できるわけですから、ここでは、その変更の仕方について、簡単に解説しておきます。

  1. 次にDDNSの設定を行います。メニューをクリックし、メニュー内のダイナミックDNS情報をクリックします。
    ValueDomain ダイナミックDNS情報
  2. メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
    ValueDomain ダイナミックDNS管理ドメイン一覧
  3. パスワードの確認をしておきます。ダイナミックDNS情報の中央の必要なパラメータ内のパスワード 変更の欄を確認しておきます。
    ValueDomain ダイナミックDNSパラメータ

    もし、パスワードが設定されていなかったり、変更したい場合は、パスワード 変更変更をクリックします。
    ValueDomain ダイナミックDNSパスワード
    この画面でパスワードの変更ができます。


  4. 次にダイナミックDNS情報の中央のダイナミックDDNSへのアクセス先の例を確認しておきましょう。
    ValueDomain ダイナミックDNSアクセス先

    http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン名&p=パスワード&h=*&i=IPアドレス

    上記のようにURLへのアクセスでIPアドレスの変更を行うことができます。
    ブラウザで試しにIPアドレスなどを変更して入力してみると良いと思います。DNSのレコード情報が変更されることと思います。

    各パラメータの意味とレスポンス(返信情報)の意味は、以下のとおりです。

    各パラメータの意味

    パラメータ 説明
    d 更新するドメイン名を指定します。
    例: value-domain.com
    p 更新するドメイン名のパスワードを指定します。
    例: 1234
    h 更新するドメイン名のホスト名を指定します。dnsレコード編集画面のホスト名と全く同じ仕様です。
    例: *(全ホスト)、www、指定なしはホスト名なし
    i 更新するドメイン名のipアドレスを指定します。指定しない場合は、自動的に接続者のipアドレスが設定されます


    レスポンスの意味(status)

    status 意味
    0 更新に成功
    1 不正なリクエスト
    2 不正なドメイン名とパスワード
    3 不正なipアドレス
    4 パスワードが一致しない
    5 データベースサーバーが混雑している
    9 その他のエラー

ValueDomainのDDNSの変更の自動化

変更の仕方まで、わかりました。
これを、毎回、IPアドレスが変わった時に、手動で変更するのも大変ですね。そんなとき、通常は、ツールを使うか、 perl,phpなどのスクリプトで記述したプログラムをcronに登録して、定期的に監視し、自動更新するようにします。
ここでは、あまり記述がない、phpでの自動更新をやってみましょう。

  1. phpのスクリプト(ddns.php)を作成します。
    <?php
     
    function my_http_get($url) {
     
     
    	$contents = '';
    	$ni = 0;
    	$ncount = 3;
    	$nsleep = 100; // 100ms
    	for($ni=0;$ni<$ncount;$ni++){
    		try {
    			$file = fopen ($url, "r");
    			if ($file) {
    				while (!feof ($file)) {
    				    $contents .= fgets ($file, 1024);
    				}
    				fclose($file);
    			}
    			if( !empty($contents) ){
    				break;
    			}
     
    		} catch (Exception $e) {
    		    echo 'fopen error: ',  $e->getMessage(), "\n";
    		}
    		sleep($nsleep);
    	}
    	return $contents;
    }
     
    //	---以下の情報を環境に合わせて設定する。
    $domain = 'example.com';
    $host = '*';
    $password = 'xxxx';
    $ipaddr_file = '/var/log/ddns_ip.txt';
    //	---
     
     
    $ip_get = "http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip";
    $ip_res = my_http_get($ip_get);
     
    //	現在のDDNSのへ設定しているIPアドレスを読みだす
    $ip_res_current = '';
    $handle = fopen($ipaddr_file, "r");
    if ($handle!=false){
    	$ip_res_current=fgets($handle);
    	fclose($handle); 
    }
     
    //	現在のDDNSのへ設定しているIPアドレスと現在のIPアドレスが異なるなら
    //	DDNSのアップデートを実施する。
    if( !empty($ip_res) && $ip_res!=$ip_res_current ){
    	$ip = $ip_res['content'];
    	$ddns_set = "http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=".$domain.'$p='.$password.'&h='.$host;
     
    	$ddns_res = my_http_get($ddns_set);
     
    	//	現在のIPアドレスを保存しておく
    	$handle = fopen($ipaddr_file, "w");
    	if ($handle!=false){
    		fwrite( $handle ,$ip_res );
    		fclose($handle); 
    	} else {
    		echo 'RIP:write error'."\n";
    	}
     
    }
    ?>
  2. 先のphpを起動するためのB shellのファイル(ddns)を作成します。
    #!/bin/sh
    /usr/bin/php /var/www/ddns.php >> /var/log/update_ddns.log
    

    実行権限を付加する。

    $ chmod 755 ddnsreturn
    
  3. cronに登録します。
    $ crontab -ereturn
    
    0  0  * * * /var/www/ddns
    

ざっと、こんな感じでしょうか。細部にわたって、環境に合わせて設定する必要がありますので、ご了解ください。
また、動作を保障するものでもありません。ご参考程度に。

これで、ダイナミックDNSを動作させて、固定IPなしでホームページを開設することはできますね。
ただ、ダイナミックDNSは、周りに、それほど好意的に受け止められてないことは知っておくべきでしょう。

例えば、Google ウェブマスター ツール では、DDNSへ切り替えたときから、1日にダウンロードされたキロバイトは、激減しました。

ValueDomain ダイナミックDNS切り替え時のGoogleの転送量激減

このことからも、決してお勧めしません。
筆者は、これを検証するために、1月無駄にしてしまいました。

格安レンタルサーバー でも良いので、こんな苦労せずに、 レンタルサーバー を借りた方が、絶対、効率的です。

趣味の方は別ですけどね。

ValueDomainの詳細については、https://www.value-domain.com/からどうぞ。





関連記事


口コミ・評判



口コミ・評判を投稿 :

お名前 *

メールアドレス *
(口コミ・評判欄には、表示されませんが入力が必要です。)

サイトアドレス



新型コンピュータウィルス「JSRedir-R(通称:Gumblar・GENOウィルス)」の亜種が、2009年末より猛威を振るっており、 現在もウィルスによって、FTP接続パスワードが抜き取られる事象が多発しております。

このサイトでは、ランキング情報には、すべてのレンタルサーバーの情報が表示されますが、 おすすめ情報には、SFTP/FTPSに対応していないレンタルサーバーをおすすめはしないようにしております。

phpとmysql が使えるおすすめ格安レンタルサーバーをご紹介します。もちろん、Joomla!,WordPress,Mobile Typeなどの有名なCMSも使える格安、割安感のあるレンタルサーバーを厳選して、比較紹介します。

  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ