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

4. 解決するには

4.1 原理

fwprcがファイアーウォールに穴を開けるプログラムです。「tty プロクシ」 として機能するcottyを利用しています。これは仮想的に 2 つの tty デバイスを開きます。それぞれのデバイス上でコマンドを実行すると、その出力が そのままコピーされて、相手へのコマンドの入力として tty に渡されます。 コマンドは、リモート側へ telnet 接続を通じて渡され、相手側は、ローカルの pppd が受け取ります。そこで pppd は 通常のチャット・スクリプトを扱う場合と同じよう に、telnet セッションを開いて、制御を行えるようになります。

4.2 fwprc

私が、ファイアーウォルに穴をあけるスクリプト fwprc を書きました。 スクリプトのセルフ・ドキュメント化もきちんとしてあります。cotty (fwprc 0.2 以上のバージョンで必要になります)とあわせて、私のサイト である http://www.tunes.org/~fare/files/fwprc/から落すことができます。 このドキュメントを書いている時点での最新バージョンは、 fwprc 0.3a と cotty 0.3a です。

「fwprc」という名前はあえて読みづらく、かつ発音しにくくしました。そうすれば ファイアーウォールの件で日頃イライラさせられている、無能で偏執的な管理者を 混乱させることができるからです(もちろん理にかなったファイアーウォールも存在 しますし、それらは無くてはならないものです。 セキュリティは、正当な 環境設定の一部ですから)。 声を出して「fwprc」を読まなければならない時には、思い付く中で一番不快に感じる 読み方を選んでください。

コンテスト! 私に「fwprc」の読み方を .au 形式で録音された オーディオ・ファイルにして送ってください。最も不快なものには、フリーでアップ グレードできる権利を差し上げ、fwprc 1.0 のページにお名前を掲載します!

いくつかの設定でこのプログラムをテストしました。いずれもリソース・ファイル をいじって設定しました。しかしやはりマーフィーの法則には逆らえず、あなたは 困った状況に陥るかもしれません。そんな時には、ご自由に改良をしていただいて 結構です。 そうすれば、これから設定することになる他のみなさんは、より簡単に利用できる ようになるでしょうから。

4.3 .fwprcrc

fwprc は、.fwprcrc ファイルを使ってカスタマイズしますので、 ファイアーウォールの両側で同じような設定ファイルを作る必要があります。 異なるいくつかの設定を使い分けることももちろん可能ですが(私は そうしています)、 それは読者の方への宿題としておきましょう。

まず fwprc の該当する部分をコピーして、.fwprcrc という名前 のファイルをホーム・ディレクトリに作ってください。 次に、あなたの環境にあった設定になるように、変数の値を変更します。 最後にその設定ファイルを相手側のホストにコピーして、テストしてください。

デフォルトの設定では、pppd をローカルで使用して、リモートでは slirp を使う ようになっていますので、下記のように適切に再設定してください。

remote_IP_emu () { remote_pppd }

SLiRP は pppd より安全性が高く、相手側にアクセスする方法も簡単です。なぜなら、 リモート側のマシンで root の権限を必要としないからです。安全な理由はまだあり ます。接続されているマシンから直接くるパケット以外は、まったく受けつけないため です(マスカーレーディングでサブネットのルーティングをするとこのメリットはなく なります)。 SLiRP の基本機能はうまく動きますが、まだまだこれからの機能(例えばランタイムな 制御)もあります。 もちろんフリーソフトですから、ソースをハックして、必要な機能をどんどんインプリ メントしてください。


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