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

8. ネットワーク相互接続

Linux には豊富なネットワーキング機能があります。 Linux ボックスをルータ、 ブリッジなどにできます。そのいくつかをこれから述べます。

8.1 ルータ (Router)

Linux はカーネルにルーティング機能のサポートを組み込めます。商用のルータの 何分の一かのコストで Linux ボックスを IP とか IPX のルータにできます。 最近のカーネルではマシンを主にルータとして使う為の特別なオプションが あります。

フロッピー1枚で支障なく稼働する Linux ルータを作るのを目標のひとつにした 関連プロジェクトがいくつかあります。

8.2 ブリッジ (Bridge)

Linux のカーネルにイーサネットのブリッジ機能を組み込めます。イーサネットの ブリッジとは、イーサネットの別々のセグメントをまとめて、ひとつのイーサネットの ように見せるものです。いくつかのブリッジを一緒に使って、 IEEE802.1 の スパニングツリーアルゴリズムを用いたイーサネットで結構大きなネットワークが 作れます。これは標準ですから、 Linux のブリッジは別のサードパーティーのブリッジ 製品と相互接続できます。パッケージを追加すれば、 IP とか IPX や MAC アドレス によるフィルタリングもできます。

関連する HOWTO

8.3 IP マスカレード( IP Masquerade )

IP マスカレードは Linux で開発中のネットワーク機能です。 IP マスカレードを 有効にした Linux のホストをインターネットに接続しているとします。その時、その ホストに接続している(同じ LAN でも、モデム経由の接続でもかまいません) コンピュータも、公式に割り当てられた IP アドレスを持ってなくても、 インターネットにつなげられます。モデム接続ひとつだけを使って大勢がインターネット にアクセスできますから、コスト削減にもなりますし、セキュリティ増大にも役立ち ます(公式に割り当てられていないアドレスにはネットワークの外からアクセス できませんので、このホストはファイアウォールの役割を果たせます)。

IP マスカレード関連のページとドキュメント

8.4 IP アカウンティング (IP Accounting)

Linux のカーネルのこのオプションは、 IP ネットワークのトラフィックの記録を とり、パケットのロギングと統計の作成するものです。一連のルールを 定義できて、パターンに一致する特定のパケットの時にカウンタを増加させるとか、 受入/拒否するなどができます。

8.5 IP エイリアス (IP aliasing)

Linux のカーネルの IP エイリアス機能は、ひとつの低レベルネットワーク デバイスドライバ上に複数のネットワークアドレスを設定できるようにします (例えばひとつのイーサネットカードに二つの IP アドレスなど)。よく使われるのは、 聴取しているアドレスによって役割を違わせるようなサービス(例えば``マルチホスト'' 、``仮想ドメイン''、``仮想ホストサービス'')です。

関連する HOWTO

8.6 トラフィックシェイピング (Traffic Shaping)

トラフィックシェイパーとは仮想的なネットワークデバイスで、もうひとつの ネットワークデバイスから出て行くデータの速度を制限できるものです。 ISP などで 各クライアントが使う帯域幅の量を統制するポリシーを実現する のに特に役立ちます。( Web サービス専用ですが)クライアントからの IP 接続数 とか使用帯域幅を制限する Apache のモジュールも使えるでしょう。

8.7 ファイアウォール (FireWall)

ファイアウォールとは、公共部分(インターネット全体)から プライベートネットワークを保護するデバイスです。ファイアウォールは各パケット の中に入っている送り元、送り先、ポート、パケットタイプの情報を使って、 パケットの流れをコントロールするものです。

Linux には多様なファイアウォールのツールキットがありますし、カーネルに組み込み のサポートもあります。 また別のファイアウォールが TIS と SOCKS です。 これらのツールキットは極めて完成度が高く、他のツールと組み合わせて使えば、 全ての種類のトラフィックとプロトコルの閉塞/リダイレクションができます。 コンフィグレーションファイルとか GUI プログラムを使って設定して、複数の異なる ポリシーを実現できます。

8.8 ポートフォワーディング (Port forwarding)

CGI-bin とか Java アプレットを使ってデータベースその他のサービスへアクセス させて対話的にする Web サイトが増えています。このアクセスはセキュリティ問題を 起こしがちですから、データベースを持つマシンはインターネットへ直接接続させる べきではありません。

ポートフォワーディングでこのアクセス問題へのほとんど理想的な解決策を 提供できます。ファイアウォール上で特定のポート番号に入ってくるパケットが 書き換えられて、実際のサービスを行う内部サーバにフォワードさせられます。 内部サーバからの応答パケットは書き換えられてそのファイアウォールから出る パケットに見えます。

ポートフォワーディングの情報は ここ で見つかります。

8.9 ロードバランシング (Load Balancing)

データベース/ Web サーバに多数のクライアントが同時にアクセスする場合には、 普通は負荷のバランスを取る必要があります。同じサーバを複数置いて負荷が少ない サーバにリクエストをリダイレクトするのが望ましいでしょう。これを Network Address Translation techniques ( NAT ) で実現できます。これの サブセットが IP マスカレードです。ネットワーク管理者は、Webサービスなどの アプリケーションをひとつのサーバで供給する代わりに、複数のサーバにひとつの IP アドレスを共有させた複数サーバの論理的な集まりで置き換えできます。入ってくる 接続は特定のひとつのサーバに向けて入ります。そのサーバはロードバランシング アルゴリズムを使います。その仮想サーバは入力と出力のパケットを書き換えて、 サーバはひとつだけのようにクライアントに見せかけて、透過的にアクセス させます。

Linux の IP-NAT の情報は ここで見つかります。

8.10 EQL (訳注:マルチリンク接続)

EQL は Linux のカーネルに統合されています。どこかのコンピュータへシリアル接続 が2本あって(普通これには2本の電話線とモデム2つが要ります)、これに SLIP か PPP (電話線でインターネットのトラフィックを送信するプロトコル)を使っていると しましょう。この時に EQL ドライバを使えば倍の速度のひとつの接続のように 使えます。当然ですが、これは相手側でもサポートされていなければなりません。

8.11 プロキシサーバ (Proxy Server)

プロキシという用語は「別の人の代理で何かをすること」です。ネットワーク用語 で言うと、プロキシサーバのコンピュータは複数のクライアントを代理できます。 HTTP のプロキシでは別のマシン(マシン A )から Web ページのリクエストを 受けます。このプロキシはリクエストされたページをゲットして結果をマシン A に 返します。このプロキシはリクエストされたページのキャッシュを持てますので、 別のマシンが同じページを頼んで来たならキャッシュ中の コピーを代わりに返します。これで帯域幅の資源を有効利用できますし 早く応答できます。副産物ですが、クライアントマシンが外部世界へ直接接続しません から、内部ネットワークを安全にする手法に使えます。うまく設定されたプロキシは 効率を向上させると同時に、良いファイアウォールともなれます。

Linux 用のいくつかのプロキシサーバがあります。はやりの選択肢は Apache の プロキシモジュールです。もっと完全で頑強な HTTP プロキシの実装は SQUID です。

8.12 オンデマンドのダイアル (Diald on demand)

オンデマンドのダイアルの目的は、ユーザがリモートのサイトに常時 接続しているように見せることです。普通は、興味深い(興味深さは、 ルール/プライオリティ/パーミッション のセットで普通は定義されます)パケット が到達する場所にパケットのトラフィックを監視するデーモンがいて、そのデーモンが リモートの先へ接続します。一定時間そのチャネルが空いていたらデーモンが 接続を切ります。

8.13 トンネリング( tunnelling )と、モバイル IP ( mobile IP )、 仮想プライベートネットワーク( virtual private network )

Linux のカーネルはプロトコルのトンネリング(カプセル化)ができます。 IP しか通せないリンクでも IPX ネットワーク同士を接続できるように、 IP を介した IPX のトンネリングができます。また IP-IP トンネリングもできます、これは モバイル IP 、マルチキャスト、アマチュア無線をサポートするには肝心です。 ( http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.8 (訳注: 和訳)を参照)

モバイル IP は、インターネット中のモバイルノードへ IP データグラムを透過的に ルーティングできる拡張仕様を定義しています。各モバイルノードは、インターネット への現在の接続点には無関係にいつも自分のホームアドレスで 特定されます。モバイルノードは自分のホームから離れている間には今どこで インターネットへ接続されているかの情報( care-of address )も持っています。 このプロトコルはその情報をホームエージェントに登録します。ホームエージェントは データグラムを care-of address へのトンネルを通じてモバイルノードに向けて 送信します。そのトンネルの端に到達してから各データグラムはモバイルノードへ 配達されます。

Point-to-Point Tunneling Protocol (PPTP)は、安全な virtual private network(VPN) としてインターネットを利用可能にする ネットワーク技術です。 PPTP は Windows NT Server に組み込まれた Remote Access Services(RAS) サーバに統合されています。 PPTP によってローカルの ISP へのダイアルインでも、インターネットへの 直接接続でも、ユーザは自分のデスクにいるのと同じく自分のネットワークへアクセス できます。 PPTP はクローズなプロトコルで最近セキュリティが問題に なっています。これの代わりに Linux をベースにした代替品を使うよう強く お勧めします、こちらは注意深く検討されテストされたオープンな標準ですから。

モバイル IP 仮想プライベートネットワーク関連のドキュメント


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