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

2. 公式ウェブサイトやメーリングリストはどこにありますか?

三つの公式サイトがあります:

http://www.netfilter.org/http://www.iptables.org/ 経由でラウンドロビン DNS を利用して、上に挙げたサイトのすべてに アクセスできます。

公式な netfilter のメーリングリストに関しては、 netfilter Listを参照ください。

2.1 ネットワークアドレス変換とは何ですか?

通常、ネットワーク上のパケットは、送信元(例:家にあるコンピュータ) から宛先(例:www.gnumonks.org)まで、たくさんのいろいろなリンク (オーストラリアの僕のいるところからだと 19 個くらい)を通って届きます。 こうしたリンクは、パケットの中身を変えたりはしません。 ただ先へ送信するだけです。

これらのリンクのどれかが NAT を行うとすると、パケットが通過するたびに、 それの送信元か宛先を書きかえることになります。お分かりでしょうが、 それはシステムが本来行うのに望ましい動作ではなく、従って NAT は常にかなりの厄介者なのです。一般に NAT を行うリンクは、 パケットをどのように料理したのかを覚えているので、 反対方向からリプライのパケットが返ってきたときには、 そのパケットに行きと反対の操作を行い、それで全てが上手くいくわけです。

2.2 どうして NAT が必要なのですか?

完全な世界だったら必要ないでしょう。必要な主たる根拠としては:

インターネットへのモデム接続

大抵の ISP は、 ダイヤルアップ時に単一の IP アドレスを付与します。 お好みの送信元アドレスをつけてパケットを送出することも可能ですが、 ISP から付与された IP アドレスを送信元アドレスとするパケットに対してしか リプライは届きません。もし複数のマシンを(ホームネットワークなどで) 一個のリンクを通してインターネットに接続したいのでしたら、 NAT が必要になります。

これが今日 NAT の利用法として最も一般的なもので、Linux 界では「IP マスカレード」として知られています。これは最初に送出されるパケットの 送信元アドレスを変換するものなので、 僕はこれを SNAT と呼んでいます。

複数のサーバ

あなたが管理しているネットワーク宛てのパケットについて、 その行き先を変更したいことがあります。これは大抵(上記の通り)一個しか IP アドレスを持ってないからで、それでもその「本当の」IP アドレスを持つ NAT ボックスの背後にある端末にまで入れるようにしたいのです。 入ってくるパケットの宛先を書き換えれば、これを実現することができます。 この種の NAT は、Linux の以前のバージョンではポートフォワーディング と呼ばれていました。

これの一般的なバリエーションとして負荷分散があり、これはいくつかのマシン群 に対してマッピングを施し、パケットをそれらのマシンに振り分けます。 もしあなたがこれをかなりの規模で行っているなら、 以下のページを見る必要があるかもしれません。

Linux Virtual Server

透過プロクシ

Linux ボックスを通過するパケットが、その Linux ボックス自身に向けたパケットであるかのように見せかけたいときがあります。 これは透過プロクシを構築することで実現されます −プロクシは、 内部ネットワークと外界の間に立つプログラムで、分けられた二つのネットワーク を繋いで通信できるようにします。透過と呼ばれるのは、内部ネットワークは プロクシと通信していることにさえ気付かないからです。もちろん、 プロクシがちゃんと動作していれば、の話ですが。

Squid はこのように動作するように設定可能で、Linux の以前のバージョンでは リダイレクションとか透過プロクシとか呼ばれています。


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