次のページ 前のページ 目次へ

2. 必要となる知識

2.1 IP マスカレードとは

IP マスカレードとは、Linux のネットワーキング機能のひとつです。 IP マスカレード機能を持った Linux ホストがインターネットに接続されていれば、 そのホストに(同一 LAN 上で、あるいはモデムによって)接続しているコンピュータが 公式に割り当てられた IP アドレスを持っていなくても、 インターネットを利用することができるのです。

これによって、一群のマシンがゲートウェイシステムの背後に隠れて、 インターネットにアクセスすることができるようになります。 インターネットに接続しているのはゲートウェイだけとしか見えません。 適切に設定されたマスカレードシステムのセキュリティを破ることは、良い パケットフィルタベースのファイヤウォールを破ることよりもかなり難しい はずです (いずれにもバグがないと仮定した場合)。

2.2 現在の状況

IP マスカレードは何年もの間使われ続けており、Linux カーネルの 2.2.x への 進化にともなって成熟を続けています。 1.3.x 以降のカーネルには、すでにサポートが組み込まれています。 多くの個人あるいはビジネスユーザーが IP マスカレードを使っており、 満足すべき結果が得られています。

Web ページの閲覧や telnet 接続は、IP マスカレード上でうまく動作することが 報告されています。FTP や IRC、それに Real Audio の再生も、モジュールを ロードすることによって可能です。 True Speech や Internet Wave など、その他のネットワークストリーミング オーディオも動きます。 テレビ会議ソフトウェアを試してみたメーリングリストのユーザーもいます。 今では ping も動いています。新しい ICMP パッチが必要です。

サポートされているソフトウェアについては、セクション 4.3 を参照してください。

IP マスカレードは、各種の OS やプラットフォームの「クライアントマシン」との 組合せで良好に動作します。 Unix、Windows 95、Windows NT、Windows Workgroup (TCP/IP パッケージが必要)、 OS/2、Mac TCP の載ったマッキントッシュシステム、MAC Open Transport、 NCSA Telnet パッケージの載った DOS、VAX、Linux の載った Alpha、それに AmiTCP または AS225 スタックの載った Amiga でも動作が確認されています。 このリストはまだまだ続きます。要するに TCP/IP を話す OS プラットフォーム であれば、IP マスカレードと一緒に使えるはずなのです。

2.3 IP マスカレードが有用な場合

2.4 IP マスカレードが必要ない場合

2.5 どのようにして IP マスカレードは動作するか

Ken Eves 氏の IP マスカレード FAQ から引用します。

  これはもっとも簡単な構成図です。

     SLIP/PPP         +------------+                         +-------------+
     to provider      |  Linux     |       SLIP/PPP          | Anybox      |
    <---------- modem1|            |modem2 ----------- modem |             |
      111.222.333.444 |            |           192.168.1.100 |             |
                      +------------+                         +-------------+

    上の図で、IP マスカレードが組み込まれて動作している Linux マシンは、
  modem1 によって SLIP または PPP 経由でインターネットに接続されています。
  このマシンには 111.222.333.444 という IP アドレスが割り当てられています。
  また、modem2 からこのマシンにログインして、SLIP または PPP 接続が開始
  できるように設定されています。

    二つめのシステム(Linux が動いている必要はありません)は、Linux マシンに
  電話をかけ、SLIP または PPP 接続を開始します。このマシンはインターネット
  上に割り当てられた IP アドレスをもっていないため、192.168.1.100 という
  IP アドレスを使います(下記参照)。

    IP マスカレードとルーティングの設定が適切であれば、マシン Anybox は
  インターネットに本当に接続されているのと同じように振舞うことができます
  (いくつかの例外はありますが)。

Pauline Middelink 氏からの引用:
  Linux マシンを ANYBOX のゲートウェイとして設定しなければならないことを
  書き忘れないでください。これができない場合には、Linux マシンはすべての
  ルーティングされたアドレスについて代理 arp をしなければなりませんが、
  代理 arp の設定はこの文書の範囲外です。

次にあげるのは comp.os.linux.networking からの抜粋で、上の例に合わせて
名前を書き換えたものです。
   o ANYBOX に Linux マシンがゲートウェイだと教えておきます。
   o ANYBOX から Linux マシンへパケットが届いた時、新しいポート番号が
     割り当てられ、パケットヘッダの IP アドレスが Linux マシンのアドレスに
     書き換えられます。元のポート番号とアドレスは別に保存されます。
     変更されたパケットは、SLIP または PPP インターフェースを介して
     インターネットへ送られます。
   o パケットがインターネットから Linux マシンへ届いた時、ポート番号が
     上で割り当てたものであった場合には、元のポート番号と IP アドレスを
     パケットヘッダに書き戻し、パケットは ANYBOX に送られます。
   o パケットを送るホストは、全く違いに気付きません。

IP マスカレードの例

典型的な例を下図に示します。


    +----------+
    |          |  Ethernet
    | abox     |::::::
    |          |2    :192.168.1.x
    +----------+     :
                     :   +----------+   PPP   
    +----------+     :  1|  Linux   |   link
    |          |     ::::| masq-gate|:::::::::// Internet
    | bbox     |::::::   |          |
    |          |3    :   +----------+
    +----------+     :
                     :
    +----------+     :
    |          |     :
    | cbox     |::::::
    |          |4    
    +----------+  
                

    <-Internal Network->
この例では、4台のコンピュータシステムが接続されています (おそらくその他に、図のもっと右側にインターネットへの IP コネクションを 提供するホストが、そしてさらにその右側には情報を交換すべきインターネット 上のホストが存在するのでしょう)。 Linux システム masq-gate は IP マスカレードを行なうゲートウェイで、 マシン aboxbbox および cbox から構成される 内部ネットワークからインターネットへの接続を行ないます。 内部ネットワークは RFC1918 によって割り当てられたプライベートネットワーク アドレスの一つ (この例では 192.168.1.0) を使っており、masq-gate は 192.168.1.1、その他のホストは図示のアドレスを持っています。 3台のマシン aboxbbox および cbox (ところで、これらのマシンは、Windows 95Macintosh MacTCP あるいは別の Linux マシンなど、IP を話すものであれば、 どんなオペレーティングシステムが走っていても構いません) は、インターネット上のマシンに接続することができますが、その際 マスカレードを行なうシステム masq-gate は、すべての コネクションが masq-get から発しているかのように変換し、 さらにマスカレードされたコネクションへ戻ってくるデータが 中継されて発信元のシステムに戻ってくるように処理するのです。 内部ネットワーク上のシステムからはインターネットへの直接経路がある ように見え、データがマスカレードされていることは意識しません。

2.6 IP マスカレードを Linux 2.2.x で使うための必要条件

** 最新の情報については、 IP Masquerade Resource を参照してください。**

2.7 IP マスカレードを Linux 2.0.x で使うための必要条件

** 最新の情報については、 IP Masquerade Resource を参照してください。**


次のページ 前のページ 目次へ