telnet を許している他にも、いろいろなポリシーを持つファイアーウォールが存在 しています。 パケットがファイアーウォールを経由して常にやりとりされて情報が行き来している ならば、それを利用してファイアーウォールに穴を開けることは可能です。 要するに、穴を開けるプログラムを書きあげるのが、手間がかかるか、かからないか、 という違いがあるだけです。
簡単に解決できる場合もあります。pty 越しに ssh
を動かして
そのスレーブの tty で pppd
を動かす方法です。
cotty
0.3a を使って実現できるはずですが、fwprc
を改造して、
この機能を組み込んでいる人はまだいません。
今晩の練習問題としていかがですか?
面倒くさいファイアーウォールをわきに置いといて、何とかしたいと思われる方
には、セキュアな「VPN(Virtual Private Network)」を構築することをお勧めします。
詳しくは、VPN mini-HOWTO を見てください。
もし 7 ビットしか通さない回線をまたぐ必要がある場合は、PPP ではなく SLIP を 使う必要があると思います。私は試していませんし、今後も試せないと思います。 というのも、最近はおよそ 8 ビット クリーンな回線がほとんどですから。
さて、もしファイアーウォールを通過できる手段が WWW プロクシだけなら(普通に
インターネット接続しているネットワークの最低条件でしょう)、入出力用のバッファ
を持つデーモンを書いて、HTTP 接続を利用してバッファのデータを送り出したいと
思うのではないでしょうか。これは fwprc を動かして、HTTP 越しに telnet を行う
ことで実現できます。
速度が遅く、きびきびと反応しないでしょうが、fetchmail(1)
や
suck(1)
といったバッチ処理系のプログラムで利用する分には、十分です。
これ以上にパフォーマンスを上げたかったり、もっと厄介なプロトコル(DNS
クエリー・パケットや ICMP パケット等)を素通ししたい場合は、かなり面倒に
なります。たとえば、Fox プロジェクトで行われているように IP スタックを
ハックして、パケットやプロトコルの種類に依存しない、統一的にネットワークを
扱える機能を自分で実装する必要がでてきます。
それを行った上ではじめて、HTTP や DNS、ICMP 越しに IP で接続できます。
プロトコルが複雑なだけでなく、カーネルとのインターフェースを作り込む必要がある
ので、インプリメントはかなりたいへんな作業になります。
訳註:「Fox プロジェクト」については、
The Fox Project: Advanced Languages for Systems Software を参照して
ください。
また このプロジェクトによる ネットワーク・プロトコル・スタックの実装について
の資料は、
Fox Project Publications にある、
「Signatures for a Network Protocol Stack: A Systems Application of
Standard ML, Edoardo Biagioni, Rober Harper, Peter Lee, and Brian G. Milnes」
を見てください。
ところで、HTTP プロトコルを利用してファイアーウォールに穴を開けるなら、ダミー のページを用意することを忘れないでください。そうしないと、あれこれ気にする 管理者を混乱させてしまいます。
必要性を感じて、このドキュメントを書きあげましたが、現状ではこれ以上時間 をさくことができません。そのため、このドキュメントはまだまだ大ざっぱな内容に なっています。改訂を進めるには、このセクションをもっと詳しく、といったみなさん のアドバイスが必要です。フィードバック、助言、はたまたこのドキュメントを私の かわりに更新してくれる方、いずれも歓迎します。
ともかく、まだ多くの問題点が残されています。誰かが見つけた解決方法が、 みなさん(あなたも含めて)のために役立ちます。少々の時間(もしくは人を雇うお金) を割いていただいて、あなたが書いてみませんか。細かいところを見ると厄介で トリッキーなのですが、コンセプトは明解ですから。
どうかためらわずに、いろいろな問題を解決するお手伝いをしてください。そうすれば、 このドキュメントがさらによくなると思います。
このドキュメントの内容について、一切責任は負いません。どんな障害が生じても、 それは私の過失ではありません。このドキュメントに書かれている手段をとることに よって生じるリスクを理解できないならば、決して利用しないでください。利用する 場合は、あなたの職場のコンピュータが壊れても、業務に支障がでても、また会社に 多額の損害を与えてもかまわない、と腹をくくってください。私に泣きついたりしない でくださいね。