ValueDomainのダイナミックDNS(DDNS)を使ってみた
一時的なサーバーの移動などに便利なDDNS(ダイナミックDNS)ですが、今回、ValueDomainのDDNSを使ってみます。
簡単な設定方法を、以降に記載しておきます。
ValueDomainのDDNSの設定
簡単にValueDomainのDDNSの設定について解説しておきます。
- まずは、ログインし、メニューをクリックします。
- メニュー内のDNSレコード /URL転送の変更をクリックします。
- メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
- ドメインのDNSを設定します。
設定時のIPアドレスは、現在のIPアドレスは、http://dyn.value-domain.com/cgi-bin/dyn.fcg?ipで確認できます。
編集を終えたら、保存をクリックします。
- 次にDDNSの設定を行います。メニューをクリックし、メニュー内のダイナミックDNS情報をクリックします。
- メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
- ダイナミックDNS情報の下方の有効にするには、チェックを入れて変更をクリックしてくださいにチェックを入れて変更をクリックします。
- 最後に利用していネームサーバーを切り替えます。メニューをクリックし、メニュー内のネームサーバーの変更をクリックします。
- メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
- 当サービス内のネームサーバーをご利用になるにはここをクリックして下さい。 をクリックし、保存をクリックします。
ValueDomainのDDNSの変更方法
とりあえず、上記でDDNSが稼働し始めたわけです。
でも、DDNSは、IPアドレスをいつでも変更できるわけですから、ここでは、その変更の仕方について、簡単に解説しておきます。
- 次にDDNSの設定を行います。メニューをクリックし、メニュー内のダイナミックDNS情報をクリックします。
- メイン画面に管理しているドメイン一覧が表示されます。表示したいドメインを選択します。
- パスワードの確認をしておきます。ダイナミックDNS情報の中央の必要なパラメータ内のパスワード 変更の欄を確認しておきます。
もし、パスワードが設定されていなかったり、変更したい場合は、パスワード 変更の変更をクリックします。
この画面でパスワードの変更ができます。
- 次にダイナミックDNS情報の中央のダイナミックDDNSへのアクセス先の例を確認しておきましょう。
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での自動更新をやってみましょう。
- 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";
}
}
?>
|
- 先のphpを起動するためのB shellのファイル(ddns)を作成します。
/usr/bin/php /var/www/ddns.php >> /var/log/update_ddns.log
|
実行権限を付加する。
$ chmod 755 ddns
|
- cronに登録します。
$ crontab -e
0 0 * * * /var/www/ddns
|
ざっと、こんな感じでしょうか。細部にわたって、環境に合わせて設定する必要がありますので、ご了解ください。
また、動作を保障するものでもありません。ご参考程度に。
これで、ダイナミックDNSを動作させて、固定IPなしでホームページを開設することはできますね。
ただ、ダイナミックDNSは、周りに、それほど好意的に受け止められてないことは知っておくべきでしょう。
例えば、Google ウェブマスター ツール では、DDNSへ切り替えたときから、1日にダウンロードされたキロバイトは、激減しました。
このことからも、決してお勧めしません。
筆者は、これを検証するために、1月無駄にしてしまいました。
格安レンタルサーバー でも良いので、こんな苦労せずに、 レンタルサーバー を借りた方が、絶対、効率的です。
趣味の方は別ですけどね。
ValueDomainの詳細については、https://www.value-domain.com/からどうぞ。
関連記事
口コミ・評判
口コミ・評判を投稿 :