IP マスカレードは、 Linux におけるネットワーキング機能であり、多くの 商用のファイアウォールやネットワークルータに見受けられる 1対多の NAT (Network Address Translation: ネットワークアドレス変換) と似ています。 例として、 Linux ホストが PPP やイーサネット等にてインターネットに接続 されているとしましょう。 IP マスカレードの特徴は Linux ボックスに (PPP やイーサネット等にて) 接続される "内部の" コンピュータにも等しくインターネットを 利用できるようにします。 Linux の IP マスカレーディングは、内部マシンが公式に割り当てられた IP アドレスを持たなくても、内部マシンがインターネットに 接続できるようにします。
マスカレードは、 マスカレードゲートウェイを経由して、全てのマシンを 隠してインターネットにアクセスできるようにします。 インターネット上の他のマシンからは、発生する全てのトラフィックは あたかも IP マスカレード Linux サーバ自身からのものであるように 見えます。 その追加機能に加えて、 IP マスカレードは非常に安全なネットワーキング 環境を作るための土台を提供します。 しっかり作られたファイアウォールを伴えば、しっかり設定された マスカレードシステムと内部の LAN のセキュリティを壊すことはかなり 難しくなるでしょう。
マスカレードが 1対1 の NAT やプロキシによる問題解決方法とどのように 違うのか、もっと知りたい方は、 FAQ の章 の IP マスカレードは、プロキシや NAT サービスとどう違うのでしょうか? をご覧ください。
IP マスカレードは何年もの間使われ続けており、Linux カーネル 2.2.x の段階にある現在、とても成熟した状態にあります。 Linux カーネル 1.3.x から、MASQ サポートが組み込まれています。 今日、多くの個人や商業ベースのビジネスにおいて使われ、優秀な結果を おさめています。
Web ブラウジング、 TELNET, FTP, PING, TRACEROUTE 等の一般的な ネットワークの利用は、 IP マスカレード上でうまく動作します。 FTP, IRC とリアルオーディオ (Real Audio) のような他の コミュニケーションは適切な IP MASQ モジュールをロードすればうまく 動作します。 ストリーミングオーディオのような他のネットワークに特有のプログラム ( MP3, True Speech など) も同様に動作します。 メーリングリストの何人かの優秀なユーザはビデオ会議ソフトウェアに おいても良い結果を出しました。
内部と外部のイーサネットネットワークの間を 1 つだけのネットワークカード (NIC) にて IP マスカレードを動作させることはお薦めできません。 詳細については FAQ の章の IP マスカレードは1枚だけのイーサネットネットワークカードで動作しますか? にある解説をご覧ください。
ともかく、より完全なサポート済みソフトウェアの一覧は サポートしているクライアントソフトウエアとその他の設定情報 の章をご覧になってください。
IP マスカレードは、他の様々な異なる OS やハードウェアプラットフォーム にて稼働する 'クライアントマシン' に対し、サーバとして良好に動作します。
以下に内部の MASQ されたシステム上での成功例を示します -
このリストはまだまだ続きます。要するに、 TCP/IP を喋れる OS プラットフォームであれば、 IP マスカレードと一緒に使えるはずなのです。
Ken Eves 氏によるオリジナルの IP マスカレード FAQ から引用します -
これはもっとも簡単な構成図です - SLIP/PPP +------------+ +-------------+ ISP へ | Linux | SLIP/PPP | Anybox | <---------- modem1| #1 |modem2 ----------- modem3| | 111.222.121.212 | | 192.168.0.100 | | +------------+ +-------------+ 上図において、 IP_MASQUERADING を伴う Linux box が Linux #1 として インストールされており、 modem1 を使った SLIP 或は PPP 接続にて、 インターネットに接続されています。 このマシンにはパブリック IP アドレスとして 111.222.121.212 が割り当て られています。 更に発信側のダイヤルインと SLIP 或は PPP 接続を受け入れるための modem2 が接続されています。 第2 のシステム ( Linux が稼働している必要はありません) は Linux #1 box へ発呼し、 SLIP 或は PPP 接続を開始します。 このマシンはインターネットからパブリックな IP アドレスが *割り当てられません*ので、プライベートアドレスの 192.168.0.100 を 用います。(下記参照。) マスカレードとルーティングの設定が適切であれば、マシン "Anybox" は あたかもインターネットに直接接続されたかのように振る舞うことができます (いくつかの例外はありますが)。 Pauline Middelink 氏からの引用 - Linux #1 box は "ANYBOX" マシンのゲートウェイとして設定されていなければ ならないことを忘れてはなりません。 (ここで、それがデフォルトルートなのか、 或は単なるサブネットであるのかは問題ではありません。) もし "ANYBOX" がそのようにできないのであれば、 Linux マシンは全ての ルーティングされたアドレスに対して代理 arp をサポートするよう 設定されるべきです。 けれども、代理 arp のセットアップと設定はこの文書の扱う範囲外です。 次にあげるのは comp.os.linux.networking からの過去の投稿からの 引用で、上記例に合致するように名前を書き換え、編集したものです - o ANYBOX に Linux マシンがゲートウェイだと教えておきます。 o マシン ANYBOX に、 PPP 或は SLIP 接続される Linux box が ゲートウェイであることを教えておきます。 o ANYBOX から Linux box にパケットが 届いた時、 Linux box は パケットに対して新しい TCP/IP ソースポート番号を割り当てて、 パケットヘッダに自分の IP アドレスを書き込んで、元の IP アドレスを保存しておきます。 MASQ サーバはこうして修正したパケットを SLIP/PPP インターフェースを通じてインターネットへ送信します。 o パケットがインターネット から Linux box に帰って来たら、 Linux はポート番号が先に割り当てたものの一つであるか調べます。 もしそうなら、 MASQ サーバは元のポートと IP アドレスを得て、 戻って来たパケットヘッダにそれを復元し、そのパケットを ANYBOX へ送ります。 o パケットを送られたホストは、その違いに全く気付かないでしょう。
もう一つの IP マスカレーディングの例 -
典型的な例を下図に示します -
+----------+ | | イーサネット | A-box |:::::: | |.2 : 192.168.0.x +----------+ : : +----------+ PPP +----------+ : .1 | Linux | link | | :::::::| Masq-Gate|:::::::::::::::::::// インターネット | B-box |:::::: | | 111.222.121.212 | |.3 : +----------+ +----------+ : (マスカレード : ゲートウェイ) +----------+ : | | : | C-box |:::::: | |.4 +----------+ | | | | <-内部ネットワーク--> | | <- 外部ネットワーク ----> | | |
この例では、4台のコンピュータシステムが接続されています。
またおそらくその他に、図のもっと右側にインターネットへの PPP 接続
を提供するホストが、そしてさらにその右側にはあなたが情報をやり取り
したいと思うインターネット上のリモートホストが存在することでしょう。
Linux システム masq-gate
は IP マスカレードを行う
ゲートウェイで、マシン A-box
、B-box
及び C-box
から構成される内部ネットワークから
インターネットへの接続を行います。
内部ネットワークは
RFC-1918 にて割り当てられた幾つかのプライベートネットワークアドレス
の一つ (この例では 192.168.0.0) を使います。
Linux box は TCP/IP アドレス 192.168.0.1 を持ち、その他のホストは
以下のアドレスを持っています -
3台のマシン A-box
、B-box
及び C-box
は
TCP/IP を話すことができればどんなオペレーティングシステムが動作して
いても構いません。
OS は Windows 95 、 Macintosh MacTCP 或は OpenTransport
或は別の Linux box など、インターネット上の他のマシンに接続
できるものです。
動作中、マスカレーディングシステム或は MASQ-gate
はこれら
内部接続の全てを masq-gate
自身から発生するように見えるように
変換します。
次にマスカレードは、マスカレードされた接続へ戻ってくるデータが中継されて、
発信元のシステムへ戻されるように処理します。
これにより、内部ネットワーク上のシステムからはインターネットへの直接
経路があるように見え、データがマスカレードされていることは意識しません。
これを "透過的な" 接続と呼びます。
注意 - 以下に示すトピックの詳細については よくある質問 (FAQ) をご覧ください -
** 最新の情報については IP マスカレードの情報源 を参照してください。 **
注意 #2 - Redhat 5.2 のような、多くのより新しい マスカレードサポート済みディストリビューション は、 Linux 2.2.x に対応していません。 DHCP, NetUtils 等のツールはアップグレードの必要があります。 詳細はこの HOWTO にあります。
ICQ MASQ モジュール
PORTFW FTP ソリューション(問題解決方法) -
真の 1 対 1 NAT の為の IPROUTE2, ポリシーベースの (発信元) ルーティング、 そして トラフィックシェイピング -
ソースコードのミラーは以下にあります -
ftp://linux.wauug.org/pub/net ftp://ftp.nc.ras.ru/pub/mirrors/ftp.inr.ac.ru/ip-routing/ ftp://ftp.gts.cz/MIRRORS/ftp.inr.ac.ru/ ftp://ftp.funet.fi/pub/mirrors/ftp.inr.ac.ru/ip-routing/ (STM1 to USA) ftp://sunsite.icm.edu.pl/pub/Linux/iproute/ ftp://ftp.sunet.se/pub/Linux/ip-routing/ ftp://ftp.nvg.ntnu.no/pub/linux/ip-routing/ ftp://ftp.crc.ca/pub/systems/linux/ip-routing/ ftp://ftp.paname.org (France) ftp://donlug.ua/pub/mirrors/ip-route/ ftp://omni.rk.tusur.ru/mirrors/ftp.inr.ac.ru/ip-routing/
RPM パッケージは ftp://omni.rk.tusur.ru/Tango/ と ftp://ftp4.dgtu.donetsk.ua/pub/RedHat/Contrib-Donbass/KAD/ から入手可能です。
詳細な情報とその他パッチ等は IP マスカレードの情報源 をご覧ください。
** 最新情報については IP マスカレードの情報源 を参照してください。 **
新しい機能の中にはこんな賛否両論を含んでいるものもあります -
賛成意見 -
反対意見 -
ip_masq_cuseeme.o ip_masq_icq.o ip_masq_quake.o ip_masq_user.o ip_masq_irc.o ip_masq_raudio.o ip_masq_vdolive.o
この移植をどうするかについての文書は http://netfilter.kernelnotes.org/unreliable-guides/netfilter-hacking-HOWTO-5.html にあります。 時間がありましたら、これらを早く移植することであなたの才能は高く評価 されることでしょう。
このバージョンの HOWTO では、 Netfilter はカバーしていません。 一旦 Netfilter の特徴が固定されれば、 -この- HOWTO に追加されるか、 新たな HOWTO に書かれるでしょう。 それまでは、以下に示す Netfilter の文書へのリンクを参照してください。 現状では、新しい Netfilter コードは、今日 IPCHAINS ユーザが用いる 設定とトラブルシューティングの 95% 同じものを共有できています。 ですので、この HOWTO は未だ Netfilter によるファイアウォールと NAT ユーザーにとっても非常に適切です。
http://netfilter.filewatcher.org/unreliable-guides/index.html そしてより詳細には http://netfilter.filewatcher.org/unreliable-guides/NAT-HOWTO.html をどうぞ。
詳細な情報とその他パッチ等は IP マスカレードの情報源 をご覧ください。
** 最新情報は IP マスカレードの情報源 を参照してください。 **
ポートフォワード FTP -
X-Window ディスプレイフォワーダ -
ICQ MASQ モジュール
PPTP (GRE) 及び SWAN (IPSEC) VPN トンネリングフォワーダ -
ゲーム特有のパッチ:
一部の WWW ブラウザはこの .gz ファイルを自動的に解凍することに注 意してください。このファイルをダウンロードする際には、SHIFT キーを 押しながら上記 URL をクリックしてください。
詳細は Dan Kegel 氏の NAT Page も調べておいてください。 更なる情報は ゲームクライアント の章と よくある質問 (FAQ) の章でも得られます。
上記パッチ及びその他の詳細は IP マスカレードの情報源 にて入手できます。