From ysato@etl.go.jp Sun Jun 12 09:26:24 1994 Newsgroups: aist.mail-lists.infotalk Path: etl.go.jp!ysato From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Subject: [infotalk,01264] DeleGate: proxy server for HTTP and Gopher X-Original-To: infotalk@square.ntt.jp Content-Type: text/plain; charset=ISO-2022-JP Message-ID: Mail-Count: 01264 Originator: ysato@etlpom Sender: takada@square.ntt.jp Nntp-Posting-Host: etlpom Reply-To: infotalk@square.ntt.jp Ml-Name: infotalk Real-Date: Sat, 11 Jun 1994 14: 26:26 GMT Organization: Electrotechnical Laboratory, Tsukuba Science City References: <9406030252.AA03745@dec323.aist-nara.ac.jp> Errors-To: infotalk-request@square.ntt.jp Mime-Version: 1.0 (generated by vin2.0) Distribution: fj Date: Sun, 12 Jun 1994 00:21:12 GMT Return-Path: Lines: 80 塀の向こうで懲りてる皆様 (蕪)隙間産業の佐藤です(^_^) firewallの克服のために SOCKSや proxy_httpdがかなり普及して来ましたが… 未だお手持ちの HTTP, Gopher クライアントが SOCKSにも proxy_httpdにも 対応していない。防火壁に阻まれて外に出られない、と、お嘆きのあなたに、 弊社開発の「DeleGate」をお届けします(^_^) DeleGate1.2 は、  ・SOCKS非対応のGopherクライアントからfirewall外へのサーバに中継  ・SOCKS,proxy非対応のHTTPクライアントからfirewall外へのサーバに中継 ・Gopher,HTTPの応答テキスト中の日本語コードの変換  ・Gopher,HTTPの応答データキャッシュ機能付き  ・コード変換、キャッシュ利用の有無をクライアントから指定可能  ・proxy 対応の HTTPサーバおよびクライアントにも対応 です。 DeleGateサーバは、proxy非対応のサーバ/クライアント間の中継を実現する ために、HTTPの応答中に含まれるURLや、Gopherの応答中に含まれるDirectory Entity を書き換え、それらへの参照が再びDeleGateサーバに向けられるよう にしています。このため、URL を陽にユーザが見るHTTPでは、DeleGateの介在 ユーザに丸見えになるという苦しい実現になっています(-_-; そんなわけで、お手持ちのクライアントが proxy に対応するまでの間のしの ぎにでもご利用下さればと思います(^_^) 電総研ではこれを、この3月から 使用して来ましたが、proxy対応のクライアントが普及して来たことで、そろ そろ御用済みになりそうな気配です(なもん公開するかって?^_^;) DeleGateのソースファイルは、 です(約35Kバイト)。 % gunzip delegate1.2.tar.gz % tar xf delegate1.2.tar % cd delegate1.2/src; make で delegated (非-lresolv版)と、delegatedR (-lresolve版) が出来るはず です。起動の仕方ですは、以下のようになります。 A)proxy HTTP サーバと非 proxy HTTP クライアントを中継するための手順 0) proxy HTTP サーバがホスト firewall の 8080 ポートにあるとします。 1) firewall 内部のホスト(仮に"internal"とします)の上でHTTP用サーバを 立ち上げて、これを 0) のサーバに接続する。 internal% delegated -P10080 PROXY=firewall:8080 ¥ SERVER=http://www.ntt.jp:80 2) 自分のホストでクライアントを立ち上げて、1)に繋ぐ。 myhost% mosaic http://internal:10080/ B)Gopher を中継するための手順  1) firewallホスト"firewall"上で汎用DeleGateサーバを立ち上げる。 firewall% delegatedR -P19999 RELIABLE=internal 2) 内部のホスト"internal"の上でGopher専用DeleGateサーバを立ち上げて    これを 1) に接続する。 internal% delegated -P10070 MASTER=firewall:19999 ¥ SERVER=gopher://gopher.ncc.go.jp:70 3) 自分のホストでクライアントを立ち上げて、2) に繋ぐ。 myhost% gopher internal 10070 くわしくは、delegate1.2/README の EXAMPLE を御覧下さい。              @ @ ┰── ─┰─ ┰   //\^^ ( - ) ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ From ysato@etl.go.jp Wed Jun 22 22:21:24 1994 Newsgroups: aist.mail-lists.infotalk Path: etl.go.jp!ysato From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Subject: [infotalk,01340] Re: [question]about cachig X-Original-To: infotalk@square.ntt.jp Content-Type: text/plain; charset=ISO-2022-JP Message-ID: Mail-Count: 01340 Originator: ysato@etlpom Sender: takada@square.ntt.jp Nntp-Posting-Host: etlpom Reply-To: infotalk@square.ntt.jp Ml-Name: infotalk Real-Date: Wed, 22 Jun 94 22: 11:36 JST Organization: Electrotechnical Laboratory, Tsukuba Science City References: <199406221137.UAA28596@magenta.yy.cs.keio.ac.jp> <9406221145.AA03186@tophamhat.trl.mei.co.jp> Errors-To: infotalk-request@square.ntt.jp Mime-Version: 1.0 (generated by vin2.0) Distribution: fj Date: Wed, 22 Jun 1994 13:07:57 GMT Return-Path: Lines: 30 電総研の佐藤です。その後DeleGateはいくつかバグがとれて、現在は DeleGate1.2.5 となっています。 On 06/22/94(20:38) 大山 隆一郎/Ryuichiro Ohyama wrote in <199406221137.UAA28596@magenta.yy.cs.keio.ac.jp> (aist.mail-lists.infotalk:199/etlss2): |>> となるようにしたいのです。 で、その時に、Mosaic を使っている |>> 人からは httpd (caching) の存在を感じさせないようにすることは |>> できるのでしょうか? つまり、URL として普通に | |delegatedではこれはできない(URLに見えてしまう)そうです. CERN httpdの |proxyは大丈夫です. クライアントがproxy対応ならば、CERN httpdと同様、DeleGate は透明になり ます。 % setenv http_proxy http://DeleGateのhost:DeleGateのport/ % mosaic のように使います。 非proxy対応のHTTPクライアントやGopherクライアントも中継できるのが DeleGateの特徴ですが、HTTP/DeleGateの場合にはどうしても中継のからくりが ユーザに見えちゃうわけです(^_^; Gopher/DeleGateの場合には、からくりはほとんど見えないはずです。              @ @ ┰── ─┰─ ┰   //\^^ ( - ) ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ From ysato@etl.go.jp Fri Jun 24 03:57:16 1994 Newsgroups: aist.mail-lists.infotalk Path: etl.go.jp!ysato From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Subject: [infotalk,01353] Re: DeleGate: proxy server for HTTP and Gopher X-Original-To: infotalk@square.ntt.jp Content-Type: text/plain; charset=ISO-2022-JP Message-ID: Mail-Count: 01353 Originator: ysato@etlpom Sender: takada@square.ntt.jp Nntp-Posting-Host: etlpom Reply-To: infotalk@square.ntt.jp Ml-Name: infotalk Real-Date: Fri, 24 Jun 94 03: 55:45 JST Organization: Electrotechnical Laboratory, Tsukuba Science City References: <9406221702.AA29010@lins.huie.hokudai.ac.jp> <9406221820.AA23859@cattleya.ics.es.osaka-u.ac.jp> Errors-To: infotalk-request@square.ntt.jp Mime-Version: 1.0 (generated by vin2.0) Distribution: fj Date: Thu, 23 Jun 1994 18:52:15 GMT Return-Path: Lines: 105 電総研の佐藤です。DeleGate1.2.6 では、 ・谷山さん(北大)の、`FORCEDELEGATE'相当の機能を追加  ・谷山さん(北大)の RELIABLE=addr/mask 記法を追加  ・NNTP/DeleGate にもJISコード変換機能を追加 しました。 On 06/23/94(02:02) yoko@lins.huie.hokudai.ac.jp wrote in <9406221702.AA29010@lins.huie.hokudai.ac.jp> |ysato> ・Gopher,HTTPの応答テキスト中の日本語コードの変換 | |私のいるサイトは消防法違反で防火壁がないので、これだけが欲しくて(^^; |delegate-1.2.5を試験的に載せてみました。が…MacMosaicに日本語パッチが |当てられていないのが露見して今はただのキャッシングサーバとして動いてい |ます。 | |URLを書き換えながら漢字コードのコンバートを行なうというのはずっと前か |らアイディアとしては頭の中にあったのですが、公開した瞬間にバグが露見し |て引っ込めた(-_-;ximapedit(Interactive Imagemap Editor)の尻拭いもでき |ていない状態で悶々としていました。で、「やた!」とばかりに早速載せてみ |た次第です。 | |実際に動かしてみて判ったのですが、delegateは壁越えを主目的として作られ |ているんですね。 ぼくのサイトはマル適マークで運用していまして不便に感じたのがこれを作り 始めた動機です。最初は gopher の中継専用で go-far という名前でしたが、 その後他のプロトコルにも拡張したのとgopher と名前が紛らわしいので DeleGate と改名しています。 |キャッシュ機能だけを使おうとしてうまく動かなくて悩みま |くりました。Specialistからserverがdirect reachableの場合、master |Generalistにdelegateしないということに気付かずに散々悩みました。 ごめんなさい。ドキュメントと実装が食い違ってました。 (散々悩む前に相談して下されば^_^;) |今はソースをquick hackしてFORCEDELEGATEというオプションを追加してやっ |て、うまく動いています。 Specialistにキャッシュに手出しさせない理由は、、、今となっては良く 思い出せなかったりして(^_^;) よくわからないので、とりあえずぼくも 谷山方式の quick hack をしました。 ただ、FORCEDELEGATE は長すぎる気がしたので、FORCEONにしてあります。 FORCEON=http,gopher のように、強制的にMasterに中継するプロトコルを 指定します。また、自分がSpecialistで、MASTERかPROXYが指定してある場合には FORCEONをデフォルトとしたので、明示的な指定は不要です。 #FORCEONは、Generalistの引数としても使えますね… |さて、RELIABLE=host[,host]の設定では、壁越え用サーバのセキュリティ確保 |としては十分ですが、コードコンバート用のfake serverとして使おうとした |場合ちょっと不便です。 | |access.cを見るとより細やかなアクセス制限メカニズムを持たせる準備(^^;が |見受けられますが、RELIABLE=addr[/addr-mask][,addr/mask...]の指定ができるだ |けでかなり柔軟になると思うのですがいかがでしょうか? | |たとえば、RELIABLE=133.50.0.0/255.255.0.0などという書き方ができれば普 |通のサイトにとっては十分ではないかと思います。 これは簡便で良いですね。このアイデア&記法いただきます。ごっくん。 mask の部分には、16進で FFFFFF00 とか、@B4 (class B の16分割)とかも 書けるようにしました。 On 06/23/94(03:20) KAWAMOTO Yosihisa wrote in <9406221820.AA23859@cattleya.ics.es.osaka-u.ac.jp> |川本@大阪大学です. ... |えーと www.ics で動かしているトンネリングサーバは, ただの perl ス |クリプトです. ODINS の披露式に間に合わせるためだけに作ったものな |ので, 非常に機能が貧弱です. | |阪大では, 近々 DeleGate に乗り換えようと考えています. DeleGateも泥縄式に作ったものなので、あぶなっかしいです(^_^;。ソース を見て目が潰れても、当方は一切責任を負いません:-p 実はこのMLへ公開の直前まで SJIS への変換中にしょーもないバグがあり、 ときどきcore吐いてました。このバグは、通総研のまっち町澤氏が犠牲者と なって発見されました。感謝 _O_ #そういえば、1.2.5まで「1997年製」とversion.c に書いてありました(^_^; なお、1.2.6 では NNTP/DeleGate でのコード変換も追加しました。 hostA# delegated -P119 SERVER=news://nntpserver名:119 CHARSET=SJIS のように起動し、hostA を NewsServer に指定すれば利用できます。 (どうも、mosaicにはnntpのポート番号を指定する方法が無いようで、本当の  nntpserverとは別のマシンで NNTP/DeleGate を動かすしかないようです) また、今のままだと nntp でのアクセス権の検査が効かない(DeleGate プロセスのホストやユーザで検査される)ので、要注意です… サーバに送られるコードを必ず 7bit JIS (ISO-2022-JP)にするとか、MIME ヘッダのエンコード/デコードを挟むのも面白いかもしれません。              @ @ ┰── ─┰─ ┰   //\^^ ( - ) 『しょせん中継ぎか』 ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ From ysato@etl.go.jp Fri Jun 24 04:15:59 1994 Newsgroups: aist.mail-lists.infotalk Path: etl.go.jp!ysato From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Subject: [infotalk,01354] Re: What's different between NCSA httpd and CERN httpd ? X-Original-To: infotalk@square.ntt.jp Content-Type: text/plain; charset=ISO-2022-JP Message-ID: Mail-Count: 01354 Originator: ysato@etlpom Sender: takada@square.ntt.jp Nntp-Posting-Host: etlpom Reply-To: infotalk@square.ntt.jp Ml-Name: infotalk Real-Date: Fri, 24 Jun 94 04: 12:34 JST Organization: Electrotechnical Laboratory, Tsukuba Science City References: <9406230803.AA00247@cattleya.ics.es.osaka-u.ac.jp> Errors-To: infotalk-request@square.ntt.jp Mime-Version: 1.0 (generated by vin2.0) Distribution: fj Date: Thu, 23 Jun 1994 19:08:51 GMT Return-Path: Lines: 56 On 06/23/94(17:03) you KAWAMOTO Yosihisa wrote in <9406230803.AA00247@cattleya.ics.es.osaka-u.ac.jp> |川本@大阪大学です. ... |かわもと> 阪大では, 近々 DeleGate に乗り換えようと考えています. |山下さん> ということは、DeleGate には漢字コードの変換機能があるのですか? | |そうみたいです. まだ試していませんが. ... |>  ・SOCKS非対応のGopherクライアントからfirewall外へのサーバに中継 |>  ・SOCKS,proxy非対応のHTTPクライアントからfirewall外へのサーバに中継 |> ・Gopher,HTTPの応答テキスト中の日本語コードの変換 |>  ・Gopher,HTTPの応答データキャッシュ機能付き |>  ・コード変換、キャッシュ利用の有無をクライアントから指定可能 |>  ・proxy 対応の HTTPサーバおよびクライアントにも対応 | |ということらしいです. |ちなみに最新バージョンは 1.2.5 のようですね. ついさっき 1.2.6 になりました(^_^)。 DeleGate を日本語コード変換だけのために使う場合ですが、例えば既に CERN httpdが動いていて、SJISへの変換だけをDeleGateにやらせたいとしますと、 On 06/12/94(09:21) I wrote in (aist.mail-lists.infotalk:129/etlss2): |A)proxy HTTP サーバと非 proxy HTTP クライアントを中継するための手順 | | 0) proxy HTTP サーバがホスト firewall の 8080 ポートにあるとします。 | | 1) firewall 内部のホスト(仮に"internal"とします)の上でHTTP用サーバを | 立ち上げて、これを 0) のサーバに接続する。 | | internal% delegated -P10080 PROXY=firewall:8080 ¥ | SERVER=http://www.ntt.jp:80 | | 2) 自分のホストでクライアントを立ち上げて、1)に繋ぐ。 | | myhost% mosaic http://internal:10080/ 1) でdelegated を起動する際に CHARSET=SJIS という引数を追加すればOK です。また、手もとのmosaicがproxy対応ならば、 myhost% setenv http_proxy http://internal:10080/ myhost% setenv gopher_proxy http://internal:10080/ myhost% setenv ftp_proxy http://internal:10080/ myhost% setenv file_proxy http://internal:10080/ myhost% setenv wais_proxy http://internal:10080/ myhost% mosaic のようにすれば、DeleGateの介在はユーザに見えなくなります。              @ @ ┰── ─┰─ ┰   //\^^ ( - ) 『小さく産んで大きく育てる』 ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ From ysato Wed Jul 13 15:01:44 1994 To: infotalk@square.ntt.jp Subject: Re: [infotalk,01552] MacMosaic can't access 'delegate' Summary: Organization: Electrotechnical Laboratory, Tsukuba Science City Reply-To: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Message-ID: References: <9407130336.AA08339@petty.e.u-tokyo.ac.jp> <9407130401.AA02028@sarakura.isct.kyutech.ac.jp> On 07/13/94(12:36) mkijima@e.u-tokyo.ac.jp (Makoto KIJIMA) wrote in <9407130336.AA08339@petty.e.u-tokyo.ac.jp> (aist.mail-lists.infotalk:411/etlss2): |木島@東大経済と申します。こんにちは。 こんにちは、佐藤です。 |X の Mosaic では、URL の書き換えも、外へのアクセスもうまくいっているよ |うです。 |しかし、肝心の MacMosaic から www.e.u-tokyo.ac.jp:10080 をアク |セスすると、 | | ・ホームページのテキストは読んでくるが、image data の load に失敗する | ・www.e.u-tokyo 内のページも、外へも飛べない On 07/13/94(13:01) morita wrote in <9407130401.AA02028@sarakura.isct.kyutech.ac.jp> (aist.mail-lists.infotalk:412/etlss2): |こんにちは、守田@九州工業大学です ... |delegatedのオプションに"DELEGATE=ホスト名"とか書かれるといい |かもしれません。 | |でもXで動くんですよね?やっぱり違うかも。 私もとりあえず思い付くのはこの点です。DeleGate がURLに埋め込むホスト名は、 デフォルトではドメイン名無しです。これを Mac でresolveできないのかもしれ ません。とりあえず、 DELEGATE=DeleGateのホストのIPアドレス:10080 をdelegated起動時のオプションに加えて試していただけないでしょうか?              @ @ ┰── ─┰─ ┰   //\^^ ( - ) ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ From ysato@etl.go.jp Wed Aug 3 02:50:30 1994 Received: by etl330.etl.go.jp (4.1/6.4J.6-ETL.SLAVE) id AA18995; Wed, 3 Aug 94 02:50:30 JST Received: by etlpom.etl.go.jp (4.1/6.4J.6-ETLpom.MASTER) id AA27443; Wed, 3 Aug 94 02:50:27 JST Reply-To: Precedence: junk X-Seqno: 40 Received: by etlpom.etl.go.jp (4.1/6.4J.6-ETLpom.MASTER) id AA27435; Wed, 3 Aug 94 02:50:24 JST Received: by etlkbs.etl.go.jp (4.1/6.4J.6-ETL.SLAVE) id AA29564; Wed, 3 Aug 94 02:54:35 JST Date: Wed, 3 Aug 94 02:54:35 JST Return-Path: Mime-Version: 1.0 (generated by vin2.0) Content-Type: text/plain; charset=ISO-2022-JP To: delegate@etl.go.jp Subject: [DeleGate] DeleGate1.3.0 with `DeleGate TUNNELING' From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Organization: Electrotechnical Laboratory, Tsukuba Science City Message-Id: References: <199407280042.JAA29844@panic.st.jip.co.jp> <199407280256.LAA11333@titan.tisn.ad.jp> <199407280509.OAA16813@cattleya.ics.es.osaka-u.ac.jp> DeleGate の長いトンネルを抜けるとそこは IP の世界だった… (^_^) 電総研の佐藤です。おかげさまで DeleGate1.2 も 1.2.21 で一段落しました ので、ここらでひとつ新たな展開に移ろうと思いまして、その第一弾として、 以下のような「DeleGateトンネリング」を実現してみました。 TCP/IP TUNNEL TCP/IP クライアント -----> DeleGate ----------> DeleGate -----> サーバ これで、  ・対外IP接続でない人も、DeleGate/モデム経由でIPの世界に出られる  ・ルータでtelnetだけとかにプロトコルフィルタリングされてても通過できる  ・MASTER/SLAVE DeleGate 間をコネクション型に直結できる(原理的には:-)  ・TCPコネクション や IP のオーバヘッドが削れる (原理的には)  ・転送内容に応じて compress かけたりして  ・トンネルをATMで実現したら気持ちよいかも知れない:-) まだ不具合もあるので、とりあえずこのMLだけでお知らせします(^_^) #とはいえ、おそらくこのMLの人には不要な機能でしょうけど:-p トンネリング機能付きの版を 1.3.0 とします。この版では、CERN版httpdのと 同様な -vv オプションを付けました。大部大幅に変更したので、ポータビリティ や信頼性は1.2.21 より低いと思います(^_^; #killpg() の無いOSって多いかな? ===================================================================== さて、まず tty を使うトンネルを作り、 ・cu コマンドにより電話回線経由  ・telnet経由  ・rlogin経由 の3種類を試してみましたが、HTTP,Gopher,Ftpについては動いているようです。 トンネルDeleGateは以下のように起動します。 [例1] hostL% delegated -P10080 SERVER=http://www.ntt.jp ¥ TUNNEL="tty7:/usr/local/etc/delegate/hostM" TCP/IP           電話回線     ↑ delegated ----> cu ----------------> delegatedR hostL:10080 hostM:tty ↑ TCP/IP この例では、hostLの上の10080番へのHTTP/TCP/IPを、hostMの上に中継します。 実際の接続はTUNNEL引数に指定されている、/usr/local/etc/delegate/hostM に書かれている`SHIO'スクリプトに従って行われます。例えば以下のように 書きます。 ######################## o cu hostM¥n i login: o USER¥n i Password: o PASS¥n i hostM% o delegatedR¥n i READY¥r¥n ######################## この例では、cu コマンドにより hostMに電話をかけてログインし、そこで delegatedを起動しています。 [例2] (1) hostR% delegated -P19999 (2) hostL% delegated -P19999 TUNNEL="tty7:/usr/local/etc/delegate/hostM" (3) hostL% delegated -P10080 MASTER=hostL:19999 SERVER=http://www.ntt.jp httpd                    ↑ delegatedR (1) hostR:19999 (2)         電話回線     ↑ delegated ----> cu ----------------> delegated hostL:19999 hostM:tty ↑ delegated (3) hostL:10080 ↑ mosaic http://hostL:10080/ この例では、hostLの上の19999番を、hostRの上の19999番に中継します。 hostMにモデムが付いているが、それはfirewallの内側にある、などの場合には このようになるでしょう。 -- CUの設定について -- cuとういのは、`cu - connect to remote system' だそうで、要するにリモート ホストにモデムから電話をかけて、回線を繋いでくれるものです。tip と同様な ものですが、tip と違って端末以外からも入出力ができるのでこれを使いました。 以下は SunOS4.1.3 での設定の例です。以下の例では /dev/cua1 を使います。 a) /dev/cua1 にモデムをつなげて、送信が可能な状態とする(tip cua1で試す)。 b) 例えば hayes コンパチの9600bpsモデムなら /etc/uucp/Devices に ACU cua1 - 9600 hayes c) hostM のモデムの電話番号が 34400111 なら /etc/uucp/Systems に hostM Any ACU 9600 34400111 d) % cu hostM で、hostM に継るがどうかテストする。 -- shioコマンド -- ttyにログインしてトンネルを繋げるための、ログインの手続きを書くために shioというコマンドを作りました。ログイン時のシステムからのメッセージ やユーザの入力を記述したスクリプトファイルを作り、引数に与えて下さい。 実行して接続がうまくいったなら、そのスクリプトファイルの名前をdelegated 起動時の TUNNEL に指定して下さい。 まず、対象のホストで`delegated' が実行可能なように PATH の設定などを行って おいて下さい。次に、例えば、telnetで ホストohmaki に繋いで、ユーザysato、 パスワードがXXXXXXXX なら、次のようなスクリプトになります。 ohmaki.shioの内容: ######################## #o telnet ohmaki¥n o cu ohmaki¥n i login: o ysato¥n i Password: o XXXXXXXX¥n i ohmaki% o delegated LOGFILE=tunnel.log MASTER=etlcom:2070¥n i READY¥r¥n = ######################## [実行例] etlpom% shio ohmaki.shio >> cu ohmaki >> Trying 192.31.200.72 ... >> Connected to ohmaki. >> Escape character is '^]'. >> ^M >> ^M >> SunOS UNIX (ohmaki)^M >> ^M^M >> ^Mlogin: Password:^M >> SunOS Release 4.1.3-JLE1.1.3 (GENERIC) #1: Tue Aug 4 19:16:17 JST 1992^M >> ohmaki% READY^M >> shio を終えても cu が残ることがありますので、その場合にはkill してやって 下さい。 #おっと、Mosaic を割り込んじゃいけねーよ。ごみが残っちまう (-_-; #やはり、回線の多重化や自動切断もやらないと、実用にならないかな…              @ @ ┰── ─┰─ ┰   //\^^ ( - ) ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘ #InterOpは駆け足で回ったのであまり収穫がありませんでした。最大の収穫は #三膳さん@IIJの名刺と、IIJの紙袋かな(^_^) #東関道-湾岸習志野では下りられないというのも、勉強になったぜちくしょう(-_-; From ysato@etl.go.jp Sun Aug 7 19:06:26 1994 Received: by etl330.etl.go.jp (4.1/6.4J.6-ETL.SLAVE) id AA26222; Sun, 7 Aug 94 19:06:26 JST Received: by etlpom.etl.go.jp (4.1/6.4J.6-ETLpom.MASTER) id AA14371; Sun, 7 Aug 94 19:06:22 JST Reply-To: Precedence: junk X-Seqno: 64 Received: by etlpom.etl.go.jp (4.1/6.4J.6-ETLpom.MASTER) id AA14365; Sun, 7 Aug 94 19:06:20 JST Received: by etlkbs.etl.go.jp (4.1/6.4J.6-ETL.SLAVE) id AA06141; Sun, 7 Aug 94 19:10:33 JST Date: Sun, 7 Aug 94 19:10:33 JST Return-Path: Mime-Version: 1.0 (generated by vin2.0) Content-Type: text/plain; charset=ISO-2022-JP To: delegate@etl.go.jp Subject: [DeleGate] DeleGate1.4.0 with `MOUNTing and Filtering' From: ysato@etl.go.jp (Yutaka Sato =?ISO-2022-JP?B?GyRAOjRGI0stGyhK?=) Organization: Electrotechnical Laboratory, Tsukuba Science City Message-Id: References: <199408041757.CAA12937@susun1.nn.solan.chubu.ac.jp> <9407300300.AA11490@alpha234.aist-nara.ac.jp> In message on 08/05/94(17:59:33) I wrote: |それよりも、この週末には新機軸第2弾をやりたいので、1.3 はこれで |オシマイということになるかも知れません(^_^) というわけで、DeleGate1.4.0 を発売いたします。 今回は主に、firewallを越えて外部にWWWサーバを公開したい場合のための 機能を追加しました。 1.マウント機能 これは、MOUNT変数で与えられた規則に従って、リクエスト中のURLを書き 換えて中継し、レスポンス中のURLを元のパターンに書き戻す機能です。 これによりNFSマウントのように、別のホストのサーバを手前のホストの サーバの一部であるように継ぎ込むことができます。「手前のホスト」が firewallの上にあり、「別のホスト」がfirewallの中にある場合にも利用する と美味しい機能です。 例)firewall.xxx.go.jp:8080 でHTTP-DeleGateを走らせ、引数に     MOUNT="/yyy/* http://www.yyy.internal/*"   と指定してやると、このサーバにアクセスするユーザからは、   (実際には)http://www.yyy.internal/* の下にある物が   http://firewall.xxx.go.jp:8080/yyy/* の下にあるように見える。 中継が行われていることや、実際のサーバが www.yyy.internal である   ことはユーザに見えない。 httpdでやっているような汎用の書き換えで無い代わりに、ホスト名とIP アドレスを同一視したり、標準のポート番号の省略記法を認識して書き換える ようになっています。httpdでもリクエストの書き換えによって同様な中継を 行うことができますが、レスポンス中のHTMLの中に相対パスでないリンクが 含まれていると、そこからは中継ができなくなり、アウトとなります。 2.フィルタおよび経路制御機能 アクセス先の内部ホストが、firewallから直接経路がない、あるいは名前が resolveできないなどの場合には、firewall内のDeleGateに一旦中継してそこ からアクセスさせることができます。中継先のDeleGateはこれまで通り MASTER変数で指定します。ただし、従来のDeleGateは自分がresolve/reach できないホストを無条件に MASTER に投げていましたが、今回の拡張で、 指定されたホストまたはネットに関してだけ中継を行えるようにしました。 このフィルタリングは、destinationに基づいて、外部や内部へのアクセスを 制限するのに利用できるとともに、外部ネットに対して複数の経路を持つ サイトでの経路選択にも利用できます。 例)例えばTISN向けの出島としてtisngw, WIDE向けの出島としてwidegwが   ある場合に、    MASTER="tisngw:9999:{*.ac.jp,*.go.jp},widegw:9999"   として、*.ac.jp,*.go.jp へはTISN経由で、その他はWIDE経由で流す。 "jp.*" でなかったらキャッシュ付proxyへ、そうでないならダイレクトにと いうような使い方も有り得ますね。 3.選択的DELEGATE DELEGATE変数を拡張して、host:port:[list of protocols] と書けるように しました。従来は、レスポンス中のURLの全てについて、プロトコルによらず、 DELEGATEに向くよう(=@=...記法で)書き換えていましたが、この書き換えを やるか否かをプロトコルごとに選択できるようにしました。 いずれ、DELEGATEをプロトコルごとに書けるようにしないといけませんが… 今回やりたかったのは、単に、firewall 上でのDeleGate では何も書き換え ない、ということです。そうしないと、一旦外部からDeleGateにアクセス すると、その外部から直接アクセスできるとこにまで毎回DeleGateを中継する ことになりますので、これを避けるために必要だったのでした。 4.設定例 現在 ripsport.aist.go.jp で以下のように設定して実験しています。 delegatedR $1 -P20080 ¥ PROTOLOG=Aist.http ¥ MASTER=192.31.200.10:2070:{192.31.200.0/@C,150.29.128.0/@B,sta,198.17.1.65}¥ FORCEON=-all ¥ SERVER=http://ripsport:9080 ¥ DELEGATE=ripsport.aist.go.jp:20080:-all,ftp ¥ MOUNT="/etl/* http://192.31.200.9/*" ¥ MOUNT="/gsj/marine/* http://150.29.128.44/*" ¥ MOUNT="/gsj/* http://150.29.130.34/*" SPECIALISTはMASTERが指定されると、自分でdestinationに到達可能でもMASTER に押しつけようとするので、FORCEON=-all としています。 また、レスポンス中のURLを書き換えてDeleGate式URLにするのは、ftpのみに しています。gsj(地質調査所)のWWWから、内部のanonymous-ftpサーバへの リンクが張ってあるもんで(^_^)              @ @ ┰── ─┰─ ┰   //\^^ ( - ) ┠─++佐藤@ETL / 876m\ _< >_ ┸──  ┸  ┸────────────────────────────┘