設定 - DDNS
ナビゲーションに移動
検索に移動
概要
自宅でWebサーバを構築する場合は、DDNSは必要不可欠である。
Webサーバは、変化する自分に割り当てられたグローバルIPアドレスを◯◯◯.com、◯◯◯.netに結びつけ、利用者に簡易にアクセスできることが要求される。
そこで、グローバルIPアドレスとドメインネームをRaspberry Piに紐付けする。
ieServer.Netに登録する
無料かつ寄付制のDDNSサービスであるieServer.Netに登録する。
リンク先、左のメニューより新規ユーザ登録から利用規約に同意し、DDNSサービス利用を登録する。
ユーザ名とドメイン名、電子メールアドレス、パスワードを入力して登録する。
ここで、ドメイン名は何を選んでもよい。
紐付け更新スクリプトをcronに登録する
まず、Raspberry Piにて、必要なディレクトリを作成する。(ここでは、/var/log/ieseverと/usr/local/ddnsを作成する)
sudo mkdir /var/log/ieserver sudo mkdir /usr/local/ddns
そこから、紐付け更新スクリプト(ddns-update.pl)を作成して、グローバルIPアドレスが変化しているか確認した後、変化していれば自動で紐付けする。
sudo nano /usr/local/ddns/ddns-update.pl
ddns-update.plには以下を記述する。
但し、変数である$ACCOUNTや$DOMAIN、$PASSWORDには、それぞれ、ieServer.Netで登録したユーザ名やドメイン名、パスワードを入力する。(◯◯◯を書き換えること)
ddns-update.plの内容
#!/usr/bin/perl
$CURRENT_IP_FILE = "/var/log/ieserver/current_ip";
$LOG_FILE = "/var/log/ieserver/ip_update.log";
$REMOTE_ADDR_CHK = "http://ieserver.net/ipcheck.shtml";
$DDNS_UPDATE = "http://ieserver.net/cgi-bin/dip.cgi";
$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;
作成したddns-update.plファイルのパーミッションを変更する。
sudo chmod 755 /usr/local/ddns/ddns-update.pl
次に、ddns-update.plをcronで自動実行させる。
ここでは、10分毎に実行させる設定にする。
sudo nano crontab -e
crontabが起動したら、以下を追記する。
*/10 * * * * /usr/local/ddns/ddns-update.pl
これで、DDNSの設定は完了である。