この特集のトップページへ
この回のトップページへ

自動更新スクリプトを使いIPアドレスとドメイン名を定期的に更新する
 いままで説明してきたように,Hammermode Internet Servicesでは,HN.ORGにアクセスしてユーザー名とパスワードを入力するだけで,アクセスしたコンピュータのIPアドレスと申請したドメイン名とを関連づけることが可能だ。

 しかし,実際に24時間サーバを公開する場合を考えると,定期的にWebブラウザを使いHN.ORGにアクセスするというのは面倒だろう。できることならば,ADSLでインターネットに接続した時やcronで設定した定期的な時間で,割り当てられたIPアドレスとドメイン名との関連づけができると便利である。

 HN.ORGDownloadsページには,IPアドレスとドメイン名とを関連づけるためのhammernode.plと呼ばれるPerl言語で記述されているスクリプトがある。これを使うと,Webブラウザを使ってアクセスすることなく,IPアドレスとドメイン名との関連づけができるのだ。

 hammernode.plを使って、ADSL回線でインターネットに接続した時に、IPアドレスとドメイン名との割り当てをしたければ、次のようにする。

1. hammernode.plをダウンロードしよう
 hammernode.plファイルをダウンロードしてサーバ上に保存する。どのディレクトリ下でも構わないが,ここでは/etc/ppp/ディレクトリに保存した例で進めよう。このスクリプトは実行形式である必要があるため,次のようにchmodコマンドを実行し,実行権限を設定しておく。

# chmod +x /etc/ppp/hammernode.pl


hammernode.plの実行には,root権限は必要ない。しかし/etc/ppp/ディレクトリに置くためには,ディレクトリ下に書き込むための権限が必要だ。ここではrootしか書き込めないよう設定されているため,ファイル移動のためにrootとして操作する必要がある。

2. MIME-Base64モジュールのインストール
 hammernode.plは,Perl言語で記述されているスクリプトだ。hammernode.plを使うためには,MIME-Base64モジュールをインストールしなければならない。このモジュールは、CPAN(Comprehensive Perl Archive Network)にて入手でき、http://www.cpan.org/modules/by-module/MIME/にあるMIME-Base64-2.12.tar.gzというファイルである。

 このMIME-Base64-2.12.tar.gzファイルを適当なディレクトリ(普通は自分のホームディレクトリの下に作った適当なディレクトリ)にダウンロードする。そして次のようにtarコマンドを使って展開する。

$ tar xzvf MIME-Base64-2.12.tar.gz

 上記の操作でMIME-Base64-2.12というディレクトリが作られるので,次のように操作してカレントディレクトリを移動しよう。

$ cd MIME-Base64-2.12

 そして次のようにperlコマンドを実行して、makeのためのMakefileを作成する。

$ perl Makefile.PL

 さらにmakeコマンドを実行する。

$ make

 最後にrootユーザーとしてログインし,make installと入力すればMIME-Base64モジュールのインストールが完了する。

$ su
Password: rootユーザーのパスワードを入力する
# make install

3. hammernode.plを編集する
 hammernode.plファイルをエディタで開く。まず1行目に「#!/usr/bin/perl -w」という行があるので,「-w」を削除して次のようにする。

#!/usr/bin/perl


厳密には,「-w」オプションの削除は必要ない。しかし,Red Hat LinuxにインストールされているPerlの環境で動作させるとワーニングが表示されるため,削除することにした。

 次に,7〜8行目の$username$passwordの部分を,申請時に届いたメールに記載されているユーザー名とパスワードに変更する。

# YOUR hn.org name and password go here.
$username = "ユーザー名を記述する";
$password = "パスワードを記述する";

 これでhammernode.plファイルの変更は完了だ。次のようにhammernode.plを実行するだけで,IPアドレスとドメイン名とを関連づけることができる。

$ /etc/ppp/hammernode.pl 自分のIPアドレス


hammernode.plは,接続に成功してもしなくても画面には何もメッセージを表示せず,ログ情報(syslog)を残すだけである。正しく反映されたかどうかを確認するには,nslookupコマンドを使えばよい(ただしhammernode.plを実行してから反映されるまでは最大1分かかる)。

4.ip-upファイルを編集する
 次にADSL接続が成功した時にhammernode.plを実行し,接続時に実行されるようにする。ADSL接続が成功した際にPPPインターフェイス(ppp0)が有効になるが,この際に/etc/pppディレクトリにあるip-upファイルが実行される仕組みとなっている。

 そこでip-upファイルを編集し,hammernode.plを実行するようにしよう。そのためには,ip-upファイル内の「exit 0」行の前に,次の行を挿入すればよい。

/etc/ppp/hammernode.pl $4

 $4にはPPPインターフェイスに割り当てられたIPアドレスが記録されている。そのため上記の行を挿入しておけば,PPPインターフェイスが有効になった際――つまりADSL接続が開始された場合――に,hammernode.plが実行されてIPアドレスとドメイン名とが結びつけられるようになる。

PREV 11/12 NEXT