1 views
実現させる機能
インターネット上からドメイン名(=家庭の表札、会社の看板)でサーバーにアクセスできるようにするため、
無料・ダイナミックDNS(DDNS)サービス – Dynamic DO!.jpのサービスを利用してufusou.ddo.jpというドメイン名を取得
しました。また、
家サーバー・プロジェクト(ieServer.Net)にもufuso.dip.jpというドメイン名で登録
しています。
しかし、自宅のモデムやルーターの電源を切ったり、自宅パソコンのインターネット接続を切断したりするとプロバイダから割り当てられるIPアドレスが変わってしまう場合があります。そうなると、取得したドメイン名でインターネット上から自宅のサイトに接続することができなくなります。ufusou.ddo.jpやufuso.dip.jpというドメイン名のものとして登録されているIPアドレスとプロバイダから割り当てられたIPアドレスが一致しないからです。
自宅サーバーを特定するためのIPアドレスを自動更新できれば、IPアドレスの変更が原因で外部からufusou.ddo.jpやufuso.dip.jpというドメイン名で登録している私のサーバーにアクセスできなくなってしまうトラブルは防止できます。また、一定期間IPアドレスの更新処理が行われないとDDNSサービスが自動的に打ち切られてしまうため、これを防ぐ目的もあります。
事前準備
※ドメインの取得は、無料のダイナミックDNSに登録する方法(ieServer.Net編)や無料のダイナミックDNSに登録する方法(Dynamic DO!.jp編)を参照してください。
■Dynamic DO!.jpで取得したドメインのIP自動更新設定※2週間毎にリンク切れをチェック
[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,16 * * root wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=xxxxxx.ddo.jp&pw=xxxxxxxx' ← 毎月2日と16日の午前8時にIP自動更新を実行。dn=xxxxxxは登録したユーザー名、 pw=xxxxxxxxは登録したパスワードをxxx部分に入力のこと |
■ieServer.Netで取得したドメインのIP自動更新設定※2週間毎にリンク切れをチェック
[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 = |
ドメイン名確認
設定したサーバー名で外部からアクセスできるか確認する。
※ドメイン取得後24〜48時間程度経過後に行うこと(すぐアクセスできる場合もある)
Free Website Test tools by WebSitePulse
「URL」欄に設定したサーバー名(例:ufusou.ddo.jp、www.ufusou.ddo.jp、ftp.ufusou.ddo.jp、mail.ufuso.ddo.jp等)を入力して、「Test it」ボタンを押す。
以下のような結果が表示されればOK
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 |
コメントを残す