ダイナミックDNSにieServerを使ってみる [雑記]
以前,ダイナミックDNSのサービスとして「Dynamic DO!.jp」を使った.その時は,無料でずっと使えたんだけど,7月ごろに規約が変わって,今はずっと無料ではなくなってしまった.無料で使い続ける方法もあるんだけど,その条件は,うちだと難しい...
というわけで,別のダイナミックDNSサービスを使ってみる.
いくつか比較して,今回は,ieServer.Netのサービスを使ってみる.もちろん無料だ.
使い方は,とても簡単.
新規ユーザー登録から,ユーザー名とか,希望するドメイン,あとメールアドレスとパスワードを登録する.ここで登録するユーザー名が,サブドメインとして使用されるようになる.
あとは,IPアドレスを自動更新するようにしてやれば,作業は完了.
自動更新のためのツール類は,ieServerで便利ツールとして紹介されている.うちはUbuntuなので,便利ツールのうち,「IPアドレス更新サンプルスクリプト」を利用させてもらうことにする.
では,具体的な作業だが,
まず,そのスクリプトをダウンロードする.
そしたら,/usr/local/下にddnsディレクトリを作って,そこにコピー.ファイル名はddns-update.plに変更しておく.
で,そのスクリプトに必要な情報を追記してやる.
具体的には,アカウント,ドメイン名,パスワードと,CURRENT_IP_FILE, LOG_FILEのパスを指定しておく.あと,$DDNS_UPDATEはhttpsアクセスにしておく.
念のためファイル全体を示しておこう.
そしたら,(パスワードが書かれてるので)アクセス権を変更して,
あとは,crontabで定期実行されるようにしておく.
これで完了.簡単だ.
なにより,無料で使えるieServer.Netに感謝.
というわけで,別のダイナミックDNSサービスを使ってみる.
いくつか比較して,今回は,ieServer.Netのサービスを使ってみる.もちろん無料だ.
使い方は,とても簡単.
新規ユーザー登録から,ユーザー名とか,希望するドメイン,あとメールアドレスとパスワードを登録する.ここで登録するユーザー名が,サブドメインとして使用されるようになる.
あとは,IPアドレスを自動更新するようにしてやれば,作業は完了.
自動更新のためのツール類は,ieServerで便利ツールとして紹介されている.うちはUbuntuなので,便利ツールのうち,「IPアドレス更新サンプルスクリプト」を利用させてもらうことにする.
では,具体的な作業だが,
まず,そのスクリプトをダウンロードする.
cd ~/ wget http://ieserver.net/ddns-update.txt
そしたら,/usr/local/下にddnsディレクトリを作って,そこにコピー.ファイル名はddns-update.plに変更しておく.
cd /usr/local sudo mkdir ddns sudo cp ~/ddns-update.txt /usr/local/ddns/ddns-update.pl
で,そのスクリプトに必要な情報を追記してやる.
sudo vi ddns-update.pl
具体的には,アカウント,ドメイン名,パスワードと,CURRENT_IP_FILE, LOG_FILEのパスを指定しておく.あと,$DDNS_UPDATEはhttpsアクセスにしておく.
念のためファイル全体を示しておこう.
#!/usr/bin/perl # ieServer.Net 専用 DDNS IP アドレス更新スクリプト - ddns-update.pl # 作成者:山本恭弘@Agora Inc. 作成日:2004/03/24 # # 回線割り当てグローバルIPアドレスを確認し、変化があれば新IPアドレスを # DDNSに登録。当コマンドを一定の間隔で実行し、IPアドレスの変化を監視& # 更新処理する。利用には perl wget cron が利用可能である必要あり。 # # 回線に割り当てられた IPアドレス は http://ieserver.net/ipcheck.shtml # へのアクセスによって確認。 # # cron にて当コマンドを等間隔で実行し、回線IPを確認。変化があればDDNSに # IPアドレスを登録。DDNSサーバーへの負荷軽減の点から実行間隔は10分以上と # すること。 # crontab設定例(/usr/local/ddns/ddns.plにスクリプトを置き10分間隔で実行) # 5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl # 以下2ファイルの配置ディレクトリは好みに応じ設定 # 1. 設定IPアドレスワークファイル $CURRENT_IP_FILE = "/usr/local/ddns/current_ip"; # 2. 設定状況ログファイル $LOG_FILE = "/usr/local/ddns/ip_update.log"; # 回線IP確認ページURL $REMOTE_ADDR_CHK = "http://ieserver.net/ipcheck.shtml"; # DDNS更新ページURL # wgetをSSL接続可能でビルドしているなら、https:// での接続を推奨 $DDNS_UPDATE = "https://ieserver.net/cgi-bin/dip.cgi"; # ieServer.Netにて取得したアカウント(サブドメイン)情報を記入 $ACCOUNT = "ユーザー登録したユーザー名"; # アカウント(サブドメイン)名設定 $DOMAIN = "ユーザー登録で選択したドメイン名"; # ドメイン名設定 $PASSWORD = "ユーザー登録で設定したパスワード"; # パスワード設定 if(!open(FILE,"$CURRENT_IP_FILE")) { $CURRENT_IP = '0.0.0.0'; } else { $CURRENT_IP = <FILE>; close FILE; } $NEW_IP = '0.0.0.0'; $NEW_IP = `wget -q -O - $REMOTE_ADDR_CHK`; if ($NEW_IP ne "0.0.0.0" and $CURRENT_IP ne $NEW_IP) { $STATUS = `wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'`; if ($STATUS =~ m/$NEW_IP/) { open (FILE ,">$CURRENT_IP_FILE"); print FILE $NEW_IP; close FILE; $TIME = localtime; open (FILE ,">>$LOG_FILE"); print FILE "$TIME $ACCOUNT.$DOMAIN Updated $CURRENT_IP to $NEW_IP\n"; close FILE; } else { $TIME = localtime; open (FILE ,">>$LOG_FILE"); print FILE "$TIME $ACCOUNT.$DOMAIN Update aborted $CURRENT_IP to $NEW_IP\n"; close FILE; } } exit;
そしたら,(パスワードが書かれてるので)アクセス権を変更して,
sudo chmod 700 ddns-update.pl
あとは,crontabで定期実行されるようにしておく.
sudo crontab -e 3-58/5 * * * * /usr/local/ddns/ddns-update.pl
これで完了.簡単だ.
なにより,無料で使えるieServer.Netに感謝.