■概要
外部からドメイン名(=家庭の表札、会社の看板)でサーバーにアクセスできるようにするため、
しました。また、
しています。
しかし、自宅のモデムやルーターの電源を切ったり、自宅パソコンのインターネット接続を切断したりすると自宅のIPアドレスが変わってしまう場合があります。そうなると、屋外から自宅のサイトに接続することができなくなります。ufusou.ddo.jpやufuso.dip.jpというドメイン名とIPアドレスのリンクが切れるからです。
しかし、自宅サーバーを特定するためのIPアドレスを自動更新できれば、IPアドレスの変更が原因で外部からufusou.ddo.jpやufuso.dip.jpというドメイン名で登録している私のサーバーにアクセスできなくなってしまうトラブルは防止できます。また、一定期間IPアドレスの更新処理が行われないと自動的に打ち切られてしまうため、これを防ぐ目的もあります。
■事前準備
※ドメインの取得は、無料のダイナミックDNSに登録する方法(ieServer.Net編)や無料のダイナミックDNSに登録する方法(Dynamic DO!.jp編)を参照してください。
■Dynamic DO!.jpで取得したドメインのIP自動更新設定※1日単位でリンク切れをチェック
|
[root@ufuso ~]# vi /etc/crontab ← 自動実行ファイルのcrontabを編集
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
# DDNS Dynamic DO!.jp Update
0 8 2 * * root wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=xxxxxx.ddo.jp&pw=xxxxxxxx'
← 毎月2日の午前8時にIP自動更新を実行。dn=xxxxxxは登録したユーザー名、
pw=xxxxxxxxは登録したパスワードをxxx部分に入力のこと
|
|
■ieServer.Netで取得したドメインのIP自動更新設定※10分単位でリンク切れをチェック
|
[root@ufuso ~]# wget http://ieserver.net/ddns-update.txt -O /usr/local/bin/ddns-update.pl
← ieServer用IPアドレス更新スクリプトダウンロード&インストール
`/usr/local/bin/ddns-update.pl' に保存中
100%[======================================>] 2,214 --.-K/s 時間 0s
2011-12-16 15:21:50 (96.0 MB/s) - `/usr/local/bin/ddns-update.pl' へ保存完了 [2214/2214]
[root@ufuso ~]# vi /usr/local/bin/ddns-update.pl ← ieServer用IPアドレス更新
スクリプト編集
#!/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 = "/var/log/ieserver/current_ip"; ← ログ格納先変更
# 2. 設定状況ログファイル
$LOG_FILE = "/var/log/ieserver/ip_update.log"; ← ログ格納先変更
# 回線IP確認ページURL
$REMOTE_ADDR_CHK = "https://ieserver.net/ipcheck.shtml"; ← httpsへ変更
# DDNS更新ページURL
# wgetをSSL接続可能でビルドしているなら、https:// での接続を推奨
$DDNS_UPDATE = "https://ieserver.net/cgi-bin/dip.cgi";
# ieServer.Netにて取得したアカウント(サブドメイン)情報を記入 ← xxx部分はユーザ登録時
に入力したを入力
$ACCOUNT = "xxxx"; # アカウント(サブドメイン)名設定
$DOMAIN = "xxx.xx"; # ドメイン名設定
$PASSWORD = "xxxxxx"; # パスワード設定
if(!open(FILE,"$CURRENT_IP_FILE")) {
$CURRENT_IP = '0.0.0.0';
} else {
$CURRENT_IP = ;
close FILE;
}
[root@ufuso ~]# chmod +x /usr/local/bin/ddns-update.pl ← ieServer用IPアドレス更新スク
リプトへ実行権限付加
[root@ufuso ~]# mkdir /var/log/ieserver ← ieServer用IPアドレス更新スクリプトログ格納
ディレクトリ作成
[root@ufuso ~]# /usr/local/bin/ddns-update.pl ← ieServer用IPアドレス更新スクリプト実行
[root@ufuso ~]# echo "0 08 1,15 * * root /usr/local/bin/ddns-update.pl" > /etc/cron.d/ddns-update
← ieServer用IPアドレス更新定期自動実行設定追加。毎月1日と15日の午前8時に自動実行設定
|
|
■ドメイン名確認
設定したサーバー名で外部からアクセスできるか確認する。
※ドメイン取得後24〜48時間程度経過後に行うこと(すぐアクセスできる場合もある)
「URL」欄に設定したサーバー名(例:ufusou.ddo.jp、www.ufusou.ddo.jp、ftp.ufusou.ddo.jp、mail.ufuso.ddo.jp等)を入力して、「Test it」ボタンを押す。
|
URL tested: http://ufusou.ddo.jp
Test performed from: Seattle, WA
Test performed at: 2011-02-11 00:15:11 (GMT -05:00)
Resolved As: 111.107.2.163
Status: OK
|
コメントを残す