LANDISKを外部に公開するには、外部からのリクエストがLANDISKへ届くように、
ルータを設定する必要があります。~
さらには、世界中からユニークな名前でアクセスできるよう、
DynamicDNSサービス等を使用する必要があります。~
本章では、その辺のTipsを記したいと思います。~
~
*ルーターの設定 [#v2cb3991]
-''静的IPマスカレード設定''~
インターネットとLANDISKを接続するADSLモデムにパケットの通り道を設けて、~
インターネット上からLANDISKをアクセスできるようにしなければなりません。~
私のADSLモデム(ルーター)では、「静的(スタティック)IPマスカレイド」という~
機能を使用し、それを実現します。~
ルーターによっては「IPフォワーディング」や「アドレス変換」と表記された物もありますので、~
マニュアル等を参考に設定してください。~
~
さて、具体的な設定ですが、WEBサーバが通信に使うポートは通常80番ポートと決まっています。~
したがって、80番ポートに送信されたパケットは、何であれ、とにかく強制的にLANDISKのローカル~
アドレスへ転送するよう設定を行います。設定が終わったら外部から接続実験を行います。~
~
-''外部からの接続実験''~
--まず/share/www/内にindex.htmlファイルを用意してください。~
(私のページを「名前をつけて保存する」等して適当に準備してください。)~
~
--次に自分のグローバルアドレスを調べましょう。~
http://ipdetect.dnspark.com/ ← ここをクリックすると表示されるはずです。~
~
--「 http:// グローバルアドレス /www/index.html 」と、ブラウザで自分自身をアクセスしてください。~
大抵の場合エラーが出てうまくいかないと思います。これはルーターが自分自身のアドレスを~
インターネットの外に探しにいったためです。~
~
--発想をかえて、外部のコンピュータにLANDISKのアドレスをアクセスさせてみましょう。~
携帯電話のi-modeを使ってアクセスしてみても良いですが、もっと簡単な方法があります。~
[[exciteのWebページ翻訳:http://www.excite.co.jp/world/english/web/]]を使用して自分のページを英語等に翻訳してみます。~
(翻訳サーバは、翻訳用の原文を取得するためにLANDISKをアクセスするはずです。)~
~
-
無事、外部からアクセスできることを確認できたでしょうか?~
もし、アクセス制限をかけているディレクトリ等があるならば、ついでに、アクセスできないことを確認しておくと~
より安心でしょう。 ~
~
*Dynamic DNS の登録 [#z8b158be]
-''初めに''~
私の環境では、プロバイダから割り当てられるIPアドレスは約3日毎に
変化します。~
Dynamic DNSとは、そのような不定期かつ高頻度に変化するIPアドレスとHOST名の対応付けを~
してくれるサービスです。~
~
-''Dynamic DNS 探し''~
google等で"無料 Dynamic DNS"等のキーワードで検索すると、~
サービスを提供している業者さんがたくさん見つかると思います。~
私は次のDynamic DNSサービスを使わせていただくことにしました。~
~
--[[Dynamic DO!.jp - ダイナミックDNS:http://ddo.jp/]]
~
ホスト名を"eggplant.ddo.jp"として申請しました。~
(ものの数分で申請は完了しました。)~
~
-''DNSの更新''~
DNSの更新は、通常、DynamicDNSサービス業者が指定する特定ページをアクセスして行います。~
Dynamic DO!.jp の場合は次の様にWEBブラウザでアクセスします。
 http://free.ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード 
または、ブラウザの代りに wget コマンドを使うこともできます。
 wget -O - 'http://free.ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'
ここでは後者の wget コマンドを用いた例を紹介します。~
そのまえに、肝心要のwgetコマンドをインストールしましょう。~
~
-''wgetのインストール''~
(既に入っているかも!!)~
 landisk:~# apt-get install wget
-''動作確認''~
wgetコマンドでDDNSの更新ページをアクセスしてみましょう。(各自の環境に合わせてください。)~
#code(nonumber){{
landisk:/# wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'
<html><body>
<a href="http://ddo.jp/">Dynamic DO!.jp</a><br>
SUCCESS: eggplant.ddo.jp <= [ xxx.xxx.xxx.xxx ]<br>
IPアドレス更新完了.<br>
※IPアドレスに変更がありませんため、パスワードはチェックしておりません。<br>
2005/12/05 00:57:25<br>
<input type="button" value="閉じる" onclick="window.close();">
</body></html>
}}
*DDNSの自動更新 (*.ddo.jpの例) [#zdb860ed]
-''ddns-cron … DDNS自動更新スクリプト''~
cronでDDNSを定期的に更新するためのスクリプト、ddns-cronを作成します。~
(作成後、実行属性をセットすること。)~
#code(nonumber,nolink){{
#!/bin/sh

DATE=`date +"%Y/%m/%d %X"`

wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード' | \
awk '$0 ~ /SUCCESS/ || $0 ~ /FAIL/ { print date, $0;}' date="$DATE" >> /var/log/ddns.log
}}
-''スクリプトのテスト''~
/var/log/ddns.logに結果が出力されます。~
#pre{{
landisk:~# ./ddns-cron
landisk:~# cat /var/log/ddns.log
2004/07/11 17:37:19 SUCCESS: eggplant.ddo.jp <= [ 218.230.147.84 ]<br>
}}
-''cronで定期的に更新''~
1時間毎に、DDNSの更新を行うよう、ddns-cronを、/etc/cron.hourly/ディレクトリに移動します。~
#pre{{
landisk:~# mv ddns-cron /etc/cron.hourly/
}}
*hostsファイル [#yd85cbd5]
-''LAN内からアクセスできない''~
LANDISKは、eggplant.ddo.jpという名前で、世界中の何処からでもアクセスできるようになりました。~
しかし残念なことにローカルネットワーク(LAN)内のマシンからは、その名前を使ってアクセスすることができません。~
//原因はeggplant.ddo.jpがDNSでグローバルアドレスに置換されたからです。
~
本問題を解決するために、eggplant.ddo.jpのエイリアスをhostsファイルに記述する方法を紹介します。~
次の記述をLAN内のマシンのhostsファイルに追加してください。
#pre{{
 192.168.0.80 landisk
 192.168.0.80 eggplant.ddo.jp
&color(red){# (注:192.169.0.80はLANDISKのローカルアドレスを指定してください。)};
&color(red){# (注:eggplant.ddo.jpはDDNSに登録したLANDISKの名前を指定してください。)};
}}
--Windows XPの場合
 C:\WINDOWS\system32\drivers\etc\hosts
--MacOSX 10.3(Panther)の場合
 /private/etc/hosts
-
これでLANDISKへLANの内側からアクセスする時も、外側からアクセスする時も、eggplant.ddo.jpという名前で区別なくアクセスできるようになります。~
~
#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS