タイトル大津真=XはUNIXでサーバで》Dymamic DNSによるサーバの公開(1)カテゴリーネットワーク管理, ネットワーク, 大津真=XはUNIXでサーバで
作成日2002/1/28 16:5:43作成者新居雅行
最近では、ADSL、CATV、光ファイバーを使用したブロードバンドインターネットが身近なものになってきました。喜ばしいことです。ただ、価格競争がどんどん進むと淘汰される事業者も増えてくるのも事実です。筆者の場合、かれこれ1年ほど東京めたりっく通信のADSLサービスを利用しています。ほかの多くのADSL業者では今や8Mが標準なのに、価格も割高で未だに1.6Mです。最近ではWebサイトの更新もあまりないようです。ちょっと心配です...でも、乗り換えに必要な手間と、その間インターネットが使えなくなるという恐怖でそのままになっています。
とはいっても、日常的な使用ではほとんど不満はありません。現状ではインターネットの使用の中心がWebとメールであることにもよるのでしょう(今後より高品位なストリーミングコンテンツが普及してきたら別ですが)。なにより、グローバルIPアドレスが割り当てられるという点が気に入っています。ご存じのように、グローバルIPアドレスはインターネット上でユニークなIPアドレスです。外部からアクセスすることも可能なわけで、自宅のコンピュータをインターネットに公開することができます。ということで、今月はADSLサービスを使用して自宅のサーバをインターネットに公開する方法について説明しましょう。

――――Dynamic DNSとは
さて、低価格のADSLサービスの場合、グローバルIPアドレスは通常接続した時点で割り当てられます。常時接続とはいえ、なんらかの理由で回線を切断した(あるいはされた)場合、接続し直すとIPアドレスが変わってしまいます。せっかく知り合いにIPアドレスを教えておいてもアクセスできないといった自体になりかねません。もちろん、IPアドレスが不定ではドメイン登録もできませんから、www.makoto.comのようなドメイン名も使えませんね。
そこで登場するのが、特定のドメイン名で、非固定のIPアドレスを参照できるようにしたDynamic DNSと呼ばれる仕組みです。通常のDNSのゾーン情報の更新を動的に行えるようにしたものというイメージでとらえるといいでしょう。
もちろん、Dynamic DNSを利用するにはそれに対応したサーバが必要になりますが、ありがたいことに、Dynamic DNSのサービスを無料あるいは低価格で提供できるサイトが数多くあります。代表的なサイトをいくつか上げておきましょう。

◇DynDNS.org
 http://www.dyndns.org/

◇No-IP.com
 http://www.no-ip.com/

◇Dyn.to
 http://www.dyn.to/

(それなら固定IPアドレスのサービスを利用すればという話もありますが、ちょっと予算的に厳しいので..)

――――筆者の自宅の構成
筆者の自宅の構成はだいたい次のようになっています。

←┤ADSLモデム├─┤グローバルIPルータ├─┤スイッチングハブ├─→[コンピュータいろいろ]
グローバルIPアドレス ←┼→ プライベートIPアドレス

グローバルIPルータには、ADSLを導入した時に購入したROUTETECHのCR2040を使用しています。発売からかなり経過している機種ですが、WAN側ーLAN側のスループットが8Mと、当時としてはかなり高速でした。
グローバルIPアドレスとプライベートアドレスの変換はルータ内蔵のIPマスカレード機能を利用しています。たぶんご存じだと思いますがIPマスカレードとは、1つのグローバルIPアドレスを、複数のプライベートIPアドレスで共有する仕組みです。もともとはLinuxで開発された技術ですが、いまではNAPTとして標準化されています。

◇ROUTETECH
 http://luno.routetech.co.jp/

――――ポートフォワーディング
さて、外部からIPマスカレードされているLAN内の特定のホストにアクセスするにはポートフォワーディングと呼ばれる技術を使います。ポートフォワーディングでは、外部から受け取ったパケットをポート番号に応じて、LAN内の特定のホストに送ることができます。たとえば、Webサーバは一般的に80番ポートを使用しますから、ルータのグローバルIPアドレス「202.238.xx.xx」の80番に届いたパケットを、LAN内の192.168.1.3のマシンの同じポートに送るといった設定が可能です。これによってLAN内のWebサーバにインターネットからアクセスできるようになるわけです。
ポートフォワーディング機能はたいていのグローバルルータに内蔵されていまが、その呼び名はさまざまです。たとえばCR2040のマニュアルでは「バーチャルサーバ機能」と記述されています。なお、業務用ルータやUNIX系OSをルータとして使用した場合には受け取ったポートと異なるポートにパケットを送るといったこともできますが、たいていの家庭用のグローバルIPルータにはそのような機能は用意されていません。

――――DynDNS.orgを使う
ここでは、フリーのDynamic DNSサービスの老舗といえるDynDNS.orgについて説明しましょう。なおDynDNS.orgのフリーサービスはユーザの寄付によって成り立っています。サービスが気に入ったら寄付しましょう。シェアウエアフィー支払い代行で有名なKagiで送金することが可能です。
まず、ドメイン名ですが、もちろん正式にレジストラに登録する場合のように好き勝手なものが使えるわけではありません。けれど、DynDNS.orgのフリーサービスで使えるドメイン名は結構充実していて、たとえば次のようなものがあります。

dyndns.org
homeip.net
homelinux.com
ath.cx

例として「makoto」という名前で登録した場合、ホスト名は

makoto.dyndns.org

のようになります。つまりインターネット側から見たFQDNは、ホスト部が「makoto」、ドメイン部が「dyndns.org」になります。しかし、通常LAN内では「makoto.dyndns.org」をドメイン部として、

www.makoto.dyndns.org
host2.makoto.dyndns.org
host3.makoto.dyndns.org

のようにホスト名を設定したいと思います。そのため、たいていのDynamic DNSサービス業者では「ワイルドカード機能」を用意し、ホスト名の前の文字列を無視できるようになっています。つまり、

www.makoto.dyndns.org

とアクセスした場合には先頭の「www」が無視され「makoto.dyndns.org」と見なされるわけです。まあ、見た目の問題ですが、これだけでも正式に登録された独自ドメインのような気がしてくるものです。
さらに、ワイルドカード機能を利用すれば、WebサーバApacheでバーチャルホストを簡単に構築できるという点にメリットを感じる方も多いかもしれません。たとえば、/etc/httpd/httpd.confで次のように設定しておけば、インターネットからは「www.makoto.dyndns.org」と「secret.makoto.dyndns.org」の2つのホスト上でWebサーバが動作しているように見えます。

<VirtualHost www.o2.dyndns.org>
SeverName www.o2.dyndns.org
DocumentRoot /Users/o2/Sites/www
</VirtualHost>
<VirtualHost secret.o2.dyndns.org>
SeverName secret.o2.dyndns.org
DocumentRoot /Users/o2/Sites/www
</VirtualHost>

(この項、続く)
[大津真]
関連リンク大津真Web Site