httpサーバの運用その3


LCIII+、いよいよインターネットで公開! 後悔先に立たず…
って別に何か大それた失敗をしたわけじゃありませんが、気分的には不安でいっぱいです。

ADSLルータの設定
IPフィルタの設定で、外部からTCPの80ポートを通過させる。
NATアドレス変換設定で、外部からTCPの80ポートをLCIII+のプライベートアドレスににポートフォワードする。

これでプロバイダから割り当てられたグローバルIPアドレスにアクセスすると、httpサーバが応答します。

応答します、とか断言したけど自分ではわかりません。
なぜかというと、ブラウザをつかってLAN内からグローバルIPアドレスでADSLルータにアクセスしてもルータの認証画面がでてしまうから。
本当に大丈夫なのか?
非常に心配でしたが、大丈夫なようです。

ダイナミックDNSを使う
DynDNS.orgを利用してみました。
アカウントをつくって、ホストを追加してOK、みたいな(いずれ痛い目にあう)。
それで、とりあえずこんなのが出来ました。
http://macyoro.dyndns.org/

アドレスの更新
固定IPではないので、更新を自動化してみます。
こちらのページを参考させていただきました。(ほとんど孫引き)どうもありがとうございます。
netbsd on blackbird
まずwgetをインストール。パッケージです。
/pkgsrc/net/wget/

インストールできたら、
% wget checkip.dyndns.org
とすると現在のIPアドレスを取ってきてくれます。画面にはログが表示され、取ってきたファイルがカレントディレクトリに作成されました。

wgetのオプション
-q ログを出力しない。
-O ファイル名を指定できる。wget -O ip.txtという具合。
-O - 取ってきたファイルの内容を標準出力で表示する。

というわけで、オプションをつけて実行してみます。
% wget -q -O - checkip.dyndns.org
<html><head><title>Current IP Check</title></head><body>Current IP Address: 66.777.88.99</body></html><br>
なんかお手本と若干違って改行が入らないので、その後の処理はgrepを使わずにこうしてみました。ちょっとブザマ。

% wget -q -O - checkip.dyndns.org | cut -d ':' -f2 | cut -d '<' -f1
66.777.88.99

コマンドとして登録しときます。
# vi /usr/local/bin/checkip
(ファイルの中身)
#! /bin/sh
wget checkip.dyndns.org -q -O - | cut -d ':' -f2 | cut -d '<' -f1


ez-ipupdateをインストールする
パッケージにはないので手作業です。
http://ez-ipupdate.com/
さっそくwgetを使ってみたりして。
% wget ez-ipupdate.com/dist/ez-ipupdate-3.0.11b7.tar.gz
% tar xvzf ez-ipupdate-3.0.11b7.taz.gz
% cd ez-ipupdate-3.0.11b7
% ./configure
% make
% su
Password:
# make install
# rehash
# exit
%
ここはまったくお手本通りです。
よかった、簡単なmakeで。makeまったく自信がないのです。

さっそく動かしてみます。
% ez-ipupdate -a `checkip` -S dyndns -u id:passwd -h macyoro.dyndns.org
ez-ipupdate Version 3.0.11b7
Copyright (C) 1998-2001 Angus Mackay.
connected to members.dyndns.org (63.208.196.94) on port 80.
members.dyndns.org says that your IP address has not changed since the last update

って、変わってない!もう3日もたつのに…
せっかくこうしてダイナミックDNSやってるんだか、もっとコロコロIP変わってほしいのに。

それはともかく、cronに登録します。
# crontab -e
45 * * * * /usr/local/bin/ez-ipupdate -a `checkip` -S dyndns -u id:passwd -h macyoro.dyndns.org -b /tmp/ez-ip

これで毎時45分に動くはず、動くんだろうな。

(2004/1/23)


戻る