+=encoding utf8
+
=head1 NAME
-Zebedee --- ¥·¥ó¥×¥ë¤Ç¥Õ¥ê¡¼¤Ç¥»¥¥å¥¢¤Ê¥È¥ó¥Í¥ë¥×¥í¥°¥é¥à
+Zebedee --- シンプルでフリーでセキュアなトンネルプログラム
=begin License
=end JM-comment
-=head1 ½ñ¼°
+=head1 書式
=over 4
=end JM-comment
-B<Zebedee>¤Ï2¤Ä¤Î¥·¥¹¥Æ¥à´Ö¤Ç¡¢
-°Å¹æ²½¤µ¤ì¡¢°µ½Ì¤µ¤ì¤¿TCP/IP¤Þ¤¿¤ÏUDP¤Î"¥È¥ó¥Í¥ë"¤ò³ÎΩ¤¹¤ëñ½ã¤Ê¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
-¤³¤ì¤Ï¡¢ÄãÂÓ°è¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò°µ½Ì¤Ë¤è¤ê¸þ¾å¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢
-B<telnet>, B<ftp> ¤ä B<X> ¤Ê¤É¤Î TCP ¥Ù¡¼¥¹¤Î
-¥È¥é¥Õ¥£¥Ã¥¯¤òÅðÄ°¤«¤éËɸ椹¤ë¤³¤È¤â²Äǽ¤Ë¤¹¤ë¡£
-¤Þ¤¿¡¢°Å¹æ²½¤ÎÍ̵¤Ë¤«¤«¤ï¤é¤º¥Ç¡¼¥¿°µ½Ì¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢
-ÃÙ¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÎɹ¥¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£
+B<Zebedee>は2つのシステム間で、
+暗号化され、圧縮されたTCP/IPまたはUDPの"トンネル"を確立する単純なプログラムである。
+これは、低帯域のネットワーク上でのパフォーマンスを圧縮により向上するだけでなく、
+B<telnet>, B<ftp> や B<X> などの TCP ベースの
+トラフィックを盗聴から防御することも可能にする。
+また、暗号化の有無にかかわらずデータ圧縮を使用することで、
+遅いネットワークで良好なパフォーマンスを得ることも可能である。
=begin JM-comment
=end JM-comment
-B<Zebedee> ¤Î¼ç¤ÊÌÜŪ¤Ï:
+B<Zebedee> の主な目的は:
=over 4
=end JM-comment
-UNIX ¤È Windows 95/98/NT ¤ÎÁÐÊý¤Ë¤Æ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Îµ¡Ç½¤òÄ󶡤¹¤ë¡£
+UNIX と Windows 95/98/NT の双方にてクライアントとサーバーの機能を提供する。
=item *
=end JM-comment
-¤Û¤ó¤Î¾¯¤·¤ÎÀßÄ꤫Á´¤¯¤ÎÀßÄê̵¤·¤Ç´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¡¢»ÈÍÑ¡¢Êݼ餬¤Ç¤¤ë¡£
+ほんの少しの設定か全くの設定無しで簡単にインストール、使用、保守ができる。
=item *
=end JM-comment
-¾¯¤·¤ÎÉղåǡ¼¥¿¤È¡¢¾¯¤Ê¤¤¥×¥í¥È¥³¥ë¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ë¤Æ¡¢
-°µ½Ì¤Ë¤è¤ê¿Âç¤Ê¥È¥é¥Õ¥£¥Ã¥¯¤ÎÄ㸺¤ò¹Ô¤¦¡£
+少しの付加データと、少ないプロトコルのオーバヘッドにて、
+圧縮により多大なトラフィックの低減を行う。
=item *
=end JM-comment
-Æõö²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢¤Þ¤¿¤ÏÆõö¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à¤Î¤ß¤òÍѤ¤¤ë¡£
+特許化されていないか、または特許の有効期限が切れているアルゴリズムのみを用いる。
=item *
=end JM-comment
-GNU °ìÈ̸øÍ»ÈÍѵöÂú½ñ(GPL)¤Î¤â¤È¤Ç¾¦ÍÑ¡¢Èó¾¦ÍѤòÌä¤ï¤º
-´°Á´¤Ë¥Õ¥ê¡¼¤Ë»ÈÍÑ¡¦ÇÛÉÛ¤¬¤Ç¤¤ë (L<CREDITS AND LEGALITIES> ¤ò¸«¤è)¡£
+GNU 一般公有使用許諾書(GPL)のもとで商用、非商用を問わず
+完全にフリーに使用・配布ができる (L<CREDITS AND LEGALITIES> を見よ)。
=back
=end JM-comment
-¤â¤Á¤í¤ó¡¢B<Zebedee> ¤Ï½é¤á¤Æ¤Î¤¢¤ë¤¤¤ÏÍ£°ì¤ÎÍøÍѲÄǽ¤Ê
-¥»¥¥å¥¢¤Ê¥È¥ó¥Í¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¤Ê¤¤¡£
-¹âµ¡Ç½¤È¤¤¤¦ÌÌ¤Ç¤Ï B<ssh> ¤ä B<SSL> ¤Ê¤É¤È¤ÏÈæ¤Ùʪ¤Ë¤â¤Ê¤é¤Ê¤¤¤¬¡¢
-¤â¤·¡¢ÁÇÁ᤯¡¢Ã±½ã¤Ç¡¢B<´°Á´¤Ë¥Õ¥ê¡¼>¤Ê¤â¤Î¤òµá¤á
-¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤ì¤Ï¥Ô¥Ã¥¿¥ê¤Î¥Ä¡¼¥ë¤À¤í¤¦¡£
+もちろん、B<Zebedee> は初めてのあるいは唯一の利用可能な
+セキュアなトンネルプログラムではない。
+高機能という面では B<ssh> や B<SSL> などとは比べ物にもならないが、
+もし、素早く、単純で、B<完全にフリー>なものを求め
+ているなら、これはピッタリのツールだろう。
=begin JM-comment
=end JM-comment
-¤³¤Îʸ½ñ¤Ï B<Zebedee> ¥ê¥ê¡¼¥¹ 2.1.0 ¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æµ¤·¤Æ¤¤¤ë.
+この文書は B<Zebedee> リリース 2.1.0 の機能について記している.
-=head2 ̾Á°¤ÎͳÍè¤Ï?(What's in a name?)
+=head2 名前の由来は?(What's in a name?)
=begin JM-comment
=end JM-comment
-¤¢¤Ê¤¿¤¬µ¿Ìä¤ò»ý¤È¤¦¤¬»ý¤Ä¤Þ¤¤¤¬¡¢B<Zebedee> ¤Ï¼¡¤Î 3¤Ä¤Î¼çÍפʥ³¥ó¥Ý¡¼
-¥Í¥ó¥È¤«¤é̿̾¤µ¤ì¤¿¡£
+ã\81\82ã\81ªã\81\9fã\81\8cç\96\91å\95\8fã\82\92æ\8c\81ã\81¨ã\81\86ã\81\8cæ\8c\81ã\81¤ã\81¾ã\81\84ã\81\8cã\80\81B<Zebedee> ã\81¯æ¬¡ã\81® 3ã\81¤ã\81®ä¸»è¦\81ã\81ªã\82³ã\83³ã\83\9dã\83¼
+ネントから命名された。
=over 4
=item *
-B<Z>lib ¤Ë¤è¤ë°µ½Ì
+B<Z>lib による圧縮
=item *
-B<B>lowfish ¤Ë¤è¤ë°Å¹æ²½
+B<B>lowfish による暗号化
=item *
-B<D>iffie-Hellman ¤Ë¤è¤ëǧ¾Ú
+B<D>iffie-Hellman による認証
=back
-¤³¤ì¤Ç¤ï¤«¤Ã¤¿¤è¤Í?
+これでわかったよね?
-=head2 ´ðËÜŪ¤Ê»È¤¤Êý(Basic Usage)
+=head2 基本的な使い方(Basic Usage)
=begin JM-comment
=end JM-comment
-¥í¡¼¥«¥ë¥Þ¥·¥ó¤È¥ê¥â¡¼¥È¥Û¥¹¥È¤ò°ÂÁ´¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢
-¤Þ¤º¥ê¥â¡¼¥È¥Û¥¹¥È¤ÎÊý¤Ç¡¢B<Zebedee> ¤ò¥µ¡¼¥Ð¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¡£
-°ìÈÖ´Êñ¤ÊÊýË¡¤Ï¡¢B<-s> ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤À¡£
+ローカルマシンとリモートホストを安全に接続するには、
+まずリモートホストの方で、B<Zebedee> をサーバーモードで起動する必要がある。
+一番簡単な方法は、B<-s> オプションを使うことだ。
zebedee -s
=end JM-comment
-¤¦¤Þ¤¯¤¤¤±¤Ð(¤¤¤¯¤Ï¤º¡ª)B<Zebedee>¤Ï
-üËö(windows¤Ç¤Ï¥³¥ó¥½¡¼¥ë¥¦¥¤¥ó¥É¥¦)¤«¤éÀÚ¤êÎ¥¤µ¤ì¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÁö¤ë¡£
-¤½¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÀܳ¤òÂԤġ£
+うまくいけば(いくはず!)B<Zebedee>は
+端末(windowsではコンソールウインドウ)から切り離されてバックグラウンドで走る。
+そして、クライアントからの接続を待つ。
=begin JM-comment
=end JM-comment
-¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤ÇB<Zebedee>¤ò¥¯¥é¥¤¥¢¥ó¥È¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Û¥¹¥È̾¤È¥È¥ó¥Í¥ë¤¹¤Ù¤¥µ¡¼¥Ó¥¹Ì¾¤«¥Ý¡¼¥ÈÈÖ¹æ
-(¤³¤³¤Ç¤Ï¤³¤ì¤ò¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤È¸Æ¤Ö¤³¤È¤Ë¤¹¤ë)¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤¬C<remhost>¤Ç
-°ÂÁ´¤ÊB<telnet>¥»¥Ã¥·¥ç¥ó¤òÄ¥¤ê¤¿¤¤¤È¤·¤¿¤é¡¢¤³¤¦¤Ê¤ë¡£
+次にクライアントマシンでB<Zebedee>をクライアントモードで起動する。
+この場合は、リモートホストのホスト名とトンネルすべきサービス名かポート番号
+(ここではこれをターゲットポートと呼ぶことにする)を指定する。
+例えば、リモートホストの名前がC<remhost>で
+安全なB<telnet>セッションを張りたいとしたら、こうなる。
zebedee remhost:telnet
=end JM-comment
-¼ÂºÝ¤Ë¤Ï¡¢¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥È¤¬telnet¤Ê¤Î¤Ç
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë¾Êά¤·¤Æ¤â¤è¤¤¡£
+実際には、ポートのデフォルトがtelnetなので
+このケースでは次のように省略してもよい。
zebedee remhost
=end JM-comment
-¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-¥È¥ó¥Í¥ë¤ÎÆþ¸ý¤Ë¤Ê¤ë(¥í¡¼¥«¥ë¦¤Î)¥Ý¡¼¥È¤ÎÈֹ椬ɽ¼¨¤µ¤ì¤ë¡£
-B<Zebedee>¤ÏüËö¤«¤éÀÚ¤êÎ¥¤µ¤ì¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÁö¤ê¡¢
-¤³¤Î¥í¡¼¥«¥ë¦¤Î¥Ý¡¼¥È¤ËÀܳ¤µ¤ì¤ë¤Î¤òÂԤġ£
-Î㤨¤Ð¡¢1234¤Èɽ¼¨¤µ¤ì¤¿¤é¡¢
+このコマンドを実行すると、
+トンネルの入口になる(ローカル側の)ポートの番号が表示される。
+B<Zebedee>は端末から切り離されてバックグラウンドで走り、
+このローカル側のポートに接続されるのを待つ。
+例えば、1234と表示されたら、
telnet localhost 1234
-¤È¤¹¤ì¤Ð¡¢C<remhost>¤Ë°ÂÁ´¤Ê¥È¥ó¥Í¥ë·Ðͳ¤ÇÀܳ¤µ¤ì¤ë¡£
+とすれば、C<remhost>に安全なトンネル経由で接続される。
=begin JM-comment
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¤ë¤Þ¤ÇÀܳ¤òÂÔ¤Á³¤±¤Æ¡¢
-ɬÍפ¬¤¢¤ì¤ÐƱ»þȯÀ¸¤¹¤ëÊ£¿ô¤Î¥³¥Í¥¯¥·¥ç¥ó¤ò½èÍý¤¹¤ë¡£
+デフォルトでは、B<Zebedee>はプロセスを終了させるまで接続を待ち続けて、
+必要があれば同時発生する複数のコネクションを処理する。
-»þ¤Ë¤Ï¡¢B<Zebedee>¤òµ¯Æ°¤·¡¢
-¤½¤Î¸å¤¹¤°¤Ë¤½¤Î¥Ý¡¼¥È¤ËÀܳ¤¹¤ë¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤¿¤¤¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-¤³¤ì¤ò°ìȯ¤Ç¤ä¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£
+時には、B<Zebedee>を起動し、
+その後すぐにそのポートに接続するコマンドを起動したいこともあるだろう。
+これを一発でやるには次のようにする。
zebedee -e "telnet localhost %d" remhost
=end JM-comment
-ʸ»úÎóÃæ¤Î"C<%d>"¤¬¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ÈÃÖ¤´¹¤¨¤é¤ì¤ë¡£½¾¤Ã¤Æ¡¢
-B<Zebedee>¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤òɽ¼¨¤·¤Ê¤¤(¤¹¤ëɬÍפ¬¤Ê¤¤)¡£
-¤³¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤¬Àܳ¤ò½ªÎ»¤¹¤ë¤ÈƱ»þ¤Ë¡¢
-¥í¡¼¥«¥ë¦¤ÎB<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤â½ªÎ»¤¹¤ë¡£
+文字列中の"C<%d>"がローカルポート番号と置き換えられる。従って、
+B<Zebedee>はポート番号を表示しない(する必要がない)。
+このようにコマンドを指定した場合には、そのコマンドが接続を終了すると同時に、
+ローカル側のB<Zebedee>クライアントも終了する。
=begin JM-comment
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤ë¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤷ¤¿¤¤(¤¹¤ëɬÍפ¬¤¢¤ë)¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-(Êݸ¤¿¤¤ÄÌ¿®¤ò¹Ô¤Ê¤¦)¥³¥Þ¥ó¥É¤¬¡¢ÆÃÄê¤Î¥Ý¡¼¥È¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤À¡£
-¤³¤Î¾ì¹ç¤Ï¡¢B<Zebedee>¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤¹¤ë¤³¤È¤Ç¡¢
-¥í¡¼¥«¥ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤ë¡£
+クライアントが使用するローカルポート番号を指定したい(する必要がある)こともあるだろう。
+(保護したい通信を行なう)コマンドが、特定のポートに接続しようとする場合だ。
+この場合は、B<Zebedee>を次のように起動することで、
+ローカルポートを指定することもできる。
zebedee clientport:hostname:targetport
=end JM-comment
-Î㤨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É:
+例えば、次のコマンド:
zebedee 8000:webhost:80
=end JM-comment
-¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î8000È֥ݡ¼¥È·Ðͳ¤ÇÀܳ¤¹¤ë¡¢
-B<webhost>¤Ø¤ÎÁ´¤Æ¤ÎHTTPÀܳ¤òÊݸ¤ë¡£
-¾ÜºÙ¤ÏL<EXAMPLES>»²¾È¤Î¤³¤È¡£
+は、クライアントの8000番ポート経由で接続する、
+B<webhost>への全てのHTTP接続を保護する。
+詳細はL<EXAMPLES>参照のこと。
-¤Þ¤¿¡¢B<Zebedee> ¥¯¥é¥¤¥¢¥ó¥È¤Ï
-Ʊ°ì¥Û¥¹¥ÈÆâ¤ÎÊ£¿ô¤Î¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤ËÂФ·¤Æ¡¢
-Ê£¿ô¤Î¥È¥ó¥Í¥ë¤ò(Ʊ»þʹÔŪ¤Ë)°·¤¦¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ë¤È¥ê¥â¡¼¥È¤Î¥Ý¡¼¥È¤Î»ØÄê¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤Ë¤Ê¤ë¡£
-Î㤨¤Ð
+また、B<Zebedee> クライアントは
+同一ホスト内の複数のターゲットポートに対して、
+複数のトンネルを(同時並行的に)扱うこともできる。
+この場合は、ローカルとリモートのポートの指定はポート番号のリストになる。
+例えば
zebedee 9001,9002,9003:somehost:daytime,telnet,ftp
=end JM-comment
-¤³¤ì¤Ï¡¢9001È֤Υ¯¥é¥¤¥¢¥ó¥È¥Ý¡¼¥È¤Ø¤ÎÄÌ¿®¤ò¡¢
-¥ê¥â¡¼¥È¤Î¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ÎB<daytime>¥Ý¡¼¥È¤Ø¤È¥È¥ó¥Í¥ë¤¹¤ë¡£
-ƱÍͤˡ¢9002ÈÖ¤ÏB<telnet>¥Ý¡¼¥È¤Ø¡¢9003ÈÖ¤ÏB<ftp>¥Ý¡¼¥È¤Ø¥È¥ó¥Í¥ë¤¹¤ë¡£
+これは、9001番のクライアントポートへの通信を、
+リモートのターゲットシステムのB<daytime>ポートへとトンネルする。
+同様に、9002番はB<telnet>ポートへ、9003番はB<ftp>ポートへトンネルする。
-¤³¤Î¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¼õ¤±¤Ä¤±¥Ý¡¼¥È¡¢¥¿¡¼¥²¥Ã¥È¤È¤Ê¤ë¥Û¥¹¥È¡¢¤½¤·¤ÆÌÜŪ
-¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ÎÁȤ߹ç¤ï¤»¤Ï¡Ö¥È¥ó¥Í¥ë»ÅÍÍ(tunnel specification)¡×¤È¸Æ¤Ð¤ì
-¤ë¡£¾Ü¤·¤¯¤Ï B<L<tunnel|/item_tunnel>> ¥¡¼¥ï¡¼¥É»²¾È¤Î¤³¤È¡£
+この、クライアント側の受けつけポート、ターゲットとなるホスト、そして目的
+のポート番号の組み合わせは「トンネル仕様(tunnel specification)」と呼ばれ
+る。詳しくは B<L<tunnel|/item_tunnel>> キーワード参照のこと。
-=head2 UDP¥È¥ó¥Í¥ê¥ó¥°(UDP Tunnelling)
+=head2 UDPã\83\88ã\83³ã\83\8dã\83ªã\83³ã\82°(UDP Tunnelling)
=begin JM-comment
=end JM-comment
-B<Zebedee>¤Ï¤â¤È¤â¤È¤Ï TCP/IP ¤Î¥È¥é¥Õ¥£¥Ã¥¯¤À¤±¤ò°·¤¦¤è¤¦¤ËÀ߷פµ¤ì¤¿¤¬¡¢
-¥Ð¡¼¥¸¥ç¥ó2.0.0¤«¤é¤Ï¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤ÎUDP¤Î¥Ç¡¼¥¿¤â°·¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-¤³¤Îµ¡Ç½¤ò͸ú¤Ë¤¹¤ë¤Ë¤ÏB<Zebedee>¤ò B<-u> ¥ª¥×¥·¥ç¥óÉÕ¤¤Çµ¯Æ°¤¹¤ë
-(¤Þ¤¿¤Ï¡¢B<L<udpmode|/item_udpmode>> ¥¡¼¥ï¡¼¥É¤ò»ÈÍѤ¹¤ë)¡£
-Î㤨¤Ð¥µ¡¼¥Ð¦¤Ç
+B<Zebedee>はもともとは TCP/IP のトラフィックだけを扱うように設計されたが、
+バージョン2.0.0からはコネクションレスのUDPのデータも扱えるようになった。
+この機能を有効にするにはB<Zebedee>を B<-u> オプション付きで起動する
+(または、B<L<udpmode|/item_udpmode>> キーワードを使用する)。
+例えばサーバ側で
zebedee -s -u
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç
+クライアント側で
zebedee -u 10000:somehost:echo
=end JM-comment
-¤ò¼Â¹Ô¤¹¤ë¡£¤Ê¤ª¡¢¤Ò¤È¤Ä¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢TCP¤«UDP¤Î¤É¤Á¤é¤«¤ò°·¤¤¡¢
-ξÊýƱ»þ¤Ë°·¤¦¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£Î¾Êý¤Î¥¿¥¤¥×¤ò¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢
-2¤Ä¤ÎÆÈΩ¤·¤¿¥¤¥ó¥¹¥¿¥ó¥¹¤òµ¯Æ°¤¹¤ë¡£
-TCP¥â¡¼¥É¤ÈUDP¥â¡¼¥É¤Î¥µ¡¼¥Ð¤Ï°ã¤¦¥Ý¡¼¥È¤ò»È¤¦¤Î¤Ç¡¢
-ξ¼Ô¤òƱ¤¸¥·¥¹¥Æ¥à¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ï°ÂÁ´¤Ç¤¢¤ë¡£
+を実行する。なお、ひとつのクライアントとサーバは、TCPかUDPのどちらかを扱い、
+両方同時に扱うことはできない。両方のタイプをトンネルするには、
+2つの独立したインスタンスを起動する。
+TCPモードとUDPモードのサーバは違うポートを使うので、
+両者を同じシステムで起動することは安全である。
=begin JM-comment
=end JM-comment
-UDP¥â¡¼¥É¤Ç¤âB<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð´Ö¤Î¥È¥ó¥Í¥ë¤ÏTCP/IP¤ÇÀܳ¤¹¤ë¡£
-¤³¤ÎÀܳ¤Ï̵ÄÌ¿®¤¬°ìÄê»þ´Ö³¤¯¤È¥¿¥¤¥à¥¢¥¦¥È¤¹¤ë¡£
-¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤«¤é¤µ¤é¤Ë¥Ç¡¼¥¿¤¬Íè¤ë¤È¥È¥ó¥Í¥ë¤ÎºÆÀܳ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¤Î¤Ç¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆÃÀ¤Ë¤è¤Ã¤Æ¤Ï
-UDP¥â¡¼¥É¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¤è¤¯¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤³¤È¤â¤¢¤ë¡£
-¤Þ¤¿¡¢°·¤¨¤ëUDP¥À¥¤¥¢¥°¥é¥à¤Î¥µ¥¤¥º¤Ë¤âÀ©¸Â¤¬¤¢¤ë¤³¤È¤Ë¤âÃí°Õ¤¹¤ë¤³¤È¡£
+UDPモードでもB<Zebedee>のクライアントとサーバ間のトンネルはTCP/IPで接続する。
+この接続は無通信が一定時間続くとタイムアウトする。
+タイムアウトしてからさらにデータが来るとトンネルの再接続を行う必要があるので、
+アプリケーションの特性によっては
+UDPモードのパフォーマンスがよくないように見えることもある。
+また、扱えるUDPダイアグラムのサイズにも制限があることにも注意すること。
=begin JM-comment
=end JM-comment
-¾ÜºÙ¤Ï¡¢B<L<maxbufsize|/item_maxbufsize>>¡¢
-B<L<udpmode|/item_udpmode>>¡¢ B<L<udptimeout|/item_udptimeout>>
-¤ò»²¾È¤Î¤³¤È¡£
+詳細は、B<L<maxbufsize|/item_maxbufsize>>、
+B<L<udpmode|/item_udpmode>>、 B<L<udptimeout|/item_udptimeout>>
+を参照のこと。
-=head2 ¸ÀÍÕ¤ÎÄêµÁ(Some Terminology)
+=head2 言葉の定義(Some Terminology)
=begin JM-comment
=end JM-comment
-Ä̾ï¤Ï¡¢B<Zebedee>¤Ë¤è¤Ã¤Æ¥È¥ó¥Í¥ë¤ò¥»¥Ã¥È¥¢¥Ã¥×¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¡¢´Ø·¸¤¹¤ë¥·¥¹¥Æ¥à¤Ï2¤Ä¤Ç¤¢¤ë¡£
-ÊÒÊý¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Æ¡¢¥í¡¼¥«¥ë¥Ý¡¼¥È¤Ç¤½¤ì¤ÈÄÌ¿®¤¹¤ë¡£
-È¿ÂЦ¤Ç¤Ï¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Æ¡¢¤½¤Î¥·¥¹¥Æ¥à¤ÇÆ°ºî¤·¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¤È²ñÏ乤롣
-¤·¤«¤·¤Ê¤¬¤é¡¢¼¡¤Î¤è¤¦¤ËºÇÂç4¤Ä¤Î¥·¥¹¥Æ¥à(¥Þ¥·¥ó)¤¬´Ø·¸¤¹¤ë¥±¡¼¥¹¤â¤¢¤ê¤¨¤ë¡£
+通常は、B<Zebedee>によってトンネルをセットアップしようとする場合、関係するシステムは2つである。
+片方でクライアントを起動して、ローカルポートでそれと通信する。
+反対側ではサーバを起動して、そのシステムで動作しているサービスと会話する。
+しかしながら、次のように最大4つのシステム(マシン)が関係するケースもありえる。
=begin JM-comment
=end JM-comment
- [¥½¡¼¥¹] <===> [¥¯¥é¥¤¥¢¥ó¥È] <=====> [¥µ¡¼¥Ð] <===> [¥¿¡¼¥²¥Ã¥È]
+ [ソース] <===> [クライアント] <=====> [サーバ] <===> [ターゲット]
| | |
- +- °ÂÁ´¤Ç¤Ê¤¤ | + °ÂÁ´¤Ç¤Ê¤¤
- Àܳ | Àܳ
- +- °ÂÁ´¤Ê¥È¥ó¥Í¥ë
+ +- 安全でない | + 安全でない
+ 接続 | 接続
+ +- 安全なトンネル
-B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¥·¥¹¥Æ¥à¤Ç¡¢
-¥µ¡¼¥Ð¤Ï¡Ö¥µ¡¼¥Ð¡×¥·¥¹¥Æ¥à¤Ç¤½¤ì¤¾¤ìÆ°ºî¤·¤Æ¤¤¤ë¡£
-¥È¥ó¥Í¥ëÀßÄê¤Î·Àµ¡¤È¤Ê¤ëºÇ½é¤ÎÀܳ¤Ï¡Ö¥½¡¼¥¹¡×¥Þ¥·¥ó¤«¤éȯÀ¸¤¹¤ë¡£
-¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤Ï°ã¤¦¥·¥¹¥Æ¥à¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤¬¡¢
-Ä̾ï¤ÏƱ°ì¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ë¡£
-¥µ¡¼¥Ð¤ÏºÇ¸å¤Ë¡Ö¥¿¡¼¥²¥Ã¥È¡×¥·¥¹¥Æ¥à¤ÈÄÌ¿®¤¹¤ë¡£
-¥¿¡¼¥²¥Ã¥È¤âÉáÄ̤ϥ½¡¼¥¹¤ÈƱ¤¸¥Þ¥·¥ó¤Ë¤Ê¤ë¤¬¡¢°ã¤¦¥Þ¥·¥ó¤Ç¤¢¤Ã¤Æ¤âÁ´¤¯ÌäÂê¤Ï¤Ê¤¤¡£
+B<Zebedee>のクライアントは「クライアント」システムで、
+サーバは「サーバ」システムでそれぞれ動作している。
+トンネル設定の契機となる最初の接続は「ソース」マシンから発生する。
+「ソース」と「クライアント」は違うシステムであってもかまわないが、
+通常は同一のシステムである。
+サーバは最後に「ターゲット」システムと通信する。
+ターゲットも普通はソースと同じマシンになるが、違うマシンであっても全く問題はない。
=begin JM-comment
=end JM-comment
-¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¡¢
-¡Ö¥µ¡¼¥Ð¡×¤È¡Ö¥¿¡¼¥²¥Ã¥È¡×¤Î°ã¤¤¤òµ¤¤Ë¤¹¤ëɬÍפϤʤ¤¡£
-¤·¤«¤·¡¢¤³¤ÎÍѸì¤Î¶èÊ̤¬°Ê²¼¤Ë½Ò¤Ù¤ë¥¡¼¥ï¡¼¥É¤Ë¿¤¯È¿±Ç¤·¤Æ¤¤¤ë¡£
-¥¡¼¥ï¡¼¥É¤ÎÀâÌÀ¤òÆɤà»þ¤Ë¤Ï¡¢¤³¤Î¤³¤È¤òƬ¤ËÆþ¤ì¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¤¤¤¤¤À¤í¤¦¡£
+ほとんどの場合、「ソース」と「クライアント」、
+「サーバ」と「ターゲット」の違いを気にする必要はない。
+しかし、この用語の区別が以下に述べるキーワードに多く反映している。
+キーワードの説明を読む時には、このことを頭に入れておいたほうがいいだろう。
=begin JM-comment
=end JM-comment
-B<Zebedee>¤Î¥È¥ó¥Í¥ë¤Ë´Ø·¸¤¹¤ë¤³¤Î4¤Ä¥·¥¹¥Æ¥à¤ÎÌäÂê¤ÈÊ̤ˡ¢
-°ÂÁ´¤ËÀܳ¤¹¤ë¤¿¤á¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁ´¤¯°ã¤¦¥¿¥¤¥×¤Î¡Ö¥¡¼(key)¡×¤¬»È¤ï¤ì¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÏB<private key>(ÈëÌ©¸°)¤È¤¤¤¦ÃͤòɬÍפȤ¹¤ë
-(¼«Ê¬¤ÇÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ë)¡£
-¤³¤Î¥¡¼¤«¤é¤Ï¡¢public values ¤¬·×»»¤µ¤ì¸ò´¹¤µ¤ì¡¢
-¤½¤ì¤Ë¤è¤êB<shared secret key> ¤¬Æ³¤½Ð¤µ¤ì¤ë
-(¤³¤Î»þ¤ËDiffie-Hellman key agreement mechanism ¤¬»ÈÍѤµ¤ì¤ë)¡£
-¤³¤Î¥¡¼¤«¤é¤Ï¡¢Àܳ¤Î¤¿¤Ó¤Ë¥æ¥Ë¡¼¥¯¤ÊB<session key>¤¬Æ³¤½Ð¤µ¤ì¡¢
-ºÇ½ªÅª¤Ë¤³¤Î¥¡¼¤Ç°Å¹æ²½¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
+B<Zebedee>のトンネルに関係するこの4つシステムの問題と別に、
+安全に接続するために、いくつかの全く違うタイプの「キー(key)」が使われる。
+クライアントとサーバはB<private key>(秘密鍵)という値を必要とする
+(自分で生成する場合もある)。
+このキーからは、public values が計算され交換され、
+それによりB<shared secret key> が導き出される
+(この時にDiffie-Hellman key agreement mechanism が使用される)。
+このキーからは、接続のたびにユニークなB<session key>が導き出され、
+最終的にこのキーで暗号化が行なわれる。
-=head2 Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È(Multiple Destinations)
+=head2 複数のターゲット(Multiple Destinations)
=begin JM-comment
=end JM-comment
-2.1.0°ÊÁ°¤ÎB<Zebedee>¤Ç¤Ï¡¢¤Ò¤ÈÁȤΥ¯¥é¥¤¥¢¥ó¥È/¥µ¡¼¥Ð¤Î¥Ú¥¢¤Ï¡¢
-¥¿¡¼¥²¥Ã¥È¤Ê¤ë¥Û¥¹¥È¤ò¤Ò¤È¤Ä¤·¤«°·¤¨¤Ê¤«¤Ã¤¿¡£
-¤·¤«¤·¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤Ï¡¢
-Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È¤Ø¤Î¥È¥ó¥Í¥ë¤ò°·¤¦¤³¤È¤¬¤Ç¤¤ë¡£
+2.1.0以前のB<Zebedee>では、ひと組のクライアント/サーバのペアは、
+ターゲットなるホストをひとつしか扱えなかった。
+しかしこのバージョンからは、
+複数のターゲットへのトンネルを扱うことができる。
=begin JM-comment
=end JM-comment
-¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë»þ¤Ë¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤« B<L<target|/item_target>> ¥¡¼¥ï¡¼¥É¤«¤é
-Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¥¿¡¼¥²¥Ã¥È¤È¤Ï¥Û¥¹¥È̾¤Ç¤¢¤ê¡¢
-¸å¤ËÀܳ¤òµö²Ä¤¹¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤ò¤Ä¤±¤Æ¤â¤è¤¤¡£
+サーバを起動する時に、
+コマンドラインか B<L<target|/item_target>> キーワードから
+複数のターゲットを与えることができる。
+ターゲットとはホスト名であり、
+後に接続を許可するポート番号のリストをつけてもよい。
-B<serverhost>¤È¤¤¤¦¥Þ¥·¥ó¤Ç°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤È¤·¤è¤¦¡£
+B<serverhost>というマシンで以下のコマンドを実行したとしよう。
zebedee -s target1:daytime,telnet target2:telnet target3
=end JM-comment
-¤½¤Î¥µ¡¼¥Ð¤Ï¡¢B<target1>¤ÎB<daytime>¥Ý¡¼¥È¤ÈB<telnet>¥Ý¡¼¥È¤ËÂФ¹¤ëÀܳ¤È¡¢
-B<target2>¤ÎB<telnet>¤ËÂФ¹¤ëÀܳ¡¢
-µÚ¤Ó¡¢B<target3>¤ËÂФ¹¤ëÁ´¤Æ¤Î¥Ý¡¼¥È¤Ø¤ÎÀܳ¤òµö²Ä¤¹¤ë¡£
+そのサーバは、B<target1>のB<daytime>ポートとB<telnet>ポートに対する接続と、
+B<target2>のB<telnet>に対する接続、
+及び、B<target3>に対する全てのポートへの接続を許可する。
-¥µ¡¼¥Ð¤ò°Ê¾å¤Î¤è¤¦¤Ëµ¯Æ°¤·¤¿¤é¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡£
+サーバを以上のように起動したら、クライアントは次のようになるだろう。
zebedee serverhost 10000:target1:telnet 20000:target3:telnet
=end JM-comment
-¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢B<serverhost>¤ÎB<Zebedee> ¥µ¡¼¥Ð¤ËÀܳ¤·¡¢
-¤½¤Î¥µ¡¼¥Ð¤ò¼¡¤Î¤è¤¦¤Ê2¤Ä¤Î¥È¥ó¥Í¥ë¤ÎÀßÄê¤Ë»ÈÍѤ¹¤ë¡£
-¤Þ¤º¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ý¡¼¥È10000¤«¤éB<target1>¤ÎB<telnet>¥Ý¡¼¥È¤Ø¤Î¥È¥ó¥Í¥ë¡¢
-¼¡¤¬¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ý¡¼¥È20000¤«¤éB<target3>¤ÎB<telnet>¥Ý¡¼¥È¤Ø¤Î¥È¥ó¥Í¥ë¤Ç¤¢¤ë¡£
-¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤¬ºÇ½é¤Î¥Ñ¥é¥á¡¼¥¿¤È¤·¤ÆÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£
-¤â¤·¥µ¡¼¥Ð̾¤ò¾Ê¤¯¤ÈºÇ½é¤Î¡Ö¥È¥ó¥Í¥ë»ÅÍ͡פ«¤é»ý¤Ã¤Æ¤¯¤ë¤³¤È¤Ë¤Ê¤ë¡£
+このコマンドにより、B<serverhost>のB<Zebedee> サーバに接続し、
+そのサーバを次のような2つのトンネルの設定に使用する。
+まずクライアントのポート10000からB<target1>のB<telnet>ポートへのトンネル、
+次がクライアントのポート20000からB<target3>のB<telnet>ポートへのトンネルである。
+サーバが動作しているホストの名前が最初のパラメータとして与えられていることに注意してほしい。
+もしサーバ名を省くと最初の「トンネル仕様」から持ってくることになる。
-¤â¤·¥µ¡¼¥Ð¤¬B<target3>¤ÇÆ°ºî¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
-¾å¤Î¥³¥Þ¥ó¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤âƱ¤¸¤³¤È¤Ë¤Ê¤ë¡£
+もしサーバがB<target3>で動作しているならば、
+上のコマンドは次のようにしても同じことになる。
zebedee 20000:target3:telnet 10000:target1:telnet
=end JM-comment
-¼ÂºÝ¤Î½ê¡¢¥µ¡¼¥Ð¤Ï¡Ö¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¡×¤È¤¤¤¦³µÇ°¤ò»ý¤Ã¤Æ¤¤¤ë¡£
-¤³¤ì¤ÏI<ºÇ¸å¤Ë>»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤Î¤³¤È¤Ç¤¢¤ë¡£
-¾åµ¤ÎÎã¤Ç¤Ï¡Ö¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¡×¤ÏB<target3>¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
-¤â¤·¥µ¡¼¥Ð¦¤È¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥¿¡¼¥²¥Ã¥È¤Î»ØÄ꤬Ʊ¤¸¤À¤Ã¤¿¤é¡¢
-¤³¤Î¥¿¡¼¥²¥Ã¥È¤¬»ÈÍѤµ¤ì¤ë¡£
-ͽÁۤȰ㤦·ë²Ì¤òÆÀ¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢¤³¤Î¤³¤È¤Ë¤Ï½¼Ê¬Ãí°Õ¤·¤Æ¤Û¤·¤¤¡£
-Î㤨¤Ð¥µ¡¼¥Ð¤¬¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤µ¤ì¤¿¤È¤·¤è¤¦¡£
+実際の所、サーバは「デフォルトターゲット」という概念を持っている。
+これはI<最後に>指定されたターゲットのことである。
+上記の例では「デフォルトターゲット」はB<target3>になっている。
+もしサーバ側とクライアント側のターゲットの指定が同じだったら、
+このターゲットが使用される。
+予想と違う結果を得ることがあるので、このことには充分注意してほしい。
+例えばサーバが次のように起動されたとしよう。
zebedee -s target2:telnet target3 target1:daytime,telnet
=end JM-comment
-¤³¤Î¾ì¹ç¤Ï¡¢¾å¤ËÎ㼨¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤¹¤ë¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢
-20000È֥ݡ¼¥È¤Ø¤ÎÀܳ¤Ï¡¢B<target3>¤Ç¤Ê¤¯B<target1>¤ËÂФ·¤Æ¥È¥ó¥Í¥ë¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
-¥µ¡¼¥Ð¤Ç»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤È¥¯¥é¥¤¥¢¥ó¥È¤Ç»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤¬Æ±¤¸¤À¤Ã¤¿»þ¤Ï¡¢
-ÄÌ¿®¤Ï¡Ö¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¡×¤Ë¸þ¤«¤¦¤«¤é¤À¡£
-º®Íð¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢¥µ¡¼¥Ð¤Î¥Û¥¹¥È¤¬°¸Àè¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¾ì¹ç¤Ï¡¢
-ɬ¤ººÇ¸å¤Ë¤½¤ì¤òÃÖ¤¯¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¡£
-¡Ö¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¡×¤ÈƱÍͤˡ¢
-¥Ý¡¼¥È»ØÄ꤬¤Ê¤«¤Ã¤¿»þ¤Î¤¿¤á¤Î¡¢
-Ê£¿ô¤Î¡Ö¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¡×¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¾ÜºÙ¤ÏB<L<redirect|/item_redirect>>¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£
+この場合は、上に例示したクライアントを起動するコマンドによって、
+20000番ポートへの接続は、B<target3>でなくB<target1>に対してトンネルされることになる。
+サーバで指定されたターゲットとクライアントで指定されたターゲットが同じだった時は、
+通信は「デフォルトターゲット」に向かうからだ。
+混乱を避けるためには、サーバのホストが宛先リストに含まれる場合は、
+必ず最後にそれを置くようにすればよい。
+「デフォルトターゲット」と同様に、
+ポート指定がなかった時のための、
+複数の「デフォルトターゲットポート」のリストを指定することもできる。
+詳細はB<L<redirect|/item_redirect>>を参照してほしい。
=begin JM-comment
=end JM-comment
-B<L<target|/item_target>>¥¡¼¥ï¡¼¥É¤ÈƱÍͤˡ¢
-¥¯¥é¥¤¥¢¥ó¥ÈÍѤÎƱÅù¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ¡¢
-B<L<tunnel|/item_tunnel>> ¥¡¼¥ï¡¼¥É (and B<L<serverhost|/item_serverhost>>¤¬¤¢¤ë¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¥Û¥¹¥È¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+B<L<target|/item_target>>キーワードと同様に、
+クライアント用の同等のコマンドラインパラメータとして、
+B<L<tunnel|/item_tunnel>> キーワード (and B<L<serverhost|/item_serverhost>>がある。
+これによって、サーバホストを明示的に指定することができる。
-=head2 ¥µ¡¼¥Ð¼çƳ¤ÎÀܳ(Server-Initiated Connections)
+=head2 サーバ主導の接続(Server-Initiated Connections)
=begin JM-comment
=end JM-comment
-Ä̾ï¤Î»ÈÍÑË¡¤Ç¤Ï¡¢
-¥½¡¼¥¹¥·¥¹¥Æ¥à¤«¤éÀܳ¤ò¼õ¤±¤¿»þÅÀ¤Ç¡¢
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÂФ¹¤ëÀܳ¤ò³«»Ï¤¹¤ë¡£
-¤·¤«¤·¡¢B<Zebedee>¤òÀ©¸Â¤Î¤¢¤ë¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼¥ë±Û¤·¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ê¤É¡¢
-µÕ¸þ¤¤Ë¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤ÆÀܳ¤ò³«»Ï¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤â¤¢¤ë¡£
-¤³¤ì¤ò¤É¤¦¤ä¤ë¤«¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-B<L<clienthost|/item_clienthost>> ¥¡¼¥ï¡¼¥É¤È
-B<L<listenmode|/item_listenmode>>¥¡¼¥ï¡¼¥É¤ò»²¾È¤Î¤³¤È¡£
+通常の使用法では、
+ソースシステムから接続を受けた時点で、
+B<Zebedee>クライアントがサーバに対する接続を開始する。
+しかし、B<Zebedee>を制限のあるファイアーウォール越しに使用する場合など、
+逆向きにサーバからクライアントに対して接続を開始することが必要な場合もある。
+これをどうやるかの詳細については、
+B<L<clienthost|/item_clienthost>> キーワードと
+B<L<listenmode|/item_listenmode>>キーワードを参照のこと。
-=head2 ÀßÄê¥Õ¥¡¥¤¥ë(Configuration File)
+=head2 設定ファイル(Configuration File)
=begin JM-comment
=end JM-comment
-B<Zebedee> ¤ÎÆ°ºî¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤¦¤Î¤¬¤ª¤½¤é¤¯°ìÈ֤褤¡£ÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤Ë¤Ï
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç B<-f>¤ò»È¤¦¡£¥Õ¥¡¥¤¥ë¤Ï(B<-f>)¥ª¥×¥·¥ç¥ó¤Î°Ì
-Ã֤ǽèÍý¤µ¤ì¤ë¡£½¾¤Ã¤Æ¡¢¤½¤ì°Ê¹ß¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç¥Õ¥¡¥¤¥ë¤ÎÆâ
-ÍƤò¾å½ñ¤¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+B<Zebedee> の動作をコントロールするには、
+設定ファイルを使うのがおそらく一番よい。設定ファイルを指定するには
+コマンドラインオプションで B<-f>を使う。ファイルは(B<-f>)オプションの位
+置で処理される。従って、それ以降のコマンドラインオプションでファイルの内
+容を上書きすることができる。
=begin JM-comment
=end JM-comment
-¹Ô¤Î·Á¼°¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
+行の形式は以下のとおり。
keyword value # optional comment
=end JM-comment
-I<keyword>¤Ï¤Ò¤È¤Ä¤Îñ¸ì¤Ç¤¢¤êÂçʸ»ú¾®Ê¸»ú¤Ï̵»ë¤µ¤ì¤ë¡£I<value>¤Ïñ¸ì¤«Ê¸»ú
-Î󤫤ɤÁ¤é¤«¤Ç¤¢¤ë¡£
-ʸ»úÎó¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È(C<"¤³¤ó¤ÊÉ÷¤Ë">)¤«¥·¥ó¥°¥ë¥¯¥©¡¼¥È
-(C<'¤³¤ó¤ÊÉ÷¤Ë'>)¤Ç¤¯¤¯¤é¤ì¤ë¡£¥À¥Ö¥ë¥¯¥©¡¼¥È " ¤ÎÃæ¤Ë
-¥·¥ó¥°¥ë¥¯¥©¡¼¥È ' ¤¬¤¢¤Ã¤Æ¤â¤è¤¤¤·(C<"here's an example">)¡¢¤½¤ÎµÕ¤â¸À¤¨¤ë¡£
-value ¤Ç¤ÏÂçʸ»ú¾®Ê¸»ú¤Î°ã¤¤¤Ï¶èÊ̤µ¤ì¤ë¡£
+I<keyword>はひとつの単語であり大文字小文字は無視される。I<value>は単語か文字
+列かどちらかである。
+文字列はダブルクォート(C<"こんな風に">)かシングルクォート
+(C<'こんな風に'>)でくくられる。ダブルクォート " の中に
+シングルクォート ' があってもよいし(C<"here's an example">)、その逆も言える。
+value では大文字小文字の違いは区別される。
=begin JM-comment
=end JM-comment
-¶õÇò¹Ô¤È"C<#>"¤Ç¤Ï¤¸¤Þ¤ë¹Ô(¤½¤ÎÁ°¤Ë¶õÇò¤¬¤¢¤Ã¤Æ¤âƱ¤¸)¤Ï̵»ë¤µ¤ì¤ë¡£
-Ť¤Ê¸»úÎó¤Ï "C<\>"¤Ç¼¡¤Î¹Ô¤Ë·Ñ³¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤Îʸ»ú¤Ï½üµî¤µ¤ì¡¢¼¡¤Î¹Ô¤¬¤³¤Î¹Ô¤ËÀܳ¤µ¤ì¤ë¡£
-1¹Ô¤ÎŤµ¤Ï·Ñ³¹Ô¤â´Þ¤á 1024 ʸ»ú¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£
-¹Ô¤ÎÀܳ¤Ï¥³¥á¥ó¥È¤Îǧ¼±¤ò´Þ¤á¤¹¤Ù¤Æ¤Î½èÍý¤ËÀè¤À¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£
-¤½¤Î¤¿¤á°Ê²¼¤ÎÎã
+空白行と"C<#>"ではじまる行(その前に空白があっても同じ)は無視される。
+長い文字列は "C<\>"で次の行に継続することもできる。
+この文字は除去され、次の行がこの行に接続される。
+1行の長さは継続行も含め 1024 文字に制限されていることに注意。
+行の接続はコメントの認識を含めすべての処理に先だって行われる。
+そのため以下の例
server false
# This comment continues on the next line \
=end JM-comment
-¤Ç¤Ï¡¢B<server>¤ÎÃÍ¤Ï B<false>¤Ë¤Ê¤ë¡£
+では、B<server>の値は B<false>になる。
=begin JM-comment
=end JM-comment
-¥¡¼¥ï¡¼¥É¤È¤½¤Î°ÕÌ£¤Ï°Ê²¼¤Ë½Ò¤Ù¤ë¡£
-L<Quick-Reference Summary>¤Ë¤Ï¡¢Á´¤Æ¤Î¥¡¼¥ï¡¼¥É¤Î´Ê·é¤ÊÍ×Ì󤬤¢¤ë¡£
-¤Û¤È¤ó¤É¤Î¥¡¼¥ï¡¼¥É¤ÏÂбþ¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢
-¤Ê¤«¤Ë¤ÏÂбþ¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£
-Âбþ¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¤½¤ì¤âÊ»µ¤·¤Æ¤¢¤ë¡£
-µÕ¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï
-ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î¥¡¼¥ï¡¼¥É¤ËÂбþ¤¹¤ë¤â¤Î¤¬¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£
-¤½¤ì¤é¤Ï¤³¤Î¥»¥¯¥·¥ç¥ó¤ÎºÇ¸å¤Ë½Ò¤Ù¤ë¡£
+キーワードとその意味は以下に述べる。
+L<Quick-Reference Summary>には、全てのキーワードの簡潔な要約がある。
+ほとんどのキーワードは対応するコマンドラインオプションがあるが、
+なかには対応するオプションがないものもある。
+対応するコマンドラインオプションがあるものについてはそれも併記してある。
+逆に、コマンドラインオプションの中には
+設定ファイル内のキーワードに対応するものがないものもある。
+それらはこのセクションの最後に述べる。
=begin JM-comment
=end JM-comment
-¥¡¼¥ï¡¼¥É¤¬¿¿µ¶ÃÍ(boolean)¤È½ñ¤«¤ì¤Æ¤¤¤¿¤é¡¢
-¤½¤ÎÃͤÏ"B<true>" ¤Þ¤¿¤Ï "B<false>"¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+キーワードが真偽値(boolean)と書かれていたら、
+その値は"B<true>" または "B<false>"でなければならない。
=begin JM-comment
=end JM-comment
-¥¡¼¥ï¡¼¥É¤ÎÃæ¤Ë¤Ï¥Ý¡¼¥È¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤â¤Î¤¬¤¢¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥Ý¡¼¥È̾(¥µ¡¼¥Ó¥¹Ì¾)¡¢¥Ý¡¼¥ÈÈֹ桢ÈÖ¹æ¤ÎÈϰϤò
-¥³¥ó¥Þ¤«¶õÇò¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢"C<telnet, ftp 5900-5903>"¤Ï
-"C<23,21,5900,5901,5902,5903>"¤ÈÅù¤·¤¤¡£
+キーワードの中にはポートのリストを指定するものがある。
+この場合は、ポート名(サービス名)、ポート番号、番号の範囲を
+コンマか空白で区切ったものを指定する。
+例えば、"C<telnet, ftp 5900-5903>"は
+"C<23,21,5900,5901,5902,5903>"と等しい。
=begin JM-comment
=end JM-comment
-¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤À¤±¤Ë»ØÄꤹ¤ë¥¡¼¥ï¡¼¥É¤â¤¢¤ë¤·¡¢
-¥µ¡¼¥Ð¤À¤±¤Ë»ØÄꤹ¤ë¥¡¼¥ï¡¼¥É¤â¤¢¤ë¡£
-¤Ò¤È¤Ä¤Î B<Zebedee> ¥×¥í¥°¥é¥à¤Ï¥µ¡¼¥Ð¤«¥¯¥é¥¤¥¢¥ó¥È¤«¤É¤Á¤é¤«¤Ò¤È¤Ä¤Îµ¡Ç½¤ò¼Â¹Ô¤·¡¢
-¤½¤Î»þ¤ÎÍÑÅӤȰ㤦ÍÑÅÓ¸þ¤±¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤¹¤ë¡£
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤âɽ¼¨¤·¤Ê¤¤¡£
-¥µ¡¼¥Ð¤Ë¤Ê¤ë¤«¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ê¤ë¤«¤Ï¡¢
-B<L<server|/item_server>> ¥¡¼¥ï¡¼¥É¤Ç·è¤Þ¤ë¡£
+また、クライアントだけに指定するキーワードもあるし、
+サーバだけに指定するキーワードもある。
+ひとつの B<Zebedee> プログラムはサーバかクライアントかどちらかひとつの機能を実行し、
+その時の用途と違う用途向けのオプションは無視する。
+エラーメッセージも表示しない。
+サーバになるかクライアントになるかは、
+B<L<server|/item_server>> キーワードで決まる。
=over 4
-=item B<server> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-s>)
+=item B<server> (コマンドラインでは B<-s>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ê¤ë¤«¥µ¡¼¥Ð¤Ë¤Ê¤ë¤«¤ò·è¤á¤ë¿¿µ¶ÃͤΥ¡¼¥ï¡¼¥É¤Ç¤¢¤ë¡£
-¤³¤ì¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ°ºî¤¹¤ë¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-s> ¥ª¥×¥·¥ç¥ó¤Ï¤³¤ÎÃͤòB<true>¤Ë¤¹¤ë¤Î¤ÈÅù¤·¤¤¡£
+これは、クライアントになるかサーバになるかを決める真偽値のキーワードである。
+これが指定されなかった場合は、クライアントとして動作する。
+コマンドラインオプションの B<-s> オプションはこの値をB<true>にするのと等しい。
=back
-=head3 ¥¯¥é¥¤¥¢¥ó¥ÈÀìÍÑ¥¡¼¥ï¡¼¥É(Client-Only Keywords)
+=head3 クライアント専用キーワード(Client-Only Keywords)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥¯¥é¥¤¥¢¥ó¥È¤À¤±¤ËŬÍѤµ¤ì¤ë¡£
+以下のキーワードはクライアントだけに適用される。
=over 4
-=item B<command> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-e>)
+=item B<command> (コマンドラインでは B<-e>)
=begin JM-comment
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ°ºî¤·¤Æ¤¤¤ë»þ¤Ë°ÕÌ£¤ò»ý¤Ä¡£
-¤³¤ì¤Ï¡¢¥È¥ó¥Í¥ë¤ØÀܳ¤·¤¿¸å¤Ëµ¯Æ°¤µ¤ì¤ë¥³¥Þ¥ó¥É¤ò¼¨¤¹¡£
-¤³¤ÎÃͤ¬ "C<%d>" ¤È¤¤¤¦Ê¸»úÎó¤ò´Þ¤ó¤Ç¤¤¤¿¤é¡¢¼Â¹Ô»þ¤Ë¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ÈÃÖ¤ÊѤ¨¤é¤ì¤ë
-(B<L<tunnel|/item_tunnel>> ¥¡¼¥ï¡¼¥É »²¾È)¡£
-¤³¤Î½èÍý¤ÏB<sprintf>´Ø¿ô¤ò»ÈÍѤ·¤Æ¹Ô¤Ê¤¦¤Î¤Ç¡¢
-"C<%>"¤Ë¤è¤ë¥¨¥¹¥±¡¼¥×½èÍý¤¬Å¬ÍѤµ¤ì¤ë
-(¤¹¤Ê¤ï¤Á¡¢"C<%>" ¤ò 1 ʸ»úÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï "C<%%>" ¤ò»È¤¦)¡£
-¤µ¤é¤Ë¡¢"C<%d>" ¤òÆó¤Ä°Ê¾å»ØÄꤷ¤¿¤ê "C<%d>" °Ê³°¤Î¥Õ¥©¡¼¥Þ¥Ã¥È»ØÄê»Ò
-¤ò»ØÄꤹ¤ë¤È¡¢¤ª¤½¤é¤¯¥×¥í¥°¥é¥à¤Ï¥¯¥é¥Ã¥·¥å¤¹¤ë¤À¤í¤¦¡£
+クライアントとして動作している時に意味を持つ。
+これは、トンネルへ接続した後に起動されるコマンドを示す。
+この値が "C<%d>" という文字列を含んでいたら、実行時にローカルポート番号と置き変えられる
+(B<L<tunnel|/item_tunnel>> キーワード 参照)。
+この処理はB<sprintf>関数を使用して行なうので、
+"C<%>"によるエスケープ処理が適用される
+(すなわち、"C<%>" を 1 文字生成するためには "C<%%>" を使う)。
+さらに、"C<%d>" を二つ以上指定したり "C<%d>" 以外のフォーマット指定子
+を指定すると、おそらくプログラムはクラッシュするだろう。
=begin JM-comment
=end JM-comment
-¥³¥Þ¥ó¥É¤¬Àܳ¤òÊĤ¸¤¿¤é¡¢B<Zebedee>¤â½ªÎ»¤¹¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢°ÅÌۤΤ¦¤Á¤Ë¥Þ¥ë¥Á¥æ¡¼¥¹¥â¡¼¥É¤¬OFF¤Ë¤Ê¤ë
-(B<L<multiuse|/item_multiuse>>»²¾È)¡£
-B<Zebedee> ¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤ÎÀܳ¤ò°·¤¦¾ì¹ç
-(B<L<multiuse|/item_multiuse>>)¤ä¥Ý¡¼¥È¤Î¥ê¥¹¥È¤¬
-B<L<tunnel|/item_tunnel>>¥¡¼¥ï¡¼¥É¤«¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î¼«Æ°µ¯Æ°¤Ï
-»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
+コマンドが接続を閉じたら、B<Zebedee>も終了する。
+このキーワードおよびオプションを使用すると、暗黙のうちにマルチユースモードがOFFになる
+(B<L<multiuse|/item_multiuse>>参照)。
+B<Zebedee> クライアントが複数の接続を扱う場合
+(B<L<multiuse|/item_multiuse>>)やポートのリストが
+B<L<tunnel|/item_tunnel>>キーワードかコマンドラインで指定された場合は、コマンドの自動起動は
+使用することができない。
=item B<listenmode> (command-line B<-l>)
=end JM-comment
-Ä̾ï¤Î»ÈÍÑË¡¤Ç¤Ï¡¢
-¥½¡¼¥¹¥·¥¹¥Æ¥à¤«¤éÀܳ¤ò¼õ¤±¤¿»þÅÀ¤Ç¡¢
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÂФ¹¤ëÀܳ¤ò³«»Ï¤¹¤ë¡£
-¤·¤«¤·¡¢B<Zebedee>¤òÀ©¸Â¤Î¤¢¤ë¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼¥ë±Û¤·¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ê¤É¡¢
-µÕ¸þ¤¤Ë¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤ÆÀܳ¤ò³«»Ï¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤â¤¢¤ë¡£
+通常の使用法では、
+ソースシステムから接続を受けた時点で、
+B<Zebedee>クライアントがサーバに対する接続を開始する。
+しかし、B<Zebedee>を制限のあるファイアーウォール越しに使用する場合など、
+逆向きにサーバからクライアントに対して接続を開始することが必要な場合もある。
=begin JM-comment
=end JM-comment
-B<listenmode>¥¡¼¥ï¡¼¥É¤¬¿¿¤Ê¤é¤Ð¡¢
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤ÏľÀÜÀܳ¤·¤è¤¦¤È¤¹¤ë¤«¤ï¤ê¤Ë¡¢
-¥µ¡¼¥Ð¤¬Àܳ¤ò³«»Ï¤¹¤ë¤Î¤òÂԤġ£
-¥µ¡¼¥Ð¤«¤é¤ÎÀܳÍ×µá¤Ï¤¹¤°¤Ë¤Ï¼õ¤±¤Ä¤±¤é¤ì¤º¡¢
-¥½¡¼¥¹¥·¥¹¥Æ¥à¤«¤é¤½¤ì¤ËÂбþ¤¹¤ëÀܳ¤¬¹Ô¤ï¤ì¤ë¤Þ¤ÇÂÔ¤¿¤µ¤ì¤ë¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤Ë¥È¥ó¥Í¥ë¤ÎÌÜŪÃϤˤĤ¤¤ÆÁª¤Ö¸¢Íø¤¬¤Ê¤¤¤È¡¢
-¤É¤Î¥µ¡¼¥Ð¤«¤éÀܳ¤µ¤ì¤ë¤«¤ï¤«¤Ã¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¡£
-¤½¤ÎÍÑ¿´¤Î¤¿¤á¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤ÏB<L<serverhost|/item_serverhost>> ¥¡¼¥ï¡¼¥É¤«¡¢
-ºÇ½é¤Î¥È¥ó¥Í¥ë»ÅÍͤΰìÉô¤È¤·¤Æ¡¢¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ï(¼ÂºÝ¤ÎÀܳ¤¬)¤³¤ì¤È°ìÃפ¹¤ë¤«³Îǧ¤·¤Æ¡¢Àܳ¤ÎÀµÅöÀ¤òȽÃǤ¹¤ë¡£
+B<listenmode>キーワードが真ならば、
+B<Zebedee>クライアントは直接接続しようとするかわりに、
+サーバが接続を開始するのを待つ。
+サーバからの接続要求はすぐには受けつけられず、
+ソースシステムからそれに対応する接続が行われるまで待たされる。
+しかしながら、もしクライアントにトンネルの目的地について選ぶ権利がないと、
+どのサーバから接続されるかわかったものではない。
+その用心のために、コマンドラインか、
+クライアントにはB<L<serverhost|/item_serverhost>> キーワードか、
+最初のトンネル仕様の一部として、サーバアドレスを指定することができるようになっている。
+クライアントは(実際の接続が)これと一致するか確認して、接続の正当性を判断する。
-(ÌõÃí¡§Ä̾ï¤Ï
+(訳注:通常は
-¥½¡¼¥¹(1)¢ª¥¯¥é¥¤¥¢¥ó¥È(2)¢ª¥µ¡¼¥Ð(3)¢ª¥¿¡¼¥²¥Ã¥È
+ソース(1)→クライアント(2)→サーバ(3)→ターゲット
-¤È¤¤¤¦Êý¸þ¤È½çÈÖ¤Çconnect(ÀܳÍ×µá)¤¬¹Ô¤Ê¤ï¤ì¤ë¤¬¡¢¥ê¥Ã¥¹¥ó¥â¡¼¥É¤Ç¤Ï
+という方向と順番でconnect(接続要求)が行なわれるが、リッスンモードでは
-¥½¡¼¥¹(2)¢ª¥¯¥é¥¤¥¢¥ó¥È¢«(1)¥µ¡¼¥Ð(3)¢ª¥¿¡¼¥²¥Ã¥È
+ソース(2)→クライアント←(1)サーバ(3)→ターゲット
-¤È¤Ê¤ë¡£¤Ä¤Þ¤ê¡¢¥½¡¼¥¹¤«¤é¤ÎÀܳ¤ÎÁ°¤Ë¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÀܳ¤Ë¹Ô¤¯)
+となる。つまり、ソースからの接続の前にサーバからクライアントに接続に行く)
=begin JM-comment
=end JM-comment
-Æüì¤Ê¾ì¹ç¤È¤·¤Æ¡¢¤â¤·¥µ¡¼¥Ð¤Î̾Á°¤¬"C<*>"¤Ê¤é¤Ð¡¢
-¤É¤Î¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤«¤é¤ÎÀܳ¤â¼õ¤±¤Ä¤±¤é¤ì¤ë¡£
-¥µ¡¼¥Ð¤«¤é¤ÎÀܳ¤ò³Î¼Â¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-L<identity checking|Identity Checking>µ¡Ç½¤òÊ»ÍѤ¹¤ë¤³¤È¤ò¤ª¤¹¤¹¤á¤¹¤ë¡£
+特殊な場合として、もしサーバの名前が"C<*>"ならば、
+どのサーバアドレスからの接続も受けつけられる。
+サーバからの接続を確実にするためには、
+L<identity checking|Identity Checking>機能を併用することをおすすめする。
=begin JM-comment
=end JM-comment
-¤â¤·°ìÄê»þ´ÖÆâ¤Ë¥µ¡¼¥Ð¤«¤é¤ÎÀܳ¤¬¤Ê¤¤¤È¡¢
-¥½¡¼¥¹¥·¥¹¥Æ¥à¤Ø¤ÎÀܳ¤ÏÊĤ¸¤é¤ì¥×¥í¥»¥¹¤ÏÃæÃǤ¹¤ë¡£
-¤³¤ÎÂÔ¤Á»þ´Ö¤ÏB<L<connecttimeout|/item_connecttimeout>>¥¡¼¥ï¡¼¥É¤ÇÀ©¸æ¤Ç¤¤ë¡£
-´ûÄêÃͤÏ300ÉäǤ¢¤ë¡£
+もし一定時間内にサーバからの接続がないと、
+ソースシステムへの接続は閉じられプロセスは中断する。
+この待ち時間はB<L<connecttimeout|/item_connecttimeout>>キーワードで制御できる。
+既定値は300秒である。
=begin JM-comment
=end JM-comment
-¤³¤Î¥×¥í¥»¥¹¤Î¥µ¡¼¥Ð¦¤ÎÆ°¤¤Ë¤Ä¤¤¤Æ¤ÏB<L<clienthost|/item_clienthost>>»²¾È¤Î¤³¤È¡£
+このプロセスのサーバ側の動きについてはB<L<clienthost|/item_clienthost>>参照のこと。
=item B<localsource>
=end JM-comment
-¤³¤ÎÃͤ¬B<true>¤À¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤ÇȯÀ¸¤·¤¿Àܳ¤À¤±¤ò¼õ¤±¤Ä¤±¤ë¡£
-Ê̤θÀÍդǸÀ¤¦¤È¡¢¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤¬Æ±°ì¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¡£
+この値がB<true>だと、クライアントはローカルマシンで発生した接続だけを受けつける。
+別の言葉で言うと、「ソース」と「クライアント」が同一のシステムである必要がある。
=begin JM-comment
=end JM-comment
-¤³¤ÎÃͤϥǥե©¥ë¥È¤ÏB<false>¤Ç¤¢¤ê¡¢¤É¤Î¥Þ¥·¥ó¤¬¥½¡¼¥¹¤È¤Ê¤Ã¤Æ¤âÀܳ¤ò¼õ¤±¤Ä¤±¤ë¡£
+この値はデフォルトはB<false>であり、どのマシンがソースとなっても接続を受けつける。
-=item B<multiuse> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-m>)
+=item B<multiuse> (コマンドラインでは B<-m>)
=begin JM-comment
=end JM-comment
-¤³¤ÎÃͤ¬B<true>¤À¤È(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤½¤¦¤Ê¤Ã¤Æ¤¤¤ë¤¬)¡¢
-B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÏÊ£¿ô¤ÎÀܳÍ×µá(Ʊ»þʹÔŪ¤ËȯÀ¸¤·¤Æ¤â¤è¤¤)¤ò°·¤¤¡¢
-Í×µá¤Ò¤È¤Ä¤Ò¤È¤Ä¤ËÂФ·¤Æ¡¢¿·¤·¤¤¥È¥ó¥Í¥ë¤òÀßÃÖ¤¹¤ë¡£
-Ãͤ¬B<false>¤À¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥·¥ó¥°¥ë¥æ¡¼¥¹¥â¡¼¥É¤ÇÆ°ºî¤·¡¢
-ºÇ½é¤ÎÀܳ¤¬ÊĤ¸¤é¤ì¤¿Ä¾¸å¤Ë½ªÎ»¤¹¤ë¡£
+この値がB<true>だと(デフォルトではそうなっているが)、
+B<Zebedee>のクライアントは複数の接続要求(同時並行的に発生してもよい)を扱い、
+要求ひとつひとつに対して、新しいトンネルを設置する。
+値がB<false>だと、クライアントはシングルユースモードで動作し、
+最初の接続が閉じられた直後に終了する。
=begin JM-comment
=end JM-comment
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎB<-m>¥ª¥×¥·¥ç¥ó¤Ï¤³¤ì¤òB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈÅù¤·¤¤¡£
-¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎB<Zebedee>¤Ï¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤À¤¬
-(¤À¤«¤é¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ëɬÍפϤʤ¤¤¬)¡¢
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë»Ä¤µ¤ì¤Æ¤¤¤ë¡£
+コマンドラインのB<-m>オプションはこれをB<true>に設定するのと等しい。
+現在のバージョンのB<Zebedee>はこれがデフォルトだが
+(だから、このオプションを設定する必要はないが)、
+後方互換性のために残されている。
=begin JM-comment
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤Î¥Ý¡¼¥È¤òÂÔ¤Á¼õ¤±¤ë¾ì¹ç¤Ï¡¢
-¤¿¤È¤¨¤³¤ì¤¬B<false>¤ËÀßÄꤵ¤ì¤Æ¤¤¤Æ¤â¡¢
-¼«Æ°Åª¤Ë ¥Þ¥ë¥Á¥æ¡¼¥¹¥â¡¼¥É¤Ë¤Ê¤ë¡£
-(B<L<clientport|/item_clientport>> »²¾È)
+クライアントが複数のポートを待ち受ける場合は、
+たとえこれがB<false>に設定されていても、
+自動的に マルチユースモードになる。
+(B<L<clientport|/item_clientport>> 参照)
=item B<serverhost>
=end JM-comment
-¤³¤ì¤Ï¥È¥ó¥Í¥ë¤òÀܳ¤·¤è¤¦¤È¤¹¤ëB<Zebedee>¥µ¡¼¥Ð¤¬²ÔƯ¤·¤Æ¤¤¤ë¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤Ç¤¢¤ë¡£
-¥Û¥¹¥È¤Î̾¾Î¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Ï¤Ê¤¤¤Î¤Ç¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤«¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¤É¤Á¤é¤«¤Ç¡¢
-ɬ¤º¤³¤ì¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+これはトンネルを接続しようとするB<Zebedee>サーバが稼働しているリモートホストの名前である。
+ホストの名称にはデフォルトはないので、
+設定ファイルかコマンドラインのどちらかで、
+必ずこれを指定しなければならない。
-¥µ¡¼¥Ð¼çƳ¤ÎÀܳ¤ò¹Ô¤Ê¤¦»þ¤Î¤³¤ÎÃͤΰÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-B<L<listenmode|/item_listenmode>>»²¾È¡£
+サーバ主導の接続を行なう時のこの値の意味については、
+B<L<listenmode|/item_listenmode>>参照。
=begin JM-comment
=end JM-comment
-2.0.0¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸°ÕÌ£¤ÇB<remotehost>¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤âǧ¼±¤µ¤ì¤ë¡£
+2.0.0より前のバージョンでは、同じ意味でB<remotehost>というキーワードが使用されていた。
+後方互換性のために、このキーワードは現バージョンでも認識される。
=item B<tunnel>
=end JM-comment
-¤³¤ì¤Ï¡¢¥³¥í¥ó¤Çʬ¤±¤é¤ì¤¿3¤Ä¤Î¥Ñ¡¼¥È¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¢¤ë¡£
-Î㤨¤Ð
+これは、コロンで分けられた3つのパートからなる文字列である。
+例えば
10000-10002:targethost:echo,telnet,daytime
=end JM-comment
-ºÇ½é¤ÎÉôʬ¤ÏB<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£
-ÆóÈÖÌܤ¬¥È¥ó¥Í¥ë¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¸þ¤«¤¦¤Ù¤¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Î̾Á°¤Ç¤¢¤ë¡£
-ºÇ¸å¤Î¥Ñ¡¼¥È¤Ï¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤Î¥ê¥¹¥È¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬ÂԤĥݡ¼¥È¤Î¥ê¥¹¥È¤ÈÂбþ¤·¤Æ¤¤¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤È¥¿¡¼¥²¥Ã¥È¤Î¥Ý¡¼¥È¤Î¿ô¤Ï°ìÃפ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+最初の部分はB<Zebedee>クライアントが接続を待つポート番号のリストである。
+二番目がトンネルされたデータが向かうべきターゲットホストの名前である。
+最後のパートはターゲットポートのリストであり、
+これはクライアントが待つポートのリストと対応している。
+クライアントとターゲットのポートの数は一致していなければならない。
=begin JM-comment
=end JM-comment
-Æüì¤Ê¾ì¹ç¤È¤·¤Æ¡¢
-¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤¬¤Ò¤È¤Ä¤À¤±¤Î¥È¥ó¥Í¥ë»ÅÍͤ¬Ã±ÆȤÇÍ¿¤¨¤é¤ì¤ë»þ¤Ë¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ý¡¼¥È¥ê¥¹¥È(¤È¶èÀÚ¤ê¤Î¥³¥í¥ó)¤Ï¾Ê¤¤¤Æ¤â¤è¤¤¡£
-¥¯¥é¥¤¥¢¥ó¥È¥Ý¡¼¥È¤Ï¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë
-(¤½¤·¤Æ¡¢¤½¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤¬Ã¼Ëö¤Ëɽ¼¨¤µ¤ì¤ë)
-¤³¤ì¤Ï¸åÊý¸ß´¹À¤Î¤¿¤á¤ÈB<L<command|/item_command>>¤Î»ÈÍÑ»þ¤Î¤¿¤á¤Ëµö¤µ
-¤ì¤Æ¤¤¤ë¡£
-¤â¤·¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤â¾Êά¤µ¤ì¤¿¤é¡¢´ûÄêÃͤȤ·¤ÆB<telnet>(¥Ý¡¼¥È23)¤Ë¤Ê¤ë¡£
+特殊な場合として、
+ターゲットポートがひとつだけのトンネル仕様が単独で与えられる時には、
+クライアントのポートリスト(と区切りのコロン)は省いてもよい。
+クライアントポートは自動的に割り当てられる
+(そして、そのポート番号を示すメッセージが端末に表示される)
+これは後方互換性のためとB<L<command|/item_command>>の使用時のために許さ
+れている。
+もしターゲットポートも省略されたら、既定値としてB<telnet>(ポート23)になる。
=begin JM-comment
=end JM-comment
-L<Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È(Multiple Destinations)>¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë¡¢
-B<Zebedee>¥µ¡¼¥Ð¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤â
-B<L<serverhost|/item_serverhost>>¥¡¼¥ï¡¼¥É¤Ç¤â»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤é¡¢
-ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥È¥ó¥Í¥ë»ÅÍͤ«¤é¼è¤é¤ì¤ë¡£
+L<複数のターゲット(Multiple Destinations)>で述べたように、
+B<Zebedee>サーバがコマンドラインの最初の引数としても
+B<L<serverhost|/item_serverhost>>キーワードでも指定されなかったら、
+最初に見つかったトンネル仕様から取られる。
=begin JM-comment
=end JM-comment
-¥È¥ó¥Í¥ë»ÅÍͤÎÊѧŪ¤Ê·Á¼°¤¬¤â¤¦¤Ò¤È¤Ä¤À¤±¤¢¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï"C<*>"¤ÇÃÖ¤¤«¤¨¤é¤ì¤ë¡£
-¤³¤Î¥ï¥¤¥ë¥É¥«¡¼¥É·Á¼°¤Ï¥ê¥Ã¥¹¥ó¥â¡¼¥É(¾ÜºÙ¤ÏB<L<listenmode|/item_listenmode>> »²¾È)¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤¹¤ë»þ¤È¡¢
-¥µ¡¼¥Ð¡¼¤Î¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¤ËÂФ·¤Æ¥È¥ó¥Í¥ëÀܳ¤ò¹Ô¤Ê¤¤¤¿¤¤»þ¤Ë»ÈÍѤµ¤ì¤ë¡£
-¸å¼Ô¤Ï¡¢¤É¤Î¥µ¡¼¥Ð¤Ë¤âŬÍѤǤ¤ë¤è¤¦¤Ê¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ò½ñ¤¤¿¤¤»þ¤Ë»ÈÍѤµ¤ì¤ë¡£
-Î㤨¤Ð¡¢¤³¤Î¤è¤¦¤Ë¤Ê¤ë¡£
+トンネル仕様の変則的な形式がもうひとつだけある。
+この場合はターゲットホストは"C<*>"で置きかえられる。
+このワイルドカード形式はリッスンモード(詳細はB<L<listenmode|/item_listenmode>> 参照)でクライアントを起動する時と、
+サーバーのデフォルトターゲットに対してトンネル接続を行ないたい時に使用される。
+後者は、どのサーバにも適用できるようなコンフィギュレーションファイルを書きたい時に使用される。
+例えば、このようになる。
server false
tunnel 10000:*:daytime
=end JM-comment
-¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ê·Á¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¥µ¡¼¥Ð¤ËÂФ·¤Æ
-(¤½¤ì¤¬¤É¤Î¥Û¥¹¥È¤Ç¤¢¤ì)10000ÈÖ¡¢20000ÈÖ¡¢30000È֤Υݡ¼¥È¤Ë¥È¥ó¥Í¥ë¤òºîÀ®¤¹¤ë¡£
+これは、次のような形でコマンドラインで指定されたサーバに対して
+(それがどのホストであれ)10000番、20000番、30000番のポートにトンネルを作成する。
zebedee -f configfile serverhost
-=head3 ¥µ¡¼¥ÐÀìÍÑ¥¡¼¥ï¡¼¥É(Server-Only Keywords)
+=head3 サーバ専用キーワード(Server-Only Keywords)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥µ¡¼¥Ð¤È¤·¤ÆÆ°ºî¤¹¤ë»þ¤ËŬÍѤ¹¤ë¡£
+以下のキーワードはサーバとして動作する時に適用する。
=over 4
=end JM-comment
-B<clienthost>¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢
-¥µ¡¼¥Ð¤Ï¤¹¤°¤Ë¤½¤Î¥Û¥¹¥È(¤ÎB<L<serverport|/item_serverport>>¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È)¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¡£
-¤½¤Î¥¢¥É¥ì¥¹¤Ç¤Ï¡¢¥ê¥Ã¥¹¥ó¥â¡¼¥É(B<L<listenmode|/item_listenmode>>»²¾È)¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬µ¯Æ°¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤Ò¤È¤¿¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Ø¤ÎÀܳ¤¬³ÎΩ¤·¤¿¤é¡¢¥×¥í¥È¥³¥ë¤ÏÄ̾ï¤É¤ª¤ê¤Ë¾ðÊó¸ò´¹¤ò¹Ô¤Ê¤¦¡£
+B<clienthost>が指定されていると、
+サーバはすぐにそのホスト(のB<L<serverport|/item_serverport>>で指定されたポート)に接続しようとする。
+そのアドレスでは、リッスンモード(B<L<listenmode|/item_listenmode>>参照)のクライアントが起動されていなければならない。
+ひとたびクライアントへの接続が確立したら、プロトコルは通常どおりに情報交換を行なう。
=begin JM-comment
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤ÆÀܳ¤¬¼õ¤±¤Ä¤±¤é¤ì¤ë¤¿¤Ó¤Ë¡¢
-¥µ¡¼¥Ð¤ÏÈ¿ÂЦ¤ÎÀܳ¤ò»î¤ß¤ë¡£
-Àܳ¤¬°ìÄê¤Î»þ´ÖÆâ¤Ë¼õ¤±¤Ä¤±¤é¤ì¤Ê¤¤¤È¡¢
-(¥¯¥é¥¤¥¢¥ó¥È¦¤ÎÀܳ¤ò)ÊĤ¸¤Æ¥µ¡¼¥Ð¤Ï½ªÎ»¤·¸½ºß¤Î¥¢¥¯¥Æ¥£¥Ö¤Ê¥È¥ó¥Í¥ë¤ÏÁ´¤ÆÊĤ¸¤é¤ì¤ë¡£
-¤³¤ÎÂÔ¤Á»þ´Ö¤ÏB<L<connecttimeout|/item_connecttimeout>>¥¡¼¥ï¡¼¥É¤ÇÀ©¸æ¤µ¤ì¤ë¡£
-´ûÄêÃͤÏ300ÉäǤ¢¤ë¡£
+クライアントによって接続が受けつけられるたびに、
+サーバは反対側の接続を試みる。
+接続が一定の時間内に受けつけられないと、
+(クライアント側の接続を)閉じてサーバは終了し現在のアクティブなトンネルは全て閉じられる。
+この待ち時間はB<L<connecttimeout|/item_connecttimeout>>キーワードで制御される。
+既定値は300秒である。
=begin JM-comment
=end JM-comment
-B<Zebedee>¼«¿È¤Ï¡¢
-¡ÖµÕ¸þ¤¥È¥ó¥Í¥ë¡×¤Î¥»¥Ã¥È¥¢¥Ã¥×¤Î¤¿¤á¤Ë¡¢
-¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤ò¶¨Ä´¤·¤Æµ¯Æ°¤µ¤»¤ë¼êÃʤÏÄ󶡤·¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤µ¤ì¤¿¤¤¡£
-¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤Ê¤ó¤é¤«¤Î¡ÖÂÓ°è³°¡×¤Î¥á¥«¥Ë¥º¥à¤¬É¬ÍפǤ¢¤ë¡£
+B<Zebedee>自身は、
+「逆向きトンネル」のセットアップのために、
+サーバーとクライアントを協調して起動させる手段は提供していないことに注意されたい。
+そのためには、なんらかの「帯域外」のメカニズムが必要である。
=item B<redirect> (command-line B<-r>)
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¥µ¡¼¥Ð¤¬¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¥Ý¡¼¥È¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£
-(Îã "C<telnet,ftp, 5900-5910>")
-¤â¤· B<redirect> ¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢
-¤É¤Î¥Ý¡¼¥È¤Ø¤Î¥È¥ó¥Í¥ëÀܳÍ×µá¤â¼õ¤±ÉÕ¤±¤é¤ì¤ë¡£
-¤³¤ÎÊýË¡(B<redirect>¤ò»ØÄꤷ¤Ê¤¤¤³¤È)¤Ï¥Æ¥¹¥ÈÃæ¤Ë¤ÏÊØÍø¤À¤¬¡¢
-¥»¥¥å¥ê¥Æ¥£¡¼Ì̤ǤΥꥹ¥¯¤¬¤¢¤ë¤Î¤Ç¡¢
-¤â¤·²Äǽ¤Ê¤é¤Ð(¤³¤Î¥¡¼¥ï¡¼¥É¤Ç)ÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤Ù¤¤Ç¤¢¤ë¡£
+このキーワードはサーバがリダイレクトするポートのリストである。
+(例 "C<telnet,ftp, 5900-5910>")
+もし B<redirect> キーワードが指定されない場合は、
+どのポートへのトンネル接続要求も受け付けられる。
+この方法(B<redirect>を指定しないこと)はテスト中には便利だが、
+セキュリティー面でのリスクがあるので、
+もし可能ならば(このキーワードで)明示的に許可するポートを指定すべきである。
=begin JM-comment
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É(¤Þ¤¿¤ÏB<-r>¥ª¥×¥·¥ç¥ó)¤ÏÊ£¿ô»ØÄꤵ¤ì¤Æ¤â¤è¤¤¡£¤³¤Î¾ì¹ç¤Ï¡¢
-¤½¤Î¤¦¤Á¤É¤ì¤«¤Î¥Ý¡¼¥È¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¥ê¥À¥¤¥ì¥¯¥È¤¬µö²Ä¤µ¤ì¤ë¡£
+このキーワード(またはB<-r>オプション)は複数指定されてもよい。この場合は、
+そのうちどれかのポートに指定されていればリダイレクトが許可される。
=back
-=head3 °µ½Ì¤È°Å¹æ²½´ØÏ¢¤Î¥¡¼¥ï¡¼¥É(Compression and Encryption Keywords)
+=head3 圧縮と暗号化関連のキーワード(Compression and Encryption Keywords)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¡¢¥È¥ó¥Í¥ëÆâ¤òή¤ì¤ë¥Ç¡¼¥¿¤Î°µ½Ì¤È°Å¹æ²½¤òÀ©¸æ¤¹¤ë¡£
-¤³¤ì¤é¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤É¤Á¤é¤Ç¤â»ÈÍѤµ¤ì¤ë¡£
+以下のキーワードは、トンネル内を流れるデータの圧縮と暗号化を制御する。
+これらは、クライアントとサーバどちらでも使用される。
=over 4
-=item B<compression> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-z>)
+=item B<compression> (コマンドラインでは B<-z>)
=begin JM-comment
=end JM-comment
-B<Zebedee> ¤Ï°µ½ÌÊý¼°¤È¤·¤Æ B<zlib> ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡£
-¤½¤·¤Æ¡¢¤â¤·¥³¥ó¥Ñ¥¤¥ë»þ¤Ë͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐB<bzip2>¤â¥µ¥Ý¡¼¥È¤¹¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ç°µ½Ì¤ÎÊý¼°¤È°µ½Ì¥ì¥Ù¥ë¤ò»ØÄꤹ¤ë¡£
-¤³¤ÎÃͤηÁ¼°¤Ï I<type:level> ¤Ç¤¢¤ë¡£I<type> ¤Ï
-"C<zlib>" ¤È "C<bzip2>"¤Î¤É¤Á¤é¤«¡¢I<level> ¤Ï0¤«¤é9¤ÎÀ°¿ô¤Ç¤¢¤ë¡£
-¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ê¤·¤ÇÀ°¿ô¤À¤±¤Î¾ì¹ç¤Ï¡¢B<zlib>¤¬ÁªÂò¤µ¤ì¤ë¡£
+B<Zebedee> は圧縮方式として B<zlib> をサポートする。
+そして、もしコンパイル時に有効になっていればB<bzip2>もサポートする。
+このキーワードで圧縮の方式と圧縮レベルを指定する。
+この値の形式は I<type:level> である。I<type> は
+"C<zlib>" と "C<bzip2>"のどちらか、I<level> は0から9の整数である。
+プレフィックスなしで整数だけの場合は、B<zlib>が選択される。
=begin JM-comment
=end JM-comment
-I<level> ¤Ï»ÈÍѲÄǽ¤ÊºÇÂç¤Î°µ½Ì¥ì¥Ù¥ë¤òÀßÄꤹ¤ë
-(9¤¬ºÇÂç¤Ç0¤¬°µ½Ì¤Ê¤·)¡£
-¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤ë°µ½Ì¥ì¥Ù¥ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤ÎÃͤȥµ¡¼¥Ð¤ÎÃͤκǾ®ÃͤǤ¢¤ë¡£
-¤³¤ÎÌÜŪ¤Ç¤Ï¡¢(0°Ê³°¤Î)B<bzip2>¥ì¥Ù¥ë¤Ï¤¤¤«¤Ê¤ëB<zlib>¥ì¥Ù¥ë¤ÎÃͤè¤ê¾å¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤ë¡£
-½¾¤Ã¤Æ¡¢¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¤¤¤º¤ì¤«¤¬B<bzip2>¥ì¥Ù¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-¥×¥í¥È¥³¥ë¤ÏB<zlib>¤òÁªÂò¤¹¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Î°µ½Ì¥ì¥Ù¥ë¤Ï"C<zlib:6>"¤Ç¤¢¤ë¡£
+I<level> は使用可能な最大の圧縮レベルを設定する
+(9が最大で0が圧縮なし)。
+実際に使用される圧縮レベルは、クライアントの値とサーバの値の最小値である。
+この目的では、(0以外の)B<bzip2>レベルはいかなるB<zlib>レベルの値より上であるとみなされる。
+従って、サーバとクライアントのいずれかがB<bzip2>レベルをサポートしていなければ、
+プロトコルはB<zlib>を選択する。
+デフォルトの圧縮レベルは"C<zlib:6>"である。
=begin JM-comment
=end JM-comment
-B<bzip2>°µ½Ì¤ÎÆ°ºîÊý¼°¤È¥Ð¥Ã¥Õ¥¡¡¼¥µ¥¤¥º¤Î¤¿¤á¤Ë¡¢
-B<bzip2>¤ÏϢ³Ū¤Ê¥Ç¡¼¥¿¤Î¥¹¥È¥ê¡¼¥à¤¬Î®¤ì¤ë¾ì¹ç¤Ë¤À¤±»È¤¦°ÕÌ£¤¬¤¢¤ë¡£
-Ä̾ï¤ÎB<telnet>¥»¥Ã¥·¥ç¥ó¤Î¤è¤¦¤Ê¡¢¾®¤µ¤ÊžÁ÷¤Ç¤ÏB<zlib>¤ÎÊý¤¬Àǽ¤¬¤è¤¤¡£
-¤É¤Á¤é¤¬¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ¤è¤¯Æ¯¤¯¤«¤Ï¡¢¼Â¸³¤·¤Æ¤ß¤Ê¤¤¤È¤ï¤«¤é¤Ê¤¤¤À¤í¤¦¡£
-²Ã¤¨¤Æ¡¢¥Ð¥Ã¥Õ¥¡¡¼¥µ¥¤¥º¤¬¾®¤µ¤¤¤Î¤Ç¡¢B<bzip2>¤Î1¤è¤ê¾å¤«¤é¤ÏÆÀ¤ë¤â¤Î¤¬¤Ê¤¤¡£
-B<Zebedee>¤Ï¤³¤ì¤è¤ê¾å¤ÎÃͤϤ³¤ÎÃͤËÊѹ¹¤¹¤ë¡£
+B<bzip2>圧縮の動作方式とバッファーサイズのために、
+B<bzip2>は連続的なデータのストリームが流れる場合にだけ使う意味がある。
+通常のB<telnet>セッションのような、小さな転送ではB<zlib>の方が性能がよい。
+どちらがあなたにとってよく働くかは、実験してみないとわからないだろう。
+加えて、バッファーサイズが小さいので、B<bzip2>の1より上からは得るものがない。
+B<Zebedee>はこれより上の値はこの値に変更する。
=begin JM-comment
=end JM-comment
-verbosity level¤ò2°Ê¾å¤Ë¤¹¤ì¤Ð¡¢
-Àܳ¤¬½ªÎ»¤·¤¿»þ¤Ë´ðËÜŪ¤ÊÅý·×Ãͤ¬¥×¥ê¥ó¥È¥¢¥¦¥È¤µ¤ì¤ë¤Î¤Ç¡¢
-¤É¤ì¤À¤±°µ½Ì¤¬Í¸ú¤À¤Ã¤¿¤«Àµ³Î¤ËÃΤ뤳¤È¤¬¤Ç¤¤ë¡£
-Î㤨¤Ð¡¢
+verbosity levelを2以上にすれば、
+接続が終了した時に基本的な統計値がプリントアウトされるので、
+どれだけ圧縮が有効だったか正確に知ることができる。
+例えば、
zebedee(232/210): read 166 bytes (265 expanded) in 3 messages
zebedee(232/210): wrote 20969 bytes (30499 expanded) in 247 messages
=end JM-comment
-¤³¤ì¤Ï¡¢Diffie-Hellman¥¡¼¸ò´¹¤Î"generator"¤Ç¡¢16¿Ê¿ô¤Îʸ»úÎó¤Ç»ØÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï"2"¤Ç¤¢¤ë¡£
-¤Ê¤ó¤Î¤³¤È¤«¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢
-²¼¼ê¤Ë¤¤¤¸¤é¤Ê¤¤Êý¤¬¤¤¤¤¤À¤í¤¦¡£
+これは、Diffie-Hellmanキー交換の"generator"で、16進数の文字列で指定する。
+デフォルトは"2"である。
+なんのことかわからなければ、
+下手にいじらない方がいいだろう。
=item B<keygencommand>
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ë¤È¡¢
-¤³¤ÎÃÍ(¥³¥Þ¥ó¥Éʸ»úÎó)¤¬ÈëÌ©¸°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-¤½¤Î¥³¥Þ¥ó¥É¤Ïɸ½à½ÐÎϤË1¹Ô¤Î16¿Ê¿ô¤ò½ÐÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¤³¤Î¹Ô¤Ï¾¯¤¯¤È¤â10·å¤Î16¿Ê¿ô¤Ç¤¢¤ë¤³¤È¡£
+このキーワードが指定されると、
+この値(コマンド文字列)が秘密鍵を生成するために使用される。
+そのコマンドは標準出力に1行の16進数を出力しなくてはならない。
+この行は少くとも10桁の16進数であること。
=item B<keygenlevel>
=end JM-comment
-¤³¤ì¤Ï0¤È2¤Î´Ö¤ÎÀ°¿ô¤Ç¡¢B<Zebedee>¤Ç»ÈÍѤ¹¤ëÈëÌ©¸°À¸À®¤Î¶¯ÅÙ¤ò·èÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï2(ºÇ¶¯)¤Ç¤¢¤ë¡£Àܳ»þ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ÂѤ¨¤¬¤¿¤¤¾ì¹ç°Ê³°¤Ë¤Ï¡¢
-°ìÈÌŪ¤Ë¤Ï¤³¤ì¤òÊѹ¹¤·¤Ê¤¤¤Û¤¦¤¬¤è¤¤¡£
+これは0と2の間の整数で、B<Zebedee>で使用する秘密鍵生成の強度を決定する。
+デフォルトは2(最強)である。接続時のパフォーマンスが耐えがたい場合以外には、
+一般的にはこれを変更しないほうがよい。
=begin JM-comment
=end JM-comment
-´Êñ¤Ë¸À¤Ã¤Æ¡¢UNXI·Ï¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥ì¥Ù¥ë2¤Î¥¡¼À¸À®¤Î¥á¥«¥Ë¥º¥à¤Ï¡¢
-²Äǽ¤Ç¤¢¤ì¤Ð C</dev/random> ¤ò»ÈÍѤ¹¤ë¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢¤¢¤Þ¤ê¤Ë¤â¿¤¯¤ÎÍ×µá¤òϢ³Ū¤Ë¤³¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¹Ô¤¦¤È¡¢
-¥«¡¼¥Í¥ë¤¬É¬ÍפÊ"¥¨¥ó¥È¥í¥Ô¡¼"¤ò¤«¤½¸¤á¤ë´Ö¡¢
-¥×¥í¥»¥¹¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë(¤½¤ì¤¬¿ôÉäˤʤ뤳¤È¤â¤¢¤ë)¡£
-C</dev/random>¤¬»ÈÍѤǤ¤Ê¤¤¾ì¹ç¤ä
-¥ì¥Ù¥ë¤¬1¤Ë¥»¥Ã¥È¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-C</proc>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¸½ºß¤ÎÆâÍƤ¬(¤â¤·¤¢¤ì¤Ð)»ÈÍѤµ¤ì¤ë¡£
-¥ì¥Ù¥ë0¤Ç¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Ë¤¢¤ë¾ðÊó¤À¤±¤¬»ÈÍѤµ¤ì¤ë¡£
+簡単に言って、UNXI系のシステムではレベル2のキー生成のメカニズムは、
+可能であれば C</dev/random> を使用する。
+しかしながら、あまりにも多くの要求を連続的にこのデバイスに対して行うと、
+カーネルが必要な"エントロピー"をかき集める間、
+プロセスがブロックされる可能性がある(それが数秒になることもある)。
+C</dev/random>が使用できない場合や
+レベルが1にセットされた場合は、
+C</proc>ファイルシステムの現在の内容が(もしあれば)使用される。
+レベル0では現在のプロセスにある情報だけが使用される。
=begin JM-comment
=end JM-comment
-Windows¾å¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¸½ºß¤Î¤È¤³¤í¡¢
-¥¡¼À¸À®¶¯Å٤Υì¥Ù¥ë¤´¤È¤Î°ã¤¤¤Ï¤Ê¤¯¡¢
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¼ÂºÝ¤Ë¤Ï̵»ë¤µ¤ì¤ë¡£
+Windows上のシステムでは、現在のところ、
+キー生成強度のレベルごとの違いはなく、
+このキーワードは実際には無視される。
-=item B<keylength> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-k>)
+=item B<keylength> (コマンドラインでは B<-k>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¡¢Blowfish°Å¹æ²½¤Î¥¡¼¤Î¥Ó¥Ã¥ÈĹ¤ÎºÇÂçÃͤÎÀ°¿ô¤Ç¤¢¤ë¡£
-¤³¤ÎÃͤÏ4¤«¤é576¤Î´Ö¤Î4¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-»ÈÍѤµ¤ì¤ë¥¡¼Ä¹¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ÎÃͤȥµ¡¼¥Ð¤ÎÃͤκǾ®Ãͤˤʤ롣
-(B<L<minkeylength|/item_minkeylength>>»²¾È)
+これは、Blowfish暗号化のキーのビット長の最大値の整数である。
+この値は4から576の間の4の倍数でなければならない。
+使用されるキー長はクライアントの値とサーバの値の最小値になる。
+(B<L<minkeylength|/item_minkeylength>>参照)
-¥Ç¥Õ¥©¥ë¥È¤Ï128¤Ç¤¢¤ë¡£
-ÆÃÊ̤ʥ±¡¼¥¹¤È¤·¤Æ¡¢¤³¤ÎÃͤ¬0¤ËÀßÄꤵ¤ì¤ë¤È¡¢
-¥¡¼¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤È°Å¹æ²½¤Ï̵¸ú¤Ë¤µ¤ì¤ë¡£
+デフォルトは128である。
+特別なケースとして、この値が0に設定されると、
+キーのネゴシエーションと暗号化は無効にされる。
=item B<keylifetime>
=end JM-comment
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤ¬0°Ê³°¤ËÀßÄꤵ¤ì¤ë¤È¡¢¤³¤ì°Ê¹ß¤ÎÀܳ¤Ë¤ª¤¤¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¥»¥Ã¥·¥ç¥ó¥¡¼¤ÎƳ½Ð¤Î¤¿¤á¤Ë¡¢°ÊÁ°ÀßÄꤵ¤ì¤¿shared secret key¤ò
-ºÆÍøÍѤ¹¤ë¤è¤¦¤ËÍ׵᤹¤ë¡£
-¤Ä¤Þ¤êB<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-ºÇ½é¤ÎÀܳ¤Ë¤ª¤¤¤Æ¤Î¤ß¥¡¼¸ò´¹¤ÎÂÐÏäòÁ´¤Æ¹Ô¤Ê¤¦¡£
-¤½¤ì°Ê¹ß¤ÎÀܳ¤Ç¤Ï¡¢¥¡¼¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤ë¤Þ¤Ç¤Ï¡¢Æ±¤¸secret key¤¬ºÆÍøÍѤµ¤ì¡¢
-¤³¤Î¥¡¼¤«¤ésession key¤¬Æ³½Ð¤µ¤ì¤ë¡£
-¥¡¼¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤ë¤È¡¢¼«Æ°Åª¤Ë¿·¤·¤¤¥¡¼¤Î¸ò´¹¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
+このパラメータの値が0以外に設定されると、これ以降の接続において、
+クライアントはセッションキーの導出のために、以前設定されたshared secret keyを
+再利用するように要求する。
+つまりB<Zebedee>のクライアントとサーバは、
+最初の接続においてのみキー交換の対話を全て行なう。
+それ以降の接続では、キーの有効期限が切れるまでは、同じsecret keyが再利用され、
+このキーからsession keyが導出される。
+キーの有効期限が切れると、自動的に新しいキーの交換が行なわれる。
=begin JM-comment
=end JM-comment
-¤½¤·¤Æ¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤¬¡¢shared secret key¤¬Í¸ú¤Ê´ü´Ö¤ò»ØÄꤹ¤ë¡£
-¤³¤ì¤Ï¡¢´û¤ËÀܳ¤µ¤ì¤¿Àܳ¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¤Ç¡¢¿·¤·¤¤Àܳ¤À¤±¤Ë±Æ¶Á¤¹¤ë¡£
+そして、このキーワードが、shared secret keyが有効な期間を指定する。
+これは、既に接続された接続には影響しないで、新しい接続だけに影響する。
=begin JM-comment
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤÎñ°Ì¤ÏÉäǤ¢¤ê¡¢65535(Ìó18»þ´Ö)°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï3600ÉÃ(1»þ´Ö)¤Ç¤¢¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤò0¤ËÀßÄꤹ¤ë¤È¡¢¥¡¼¤ÎºÆÍøÍѤϹԤʤï¤ì¤Ê¤¯¤Ê¤ê¡¢
-Àܳ¤ÎÅ٤ˡ¢´°Á´¤Êshared key¤Î¸ò´¹¼ê³¤¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
-¤Ä¤Þ¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤â¥µ¡¼¥Ð¤âËè²óÈëÌ©¸°¤ò¿·¤·¤¯À¸À®¤¹¤ë¤È¤ß¤Ê¤¹¡£
-¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë¿Âç¤Ê±Æ¶Á¤¬¤¢¤ë¤Î¤Ç¡¢
-Êм¹¶¸Åª¤Ë¹âÅ٤ʰÂÁ´À¤òɬÍפȤ¹¤ë¾ì¹ç°Ê³°¤Ë¤Ï´«¤á¤é¤ì¤Ê¤¤¡£
+このキーワードの値の単位は秒であり、65535(約18時間)以下でなければならない。
+デフォルトは3600秒(1時間)である。
+このキーワードの値を0に設定すると、キーの再利用は行なわれなくなり、
+接続の度に、完全なshared keyの交換手続きが行なわれる。
+つまり、クライアントもサーバも毎回秘密鍵を新しく生成するとみなす。
+ただし、この方法はパフォーマンスに多大な影響があるので、
+偏執狂的に高度な安全性を必要とする場合以外には勧められない。
=item B<minkeylength>
=end JM-comment
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤ÇµöÍƤµ¤ì¤ëºÇ¾®¤Î¥¡¼Ä¹¤ò»ØÄꤹ¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Î¥ì¥Ù¥ë¤è¤ê¾®¤µ¤¤ÃͤòÍ׵᤹¤ë¤È¡¢
-¥µ¡¼¥Ð¤Ï¤³¤³¤Ç»ØÄꤷ¤¿ºÇ¾®ÃͤòÊÖÅú¤¹¤ë¡£
-¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤ÎºÇ¾®Ãͤè¤ê²¼¤Î¥ì¥Ù¥ë¤òÊÖÅú¤¹¤ë¤È¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ÏÀܳ¤ò½ªÎ»¤¹¤ë¡£
+これは、クライアントまたはサーバで許容される最小のキー長を指定する。
+クライアントがサーバのレベルより小さい値を要求すると、
+サーバはここで指定した最小値を返答する。
+サーバがクライアントの最小値より下のレベルを返答すると、
+クライアントは接続を終了する。
-¥Ç¥Õ¥©¥ë¥È¤Ï0¤Ç¤¢¤ë¡£
+デフォルトは0である。
=item B<modulus>
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤϡ¢Diffie-Hellman¥¡¼¸ò´¹¤Î¾ê;Ãͤòɽ¤¹16¿Ê¿ô¤Îʸ»úÎó¤Ç¤¢¤ë¡£
-¤³¤ì¤¬²¿¤«¤ï¤«¤ë¿Í¤Ç¿ô³Ø¥ª¥¿¥¯¤Î¿Í°Ê³°¤Ï¤¤¤¸¤Ã¤Á¤ã¤À¤á¡£
+このキーワードの値は、Diffie-Hellmanキー交換の剰余値を表す16進数の文字列である。
+これが何かわかる人で数学オタクの人以外はいじっちゃだめ。
=begin JM-comment
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤ÎÃͤϲ¼µ¤Î1024¥Ó¥Ã¥È¤ÎÁÇ¿ô¤Ç¤¢¤ë¡£
+デフォルトの値は下記の1024ビットの素数である。
f488fd584e49dbcd 20b49de49107366b 336c380d451d0f7c 88b31c7c5b2d8ef6
f3c923c043f0a55b 188d8ebb558cb85d 38d334fd7c175743 a31d186cde33212c
=end JM-comment
-¤³¤ì¤Ï Peter Gutman ¤Î B<CryptLib> ¤ÎÃæ¤Î F<testdh.h> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤«¤é
-¤È¤é¤ì¤¿¡£
-¤½¤³¤Ë¤Ï¡¢¤³¤ÎÃͤ¬ "generated by Colin Plumb for SKIP"¤À¤È¥³¥á¥ó¥È¤¬¤¢¤ë¡£
-¤½¤ì¤«¤é "these values were chosen as representative
+これは Peter Gutman の B<CryptLib> の中の F<testdh.h> というファイルから
+とられた。
+そこには、この値が "generated by Colin Plumb for SKIP"だとコメントがある。
+それから "these values were chosen as representative
well-known public values to allay fears of possible trapdoors in
self-generated values. The generation method and actual values can be
-checked against the SKIP standards document." ¤À¤È¤µ¡£
+checked against the SKIP standards document." だとさ。
=item B<privatekey>
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥»¥Ã¥·¥ç¥ó¤´¤È¤Ë¿·¤·¤¤ÈëÌ©¸°¤òÀ¸À®¤¹¤ë¡£
-¤·¤«¤·¡¢¤â¤·¤¢¤Ê¤¿¤¬Ëè²óƱ¤¸¥¡¼¤ò»È¤¤¤¿¤¤¾ì¹ç¤Ï¡¢
-16¿Ê¿ô¤Îʸ»úÎó¤È¤·¤Æ¤³¤ì¤ò»ØÄꤹ¤ì¤Ð¤¤¤¤¡£
-¤â¤·¸ø³«¸°°Å¹æ¤Ë¤è¤ëǧ¾Ú(L<identitychecking|Identity Checking>)¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢
-ɬ¤º¤³¤ì¤òÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¥¡¼¤¬¾¯¤¯¤È¤â10·å¤ÏɬÍפʤ³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+デフォルトでは、B<Zebedee>はセッションごとに新しい秘密鍵を生成する。
+しかし、もしあなたが毎回同じキーを使いたい場合は、
+16進数の文字列としてこれを指定すればいい。
+もし公開鍵暗号による認証(L<identitychecking|Identity Checking>)を使用したい場合は、
+必ずこれを設定しなくてはいけない。
+キーが少くとも10桁は必要なことに注意すること。
=back
-=head3 ÍÍ¡¹¤Ê¥¡¼¥ï¡¼¥É(Miscellaneous Keywords)
+=head3 様々なキーワード(Miscellaneous Keywords)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤â¥µ¡¼¥Ð¤Ë¤âÅù¤·¤¯Å¬ÍѤµ¤ì¤ë¡£
+以下のキーワードはクライアントにもサーバにも等しく適用される。
=over 4
=end JM-comment
-¤³¤ì¤Ï¡¢Àܳ¤òµö²Ä¤¹¤ëÁ°¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤òÊ£¿ôµ½Ò¤·¤¿¥Õ¥¡¥¤¥ë¤Î̾¾Î¤Ç¤¢¤ë¡£
-¤³¤ì¤Ë¤Ä¤¤¤Æ¤ÏL<identity checking|Identity Checking>¤Ç¾Ü¤·¤¯½Ò¤Ù¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¤Ò¤È¤Ä¤·¤«»ØÄê¤Ç¤¤Ê¤¤¡£¤â¤·Ê£¿ô½Ð¸½¤·¤¿¤é¡¢
-ºÇ¸å¤ÎÃͤ¬»ÈÍѤµ¤ì¤ë¡£
+これは、接続を許可する前にチェックするアイデンティティを複数記述したファイルの名称である。
+これについてはL<identity checking|Identity Checking>で詳しく述べる。
+このファイルはひとつしか指定できない。もし複数出現したら、
+最後の値が使用される。
-¤â¤·¡¢B<L<keylength|/item_keylength>>¤¬0¤Ç¤¢¤ë¤³¤È¤Ë
-(¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤¬)Ʊ°Õ¤·¤¿¾ì¹ç¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£
+もし、B<L<keylength|/item_keylength>>が0であることに
+(クライアントとサーバが)同意した場合は、アイデンティティのチェックは行なわれない。
=item B<connecttimeout>
=end JM-comment
-B<Zebedee>¤¬¡ÖµÕ¤à¤¥â¡¼¥É¡×(B<L<listenmode|/item_listenmode>> µÚ¤Ó B<L<clienthost|/item_clienthost>>»²¾È)¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë»þ¡¢
-Àܳ¤¬¼õ¤±¤Ä¤±¤é¤ì¤ë¤Î¤òÂԤĻþ´Ö¤Ï¤³¤Î¥¡¼¥ï¡¼¥É¤ÇÀ©¸æ¤µ¤ì¤ë¡£
-ÃͤÏÉÃñ°Ì¤Ç65535̤Ëþ¤Ç¤¢¤ë¤³¤È¡£
-´ûÄêÃͤÏ300ÉäǤ¢¤ë¡£
+B<Zebedee>が「逆むきモード」(B<L<listenmode|/item_listenmode>> 及び B<L<clienthost|/item_clienthost>>参照)で使用されている時、
+接続が受けつけられるのを待つ時間はこのキーワードで制御される。
+値は秒単位で65535未満であること。
+既定値は300秒である。
-=item B<debug> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-D>)
+=item B<debug> (コマンドラインでは B<-D>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤ÏB<Zebedee>¤¬ "debug" ¥â¡¼¥É¤ÇÆ°ºî¤¹¤ë¤«¤ò»ØÄꤹ¤ë¿¿µ¶ÃͤǤ¢¤ë¡£
-"debug" ¥â¡¼¥É¤Ç¤Ï¥µ¡¼¥Ð¤Ï
-(B<L<multiuse|/item_multiuse>>¥â¡¼¥É¤Î¥¯¥é¥¤¥¢¥ó¥È)¤Ï
-°ìÅ٤˰ì¤Ä¤ÎÀܳ¤·¤«¼õ¤±ÉÕ¤±¤Ê¤¤¡£
-¤½¤·¤Æ¡¢ÊÌ¥×¥í¥»¥¹¤äÊÌ¥¹¥ì¥Ã¥É¤òÀ¸À®¤¹¤ë¤³¤È¤Ê¤¯ "inline" ¤ÇÆ°ºî¤¹¤ë¡£
-¤³¤ì¤Ï¥Ç¥Ð¥Ã¥¬¾å¤Ç¥×¥í¥°¥é¥à¤òÆ°¤«¤¹»þ¤ËÊØÍø¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ïfalse¤Ç¤¢¤ë¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-D> ¤Ï
-¤³¤ì¤ò B<true> ¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これはB<Zebedee>が "debug" モードで動作するかを指定する真偽値である。
+"debug" モードではサーバは
+(B<L<multiuse|/item_multiuse>>モードのクライアント)は
+一度に一つの接続しか受け付けない。
+そして、別プロセスや別スレッドを生成することなく "inline" で動作する。
+これはデバッガ上でプログラムを動かす時に便利である。
+デフォルトはfalseである。コマンドラインオプションの B<-D> は
+これを B<true> に設定するのと同じである。
=begin JM-comment
=end JM-comment
-Ãí¡§¤³¤ÎÀßÄê¤Ï¡¢UDP¥â¡¼¥É¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤Î¤Ç¡¢»î¤µ¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¡£
+注:この設定は、UDPモードでは正しく動作しないので、試さないほうがいい。
-=item B<detached> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-d>)
+=item B<detached> (コマンドラインでは B<-d>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¥×¥í¥»¥¹¤¬À©¸æüËö¤«¤é¼«Ê¬¼«¿È¤òÀÚÎ¥¤·¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥È¤Ç
-(UNIXÍѸì¤Ç¤Ï¥Ç¡¼¥â¥ó¤È¤·¤Æ)Æ°ºî¤¹¤ë¤«¤É¤¦¤«»ØÄꤹ¤ë¿¿µ¶ÃͤǤ¢¤ë¡£
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ç¤â¥µ¡¼¥Ð¤Ç¤â͸ú¤Ç¤¢¤ê¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ï B<true> ¤Ç¤¢¤ë¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-d>¤Ï
-¤³¤ì¤ò B<false> ¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これはプロセスが制御端末から自分自身を切離してバックグラウントで
+(UNIX用語ではデーモンとして)動作するかどうか指定する真偽値である。
+これはクライアントでもサーバでも有効であり、
+デフォルトは B<true> である。コマンドラインオプションのB<-d>は
+これを B<false> に設定するのと同じである。
=begin JM-comment
=end JM-comment
-Ãí¡§Windows¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤Ç¤Ï¤³¤ì¤¬¤¦¤Þ¤¯Æ°ºî¤·¤Ê¤¤¤³¤È¤â¤¢¤ë¤è¤¦¤À¡£
-¤½¤Îħ¸õ¤Ï¡¢¥³¥ó¥½¡¼¥ë¥¦¥¤¥ó¥É¥¦¤Ø¤Î½ÐÎϤ¬»ß¤Þ¤ê³ä¹þ¤ß¤Îsignal¤¬Ìµ»ë¤µ¤ì¤ë¤¬¡¢
-¥³¥ó¥½¡¼¥ë¤Î¥×¥í¥ó¥×¥È¤¬B<Zebedee>¤¬½ªÎ»¤¹¤ë¤Þ¤Çɽ¼¨¤µ¤ì¤Ê¤¤¤³¤È¤À¡£
-¤³¤ì¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë "start" ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¤è¤¤¡£
+注:Windowsのコマンドプロンプトではこれがうまく動作しないこともあるようだ。
+その徴候は、コンソールウインドウへの出力が止まり割込みのsignalが無視されるが、
+コンソールのプロンプトがB<Zebedee>が終了するまで表示されないことだ。
+これを回避するには、以下のように "start" コマンドを使用すればよい。
DOS> start zebedee -f server.zbd
=end JM-comment
-¤³¤ì¤ÏB<Zebedee>¤ò¿·¤·¤¤¥³¥ó¥½¡¼¥ë¥»¥Ã¥·¥ç¥ó¤Çµ¯Æ°¤·¡¢¤½¤³¤«¤éÀÚ¤êÎ¥¤¹¡£
-ÀÚ¤êÎ¥¤¹Á°¤Ë°ì½Ö¤À¤±¥Á¥é¥ê¤È¤½¤Î¥³¥ó¥½¡¼¥ë¤¬¸«¤¨¤ë¤¬¡¢¤½¤ì¤¬¾Ã¤¨¤Æ¤â
-B<Zebedee>¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤·¤Æ¤¤¤ë¡£
+これはB<Zebedee>を新しいコンソールセッションで起動し、そこから切り離す。
+切り離す前に一瞬だけチラリとそのコンソールが見えるが、それが消えても
+B<Zebedee>はバックグラウンドで動作している。
=item B<include>
=end JM-comment
-¤³¤ì¤ÏÊ̤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
-¤½¤Î¥Õ¥¡¥¤¥ë¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤ò½èÍý¤¹¤ëÁ°¡¢
-¤³¤Î»þÅÀ¤Ç½èÍý¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢ÈëÌ©¸°¤ò¤â¤Ã¤È¤¤Ã¤Á¤ê¥¬¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤ËʬΥ¤·¤ÆÊݸ¤·¤¿¾ì¹ç¤Ë¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-include¤Ï5¥ì¥Ù¥ë¤Î¿¼¤µ¤Þ¤Ç¤Ë¸ÂÄꤵ¤ì¤ë(ºÇ½é¤Î¥Õ¥¡¥¤¥ë¤ò¥ì¥Ù¥ë1¤È¤·¤Æ)¡£
-¤³¤ì¤Ï¤¦¤Ã¤«¤ê̵¸Â¥ë¡¼¥×¤òºî¤é¤Ê¤¤¤¿¤á¤Ç¤¢¤ë¡£
+これは別の設定ファイルの名前を指定する。
+そのファイルはこのファイルの残りを処理する前、
+この時点で処理される。
+例えば、秘密鍵をもっときっちりガードしたファイルに分離して保存した場合に、
+そのファイルを取り込むために使用される。
+includeは5レベルの深さまでに限定される(最初のファイルをレベル1として)。
+これはうっかり無限ループを作らないためである。
=item B<maxbufsize>
=end JM-comment
-¤³¤ì¤Ï¡¢
-B<Zebedee> ¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥Ç¡¼¥¿¤òÆɤि¤á¤Ë»ÈÍѤ¹¤ë¥Ð¥Ã¥Õ¥¡¤ÎŤµ(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤹ¤ë¡£
-¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤Ï¥µ¡¼¥Ð¤ÎÃͤȥ¯¥é¥¤¥¢¥ó¥È¤ÎÃͤκǾ®Ãͤˤʤ롣
+これは、
+B<Zebedee> がアプリケーションからデータを読むために使用するバッファの長さ(バイト単位)を指定する。
+実際に使用されるバッファの長さはサーバの値とクライアントの値の最小値になる。
=begin JM-comment
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥È¥ó¥Í¥ë¤Îξü¤Ç
-¥µ¡¼¥Ð¥×¥í¥°¥é¥à¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤«¤é8192¥Ð¥¤¥Èñ°Ì¤ÇÆɤ߽Ф¹¡£
-Î㤨¤Ð¡¢¤¹¤´¤¯ÂÐÏÃŪ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤¢¤Ã¤Æ¡¢
-Â礤ʥǡ¼¥¿Å¾Á÷¤òÂԤĤ¿¤á¤Ë¤Ò¤É¤¤¥ì¥¹¥Ý¥ó¥¹¤À¤Ã¤¿¤ê¤·¤¿»þ¤Ê¤É¡¢
-¤³¤ì¤ò¾®¤µ¤¯¤·¤¿¤¤¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤Ï1¥Ð¥¤¥È¤Þ¤Ç½Ì¤á¤ë¤³¤È¤¬¤Ç¤¤ë¤¬¡¢
-¤ª¤«¤·¤ÊÆ°¤¤ò¥Ç¥Ð¥Ã¥°¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤«»þ´Ö¤ò̵Â̤ˤ·¤¿¤¤¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢
-¤³¤ì¤Ï¤ª´«¤á¤Ç¤¤Ê¤¤¡£
-µÕ¤Ë¡¢ÂçÎ̤Υǡ¼¥¿¤ÎžÁ÷¤¬¤¢¤Ã¤Æ¡¢
-°µ½Ì¤ò¤á¤¤¤Ã¤Ñ¤¤¸ú¤«¤»¤¿¤¤¾ì¹ç¤Ï¡¢16383¥Ð¥¤¥È¤Þ¤ÇÂ礤¯¤·¤Æ¤â¤è¤¤¡£
-Ãí¡§B<maxbufsize> ¤Ï B<Zebedee> ¤¬»ÈÍѤ¹¤ë¥á¥â¥êÎ̤ˤϴط¸¤Ê¤¤¡£
-°ìÅÙ¤ËÆɤߤ³¤à¥Ç¡¼¥¿¤Î¤«¤¿¤Þ¤ê¤Î¥µ¥¤¥º¤À¤±¤Ë±Æ¶Á¤¹¤ë¡£
+デフォルトでは、B<Zebedee>はトンネルの両端で
+サーバプログラム、クライアントプログラムから8192バイト単位で読み出す。
+例えば、すごく対話的なアプリケーションがあって、
+大きなデータ転送を待つためにひどいレスポンスだったりした時など、
+これを小さくしたいこともあるだろう。
+バッファサイズは1バイトまで縮めることができるが、
+おかしな動きをデバッグしようとしているのか時間を無駄にしたいのでなければ、
+これはお勧めできない。
+逆に、大量のデータの転送があって、
+圧縮をめいっぱい効かせたい場合は、16383バイトまで大きくしてもよい。
+注:B<maxbufsize> は B<Zebedee> が使用するメモリ量には関係ない。
+一度に読みこむデータのかたまりのサイズだけに影響する。
=begin JM-comment
=end JM-comment
-UDP¥â¡¼¥É¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤Ï°·¤¨¤ë¥Ç¡¼¥¿¥°¥é¥à¤ÎºÇÂçŤˤâ±Æ¶Á¤¹¤ë¡£
-¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤è¤êÂ礤ʥǡ¼¥¿¥°¥é¥à¤ÏʬÃǤµ¤ì¡¢
-¤½¤ì¤ò¼õ¿®¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Íî¤Á¤ë¤³¤È¤Ë¤Ê¤ê¤¬¤Á¤À¡£
-16383¥Ð¥¤¥È°Ê¾å¤Î¥Ç¡¼¥¿¥°¥é¥à¤Ï°·¤¦¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
+UDPモードでは、バッファサイズは扱えるデータグラムの最大長にも影響する。
+現在のバッファサイズより大きなデータグラムは分断され、
+それを受信するアプリケーションが落ちることになりがちだ。
+16383バイト以上のデータグラムは扱うことができない。
=item B<message>
=end JM-comment
-verbosity level ¤¬1¤Ê¤é¤Ð¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î¤³¤ÎÉôʬ¤ò½èÍý¤·¤¿»þ¤Ë¡¢
-¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬¥í¥°¤ËµÏ¿¤µ¤ì¤ë¡£
+verbosity level が1ならば、設定ファイルのこの部分を処理した時に、
+このメッセージがログに記録される。
-=item B<name> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-n>)
+=item B<name> (コマンドラインでは B<-n>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ÎÂå¤ï¤ê¤Ë¡¢
-¥á¥Ã¥»¡¼¥¸¤ÎÃæ¤Ç»È¤ï¤ì¤ë¥×¥í¥°¥é¥à̾¾Î¤Ë¤Ê¤ë¡£
-Windows´Ä¶¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¢¤ë¤¤¤Ïºï½ü¤µ¤ì¤ë¥µ¡¼¥Ó¥¹¤Î̾Á°¤È¤·¤Æ¤âÍѤ¤¤é¤ì¤ë¡£
+これは、実行ファイルのファイル名の代わりに、
+メッセージの中で使われるプログラム名称になる。
+Windows環境では、インストールあるいは削除されるサービスの名前としても用いられる。
=item B<logfile> (command-line B<-o>)
=end JM-comment
-¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ë¡£
-¤â¤·¾Êά¤µ¤ì¤ë¤È¥á¥Ã¥»¡¼¥¸¤Ïɸ½à¥¨¥é¡¼¤Ë½ÐÎϤµ¤ì¤ë¡£
+これはメッセージが出力されるファイルの名前である。
+もし省略されるとメッセージは標準エラーに出力される。
=begin JM-comment
=end JM-comment
-2¤Ä¤ÎÆüì¤Ê¥Õ¥¡¥¤¥ë̾¤âÀµ¤·¤¤Ì¾Á°¤È¤·¤Æǧ¼±¤µ¤ì¤ë¡£
-¤â¤·¡¢Ì¾¾Î¤¬B<NULL>¤À¤È¡¢Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸½ÐÎϤϻߤá¤é¤ì¤ë¡£
-B<SYSLOG>¤À¤È¡¢¥á¥Ã¥»¡¼¥¸¤Ï¥Û¥¹¥È¤Î¥·¥¹¥Æ¥à¥í¥°¤Ë½ÐÎϤµ¤ì¤ë¡£
-Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È¥í¥°¤ò°ÕÌ£¤¹¤ë¡£
-¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ÏB<syslog> ¥µ¡¼¥Ó¥¹¤Ë½ÐÎϤµ¤ì¤ë¡£
+2つの特殊なファイル名も正しい名前として認識される。
+もし、名称がB<NULL>だと、全てのメッセージ出力は止められる。
+B<SYSLOG>だと、メッセージはホストのシステムログに出力される。
+Windowsシステムでは、アプリケーションイベントログを意味する。
+他のシステムでは、メッセージはB<syslog> サービスに出力される。
=item B<serverport>
=end JM-comment
-¤³¤ì¤Ï¡¢B<Zebedee> ¥µ¡¼¥Ð¤¬Àܳ¤òÂÔ¤Á¼õ¤±¤ë¥Ý¡¼¥È¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤ÏTCP¥â¡¼¥É¤Ç¤Ï11965 (0x2EBD)¡¢UDP¥â¡¼¥É¤Ç¤Ï11230(0x2BDE)¤Ç¤¢¤ë¡£
-¥µ¡¼¥Ð¤Ç¤³¤ì¤ò»ØÄꤹ¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¤³¤Î¥Ý¡¼¥È¤Çlisten¤¹¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ç¤³¤ì¤ò»ØÄꤹ¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¥µ¡¼¥Ð¤Î¤³¤ÎÈÖ¹æ¤Î¥Ý¡¼¥È¤ËÀܳ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
+これは、B<Zebedee> サーバが接続を待ち受けるポートである。
+デフォルトはTCPモードでは11965 (0x2EBD)、UDPモードでは11230(0x2BDE)である。
+サーバでこれを指定すると、サーバはこのポートでlistenする。
+クライアントでこれを指定すると、クライアントは
+サーバのこの番号のポートに接続することになる。
-¥µ¡¼¥Ð¼çƳ¤ÎÀܳ(B<L<listenmode|/item_listenmode>> µÚ¤Ó B<L<clienthost|/item_clienthost>>»²¾È)¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¤ÎÀܳ¤òÂÔ¤Á¼õ¤±¤ë¥Ý¡¼¥È¤Î¤³¤È¤â°ÕÌ£¤¹¤ë¡£
+サーバ主導の接続(B<L<listenmode|/item_listenmode>> 及び B<L<clienthost|/item_clienthost>>参照)を使用する場合は、
+これはクライアントがサーバからの接続を待ち受けるポートのことも意味する。
-=item B<timestamplog> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-t>)
+=item B<timestamplog> (コマンドラインでは B<-t>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¡¢¥í¥°¥á¥Ã¥»¡¼¥¸¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤á¤ë¤«¤É¤¦¤«¤ò¼¨¤¹¿¿µ¶ÃͤǤ¢¤ë¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-t> ¤Ï¤³¤ì¤òB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これは、ログメッセージにタイムスタンプを含めるかどうかを示す真偽値である。
+コマンドラインオプションの B<-t> はこれをB<true>に設定するのと同じである。
-=item B<udpmode> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-u>)
+=item B<udpmode> (コマンドラインでは B<-u>)
=begin JM-comment
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏB<Zebedee>¤Ï¡¢¥³¥Í¥¯¥·¥ç¥ó¥Ù¡¼¥¹¤ÎTCP/IP¤ÎÄÌ¿®¤ò°·¤¦¡£
-¤â¤·¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ë¤È¡¢¤«¤ï¤ê¤Ë¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤ÎUDP/IP¤ÎÄÌ¿®¤ò°·¤¦¡£
+デフォルトではB<Zebedee>は、コネクションベースのTCP/IPの通信を扱う。
+もし、このキーワードが指定されると、かわりにコネクションレスのUDP/IPの通信を扱う。
=begin JM-comment
=end JM-comment
-¤³¤Î¾ì¹ç¤Ç¤â¡¢B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð´Ö¤Î¥È¥ó¥Í¥ë¤ÏTCP/IPÀܳ¤ò»ÈÍѤ¹¤ë¡£
-UDP¤Î°¸À褴¤È¤ËÊÌ¡¹¤ÎÀܳ¤¬»ÈÍѤµ¤ì¤ë¡£
-UDP¤Ï¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤Ê¤Î¤Ç¡¢ÄÌ¿®¤¬´°Î»¤·¤¿¤³¤È¤ò´Êñ¤ËÃΤ뤳¤È¤Ï¤Ç¤¤Ê¤¤¡£
-¤³¤ÎÍýͳ¤Ç¡¢B<Zebedee>¤ÎÀܳ¤Ï°ìÄê¤Î»þ´ÖÄÌ¿®¤¬Ìµ¤¤¾ì¹ç¤Ë¥¿¥¤¥à¥¢¥¦¥È¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î»þ´Ö¤ÏB<L<udptimeout|/item_udptimeout>>¤ÎÃͤÇÀ©¸æ¤µ¤ì¤ë¡£
+この場合でも、B<Zebedee>のクライアントとサーバ間のトンネルはTCP/IP接続を使用する。
+UDPの宛先ごとに別々の接続が使用される。
+UDPはコネクションレスなので、通信が完了したことを簡単に知ることはできない。
+この理由で、B<Zebedee>の接続は一定の時間通信が無い場合にタイムアウトする必要がある。
+この時間はB<L<udptimeout|/item_udptimeout>>の値で制御される。
=begin JM-comment
=end JM-comment
-¤¹¤Ç¤Ë¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤·¤Þ¤Ã¤¿¥È¥ó¥Í¥ë¤Ë¸þ¤±¤¿¥Ç¡¼¥¿¤¬ÅþÃ夷¤¿¾ì¹ç¡¢
-Àܳ¤òºÆ³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î¤¿¤á¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆÃÀ¤Ë¤è¤Ã¤Æ¤Ï¡¢
-UDP¥â¡¼¥É¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¤è¤¯¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤³¤È¤â¤¢¤ë¡£
-B<L<keylifetime|/item_keylifetime>>¤ÎÃͤòÊѹ¹¤·¤Æ¡¢
-Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤Î»þ´Ö¤òºÇ¾®¤Ë¤¹¤ì¤Ð¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-B<L<udptimeout|/item_udptimeout>> ¤ÎÃͤòÊѹ¹¤¹¤ë¤³¤È¤âƱÍͤËÌò¤ËΩ¤Ä¡£
+すでにタイムアウトしてしまったトンネルに向けたデータが到着した場合、
+接続を再確立する必要がある。
+このために、アプリケーションの特性によっては、
+UDPモードのパフォーマンスがよくないように見えることもある。
+B<L<keylifetime|/item_keylifetime>>の値を変更して、
+接続のセットアップの時間を最小にすれば、パフォーマンスを向上させることができる。
+B<L<udptimeout|/item_udptimeout>> の値を変更することも同様に役に立つ。
=begin JM-comment
=end JM-comment
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-u>¤Ï¡¢¤³¤ÎÃͤòB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+コマンドラインオプションのB<-u>は、この値をB<true>に設定するのと同じである。
=item B<udptimeout>
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢UDP¥â¡¼¥É¤Î¥È¥ó¥Í¥ë¤Ï¡¢300ÉÃÄÌ¿®¤¬Ìµ¤¤¤ÈÊĤ¸¤é¤ì¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ç¤½¤Î»þ´Ö¤òÊѹ¹¤Ç¤¤ë(ñ°Ì¤ÏÉÃ)¡£
-¤³¤ÎÃͤÏ65535¤è¤êÂ礤¯¤Ê¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤ì¤ò0¤Ë¤¹¤ë¤È°ìÀÚÄÌ¿®¤¬¹Ô¤Ê¤ï¤ì¤Ê¤¤(¤½¤¦¤¤¤¦ÀßÄê¤â¤Ç¤¤ë¤±¤É¡Ä)¡£
+デフォルトでは、UDPモードのトンネルは、300秒通信が無いと閉じられる。
+このキーワードでその時間を変更できる(単位は秒)。
+この値は65535より大きくなってはいけない。
+これを0にすると一切通信が行なわれない(そういう設定もできるけど…)。
-=item B<verbosity> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-v>)
+=item B<verbosity> (コマンドラインでは B<-v>)
=begin JM-comment
=end JM-comment
-¤³¤ì¤Ï¡¢¥í¥°¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Î¥ì¥Ù¥ë¤ò¼¨¤¹À°¿ôÃͤǤ¢¤ë¡£
-0¤À¤È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤À¤±¡¢
-5¤Ë¤¹¤ë¤È¥á¥Ã¥»¡¼¥¸¥È¥é¥Õ¥£¥Ã¥¯¤ÎÈó¾ï¤ËºÙ¤«¤¤¥Ç¥£¥Æ¡¼¥ë¤Þ¤Ç´Þ¤á¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï1¤Ç¤¢¤ê¡¢Ä̾ï¤Ï¤½¤ì¤¬ºÇ¤â»È¤¤¤ä¤¹¤¤¡£
+これは、ログするメッセージのレベルを示す整数値である。
+0だとエラーメッセージだけ、
+5にするとメッセージトラフィックの非常に細かいディテールまで含める。
+デフォルトは1であり、通常はそれが最も使いやすい。
=begin JM-comment
=end JM-comment
-¥á¥Ã¥»¡¼¥¸¤Ï F<stderr> ¤Ë½ÐÎϤµ¤ì¤ë(¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-o>¤«
-B<L<logfile|/item_logfile>> ¥¡¼¥ï¡¼¥É¤Ç¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Ê¤¤¸Â¤ê)
-°ìÈÌŪ¤Ê¥á¥Ã¥»¡¼¥¸¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¢¤ë:
+メッセージは F<stderr> に出力される(コマンドラインオプションのB<-o>か
+B<L<logfile|/item_logfile>> キーワードでリダイレクトされない限り)
+一般的なメッセージはこんな感じである:
zebedee(54/119): Listening on local port 1172
=end JM-comment
-¥«¥Ã¥³¤ÎÃæ¤Î¿ô»ú¤Ï¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¥×¥í¥»¥¹¤È¥¹¥ì¥Ã¥É¤ÎID¤òɽ¤·¤Æ¤¤¤ë¡£
-Á´¤Æ¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¥ì¥Ù¥ë0¤Ç¤â¥í¥°¤¬¼è¤é¤ì¡¢
-°Ê²¼¤ÎÍͤˡ¢ÀèƬ¤¬ C<ERROR> ¤È¤¤¤¦Ã±¸ì¤«¤é»Ï¤Þ¤ë¡£
+カッコの中の数字はメッセージを出力したプロセスとスレッドのIDを表している。
+全てのエラーメッセージはレベル0でもログが取られ、
+以下の様に、先頭が C<ERROR> という単語から始まる。
zebedee(54/119): ERROR: failed to connect to localhost:11965
=end JM-comment
-¥á¥Ã¥»¡¼¥¸¤Ï¥í¥°¤¬¼è¤é¤ì¤¿¥ì¥Ù¥ë¤Ë½¾¤Ã¤Æ¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤ë¡£
+メッセージはログが取られたレベルに従ってインデントされる。
-=head3 Çѻߤµ¤ì¤¿¥¡¼¥ï¡¼¥É(Obsolete Keywords)
+=head3 廃止されたキーワード(Obsolete Keywords)
=begin JM-comment
=end JM-comment
-B<Zebedee>¤Î³«È¯¤ÏŤ¯Â³¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢¥¡¼¥ï¡¼¥É¤Î°ìÉô¤â¤³¤ì¤ËÂбþ¤·¤ÆÊѲ½¤·¤Æ¤¤¤ë¡£
-Æó¡¢»°¤Î¥¡¼¥ï¡¼¥É¤Ï¾¤Î¤â¤Î¤Ë¤È¤Ã¤Æ¤«¤ï¤é¤ìÇѻߤµ¤ì¤Æ¤¤¤ë¡£
-¸Å¤¤¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¸åÊý¸ß´¹À¤òÊݤĤ¿¤á¤Ë¡¢
-¤³¤ì¤é¤ÎÇѻߤµ¤ì¤¿¥¡¼¥ï¡¼¥É¤âǧ¼±¤µ¤ì¤ë¤¬¡¢
-¿·¤·¤¤¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ç¤Ï»È¤¦¤Ù¤¤Ç¤Ï¤Ê¤¤¡£
+B<Zebedee>の開発は長く続いているので、キーワードの一部もこれに対応して変化している。
+二、三のキーワードは他のものにとってかわられ廃止されている。
+古いコンフィギュレーションファイルに対する後方互換性を保つために、
+これらの廃止されたキーワードも認識されるが、
+新しいコンフィギュレーションファイルでは使うべきではない。
=over 4
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¤è¤ê°ìÈÌŪ¤ÊB<L<tunnel|/item_tunnel>>¤ËÃÖ¤´¹¤¨¤é¤ì¤¿¡£
+このキーワードはより一般的なB<L<tunnel|/item_tunnel>>に置き換えられた。
-¤³¤ì¤ÏB<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤òÂԤĥݡ¼¥È(¤¢¤ë¤¤¤Ï¥Ý¡¼¥È¤Î¥ê¥¹¥È)¤Ç¤¢¤ë¡£
-¤³¤ì¤Ï¡Ö¥È¥ó¥Í¥ë»ÅÍ͡פκǽé¤ÎÉôʬ¤ÈÅù¤·¤¤¡£
+これはB<Zebedee>クライアントが接続を待つポート(あるいはポートのリスト)である。
+これは「トンネル仕様」の最初の部分と等しい。
=back
=end JM-comment
-¤³¤ì¤Ï¥Ð¡¼¥¸¥ç¥ó 2.0.0°ÊÁ°¤ÎB<Zebedee>¤Ë¤ª¤±¤ë¡¢B<L<clientport|/item_clientport>>¤Î̾Á°¤Ç¤¢¤ë¡£
+これはバージョン 2.0.0以前のB<Zebedee>における、B<L<clientport|/item_clientport>>の名前である。
=item B<redirecthost>
=end JM-comment
-¤³¤ì¤Ï¥Ð¡¼¥¸¥ç¥ó 2.0.0°ÊÁ°¤ÎB<Zebedee>¤Ë¤ª¤±¤ë¡¢B<L<targethost|/item_targethost>>¤Î̾Á°¤Ç¤¢¤ë¡£
+これはバージョン 2.0.0以前のB<Zebedee>における、B<L<targethost|/item_targethost>>の名前である。
=item B<remoteport>
=end JM-comment
-¤³¤ì¤Ï¥Ð¡¼¥¸¥ç¥ó 2.0.0°ÊÁ°¤ÎB<Zebedee>¤Ë¤ª¤±¤ë¡¢B<L<targetport|/item_targetport>>¤Î̾Á°¤Ç¤¢¤ë¡£
+これはバージョン 2.0.0以前のB<Zebedee>における、B<L<targetport|/item_targetport>>の名前である。
=item B<targethost>
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¤è¤ê°ìÈÌŪ¤ÊB<L<tunnel|/item_tunnel>>¤ËÃÖ¤´¹¤¨¤é¤ì¤¿¡£
+このキーワードはより一般的なB<L<tunnel|/item_tunnel>>に置き換えられた。
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¡¢
-B<Zebedee>¥µ¡¼¥Ð¤¬¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Ý¡¼¥È¤«¤é¥È¥ó¥Í¥ë¤¹¤ë¥Û¥¹¥È¤Î̾Á°¤òÍ¿¤¨¤ë¡£
+このキーワードは、
+B<Zebedee>サーバがローカルマシンのポートからトンネルするホストの名前を与える。
=item B<targetport>
=end JM-comment
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¤è¤ê°ìÈÌŪ¤ÊB<L<tunnel|/item_tunnel>>¤ËÃÖ¤´¹¤¨¤é¤ì¤¿¡£
+このキーワードはより一般的なB<L<tunnel|/item_tunnel>>に置き換えられた。
-¤½¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Í׵᤹¤ë¥Ý¡¼¥È¤«¥Ý¡¼¥È¥ê¥¹¥È
-(B<Zebedee>¥µ¡¼¥Ð¤Ï¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¾å¤Î¤½¤Î¥Ý¡¼¥È¤ËÀܳ¤¹¤ë)¤ò°ÕÌ£¤¹¤ë¡£
-¤³¤ì¤Ï¡Ö¥È¥ó¥Í¥ë»ÅÍ͡פκǸå¤ÎÉôʬ¤ÈÅù¤·¤¤¡£
+それは、クライアントが要求するポートかポートリスト
+(B<Zebedee>サーバはターゲットホスト上のそのポートに接続する)を意味する。
+これは「トンネル仕様」の最後の部分と等しい。
-=head3 ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó(Other Options)
+=head3 その他のオプション(Other Options)
=begin JM-comment
=back
-ÀßÄê¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë¤â¤Î¤ò»ý¤¿¤Ê¤¤¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó
-¤¬¤¤¤¯¤Ä¤«¤¢¤ë¤Î¤Ç¡¢¤½¤ì¤Ë¤Ä¤¤¤Æ¤³¤³¤ÇÀâÌÀ¤¹¤ë¡£
+設定ファイルに対応するものを持たないコマンドオプション
+がいくつかあるので、それについてここで説明する。
=over 4
=end JM-comment
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç B<Zebedee> ¤ÏÈëÌ©¸°¤ÎÃͤòɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë¡£
-¤³¤Î½ÐÎϤÏÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤½¤Î¤Þ¤Þ»ÈÍѤǤ¤ë·Á¼°¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢
+このオプションで B<Zebedee> は秘密鍵の値を標準出力に出力する。
+この出力は設定ファイルでそのまま使用できる形式である。
+例えば、
privatekey "c480bd48f707c69dec54c9e7b6e22dd04cac659e"
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=item -P
=end JM-comment
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç B<Zebedee> ¤ÏL<identity checking|Identity Checking> ¤Ç
-»ÈÍѤǤ¤ë¥Ñ¥Ö¥ê¥Ã¥¯¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤òÀ¸À®¤¹¤ë¡£·ë²Ì¤Ïɸ½à½ÐÎϤ˽ñ¤«¤ì¤ë¡£
-Î㤨¤Ð¡¢
+このオプションで B<Zebedee> はL<identity checking|Identity Checking> で
+使用できるパブリックアイデンティティを生成する。結果は標準出力に書かれる。
+例えば、
ef8153a0e392df005f67321ca2f0ace5bb8c5a1f myhostname
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=begin JM-comment
=end JM-comment
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈëÌ©¸°¤ò´Þ¤àÀßÄê¤È¶¦¤Ë»ØÄꤹ¤ë¤«¡¢
-B<-p> ¤È¶¦¤ËÍѤ¤¤ÆÈëÌ©¸°¤È¸ø³«¸°¤òξÊýƱ»þ¤ËÀ¸À®¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
+このオプションは秘密鍵を含む設定と共に指定するか、
+B<-p> と共に用いて秘密鍵と公開鍵を両方同時に生成しなくてはいけない。
=item -h
=end JM-comment
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°Ê¹ß¤Î°ú¿ô¤ò¥Õ¥¡¥¤¥ë̾¤È¤ß¤Ê¤¹¡£
-¤½¤·¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¤Ï8192¥Ð¥¤¥È¤Î¤«¤¿¤Þ¤ê¤È¤·¤ÆÆɤߤ³¤Þ¤ì¡¢
-SHA¥Ï¥Ã¥·¥å¤¬·×»»¤µ¤ì¤ë¡£
-°ú¿ô¤¬¤Ê¤¤¾ì¹ç¤ä°ú¿ô¤¬"C<->"¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ïɸ½àÆþÎϤΥϥ工夬·×»»¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢
+このオプションは以降の引数をファイル名とみなす。
+そして、それぞれのファイルは8192バイトのかたまりとして読みこまれ、
+SHAハッシュが計算される。
+引数がない場合や引数が"C<->"であった場合は標準入力のハッシュが計算される。
+例えば、
$ zebedee -h /etc/passwd
bb1e734aeffd2111417761f5938dea3b53759598 /etc/passwd
$ zebedee -h < /etc/passwd
bb1e734aeffd2111417761f5938dea3b53759598 -
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=item -H
=end JM-comment
-¤³¤Á¤é¤ÏB<-h>¤È»÷¤Æ¤¤¤ë¤¬¡¢°ú¿ô¤¬Ê¸»úÎó¤È¤·¤Æ°·¤ï¤ì¡¢
-¤½¤Îʸ»úÎó¤ÎSHA¥Ï¥Ã¥·¥å¤¬·×»»¤µ¤ìɽ¼¨¤µ¤ì¤ë¡£
+こちらはB<-h>と似ているが、引数が文字列として扱われ、
+その文字列のSHAハッシュが計算され表示される。
$ zebedee -H hello world
ac62a630ca850b4ea07eda664eaecf9480843152 hello
=end JM-comment
-Windows¥·¥¹¥Æ¥à¤Ç¤Ï B<Zebedee> ¤ò
-¥µ¡¼¥Ó¥¹(¥Ö¡¼¥È»þ¤Ë¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ìÆÈΩ¤·¤ÆÆ°¤¯¥×¥í¥»¥¹)¤È¤·¤Æ
-¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+Windowsシステムでは B<Zebedee> を
+サービス(ブート時に自動的に起動され独立して動くプロセス)として
+インストールすることもできる。
-B<Zebedee>¤ÏB<install>¥Ñ¥é¥á¡¼¥¿¤ÈÀßÄê¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤Ç
-¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¡£Î㤨¤Ð¡¢
+B<Zebedee>はB<install>パラメータと設定ファイルの名前を指定することで
+サービスとしてインストールされる。例えば、
zebedee -Sinstall=c:\zebedee\service.zbd
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=begin JM-comment
=end JM-comment
-¾ï¤Ë¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥¹¥¿¡¼¥È¥¢¥Ã¥×»þ¤ËÆɤߤ³¤Þ¤ì¡¢
-¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤¹¤ë¤¿¤á¤ËɬÍפʥѥé¥á¡¼¥¿¤òÁ´¤Æ´Þ¤ó¤Ç¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+常に、設定ファイルのフルパスを指定しなければならない。
+このファイルはスタートアップ時に読みこまれ、
+サービスが動作するために必要なパラメータを全て含んでいなければならない。
=begin JM-comment
=end JM-comment
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥µ¡¼¥Ó¥¹¤Î̾Á°¤Ï¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ë¤Î̾Á°¤«¤é¼è¤é¤ì¤ë¡£
-½¾¤Ã¤ÆÄ̾ï¤ÏB<Zebedee>¤Ë¤Ê¤ë¡£
-¤·¤«¤·¡¢B<-n>¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+デフォルトでは、
+インストールされるサービスの名前はプログラムファイルの名前から取られる。
+従って通常はB<Zebedee>になる。
+しかし、B<-n>オプションを使用して変更することもできる。
zebedee -n "Zebedee Client Service" -Sinstall=c:\zebedee\clientsvc.zbd
=end JM-comment
-°ìö¡¢¥µ¡¼¥Ó¥¹¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤È¡¢¼¡¤Î¥·¥¹¥Æ¥àºÆµ¯Æ°¤«¤é¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ì¤ë¡£
-¤â¤·¤¯¤Ï(Windows NT¤Î¾ì¹ç)¥µ¡¼¥Ó¥¹¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ç¼êÆ°µ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+一旦、サービスがインストールされると、次のシステム再起動から自動的に起動される。
+もしくは(Windows NTの場合)サービスコントロールパネルで手動起動することもできる。
=begin JM-comment
=end JM-comment
-¥µ¡¼¥Ó¥¹¤òºï½ü¤¹¤ë¤Ë¤Ï¤Þ¤º¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤·¤Æ¤«¤é¡¢B<-S>¥ª¥×¥·¥ç¥ó¤È
-B<remove> ¥Ñ¥é¥á¡¼¥¿¤ò»È¤¦¡£
-¤½¤·¤Æ¡¢¤â¤·É¬Íפʤé¤ÐB<-n>¥ª¥×¥·¥ç¥ó¤Ç¥µ¡¼¥Ó¥¹¤Î̾¾Î¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢
+サービスを削除するにはまずサービスを終了してから、B<-S>オプションと
+B<remove> パラメータを使う。
+そして、もし必要ならばB<-n>オプションでサービスの名称を指定する。
+例えば、
zebedee -n "Zebedee Client Service" -Sremove
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=begin JM-comment
=end JM-comment
-B<-S>¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¾¤Ë B<run> ¤¬¤¢¤ë¡£¤³¤ì¤ÏÆâÉô¤Ç B<Zebedee> ¤Î
-¥µ¡¼¥Ó¥¹¥¹¥¿¡¼¥È¥¢¥Ã¥×¥³¡¼¥É¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë»È¤¦¤â¤Î¤Ç¡¢
-¥æ¡¼¥¶¤¬Ä¾ÀÜ»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
+B<-S>のパラメータは他に B<run> がある。これは内部で B<Zebedee> の
+サービススタートアップコードを起動するために使うもので、
+ユーザが直接使用してはならない。
=item -x
=end JM-comment
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤¤Ê¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-»ØÄꤹ¤ë¤¿¤á¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤ì¤Ëʸ»úÎó¤Î°ú¿ô¤ò¤Ä¤±¤ë¤È¡¢
-¤½¤ì¤¬¤¢¤¿¤«¤âÀßÄê¥Õ¥¡¥¤¥ë¤Î1¹Ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¤ë¡£
-¥³¥á¥ó¥È¤Ïǧ¼±¤µ¤ì¤ë¤¬¡¢"\"¤Î·Ñ³¹Ô¤Ï»ÈÍѤǤ¤Ê¤¤¡£
-Î㤨¤Ð¡¢
+コマンドラインで指定できない設定ファイルのパラメータを
+指定するために、このオプションを使用することもできる。
+これに文字列の引数をつけると、
+それがあたかも設定ファイルの1行であるかのように処理される。
+コメントは認識されるが、"\"の継続行は使用できない。
+例えば、
zebedee -x " server true # It's a server!"
=end JM-comment
-¤È¤¤¤¦¤Þ¤ï¤ê¤¯¤É¤¤¤ä¤ê¤«¤¿¤Ç¤â¼¡¤Î¥³¥Þ¥ó¥É
+というまわりくどいやりかたでも次のコマンド
zebedee -s
-¤ÈƱ¤¸¸ú²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+と同じ効果を得ることができる。
=back
-=head3 ¥¯¥¤¥Ã¥¯¥ê¥Õ¥¡¥ì¥ó¥¹(Quick-Reference Summary)
+=head3 ã\82¯ã\82¤ã\83\83ã\82¯ã\83ªã\83\95ã\82¡ã\83¬ã\83³ã\82¹(Quick-Reference Summary)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î°ìÍ÷ɽ¤Ë¡¢Ç§¼±¤µ¤ì¤ë¥¡¼¥ï¡¼¥É¡¢°ú¿ô¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎƱÅù¥ª¥×¥·¥ç¥ó¡¢
-»ØÄê¤Ç¤¤ë¤Î¤¬¥¯¥é¥¤¥¢¥ó¥È(C)¤«¥µ¡¼¥Ð(S)¤Þ¤¿¤ÏξÊý(CS)¡¢´Êñ¤ÊÀâÌÀ¡¢
-¤ò¼¨¤¹¡£
+以下の一覧表に、認識されるキーワード、引数、コマンドラインの同等オプション、
+指定できるのがクライアント(C)かサーバ(S)または両方(CS)、簡単な説明、
+を示す。
=begin JM-comment
=end JM-comment
- checkidfile filename CS Áê¼ê¦¤òǧ¾Ú¤¹¤ë
- clienthost hostname -c S ¥µ¡¼¥Ð¤Ë¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¤ËÀܳ¤¹¤ë¤è¤¦»Ø¼¨¤¹¤ë
- command string -e C ¥È¥ó¥Í¥ëÀܳ»þ¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É
- compression level -z CS Í׵᤹¤ë°µ½Ì¥ì¥Ù¥ë¤ÎºÇÂçÃÍ
- connecttimeout seconds CS Àܳ¤ò¼õ¤±¤Ä¤±¤ë¤Þ¤Ç¤ÎÂÔ¤Á»þ´Ö
- debug boolean CS ¥·¥ó¥°¥ë¥¹¥ì¥Ã¥É¤Î¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¼Â¹Ô¤¹¤ë
- detached boolean -d CS üËö/¥³¥ó¥½¡¼¥ë¤«¤éÀÚÎ¥¤¹
- generator string CS ¡ÖDiffie-Hellman generator value¡×¤Î16¿Ê¿ô
- include filename -f CS ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÆɤߤ³¤à
- keygencommand string CS ¥¡¼¤òÀ¸À®¤¹¤ë¥³¥Þ¥ó¥É
- keygenlevel level CS À¸À®¤¹¤ë¥¡¼¤Î¶¯ÅÙ(0¤«¤é2)
- keylength bits CS Í׵᤹¤ë¥¡¼¤Îή¤µ¤ÎºÇÂçÃÍ(¥Ó¥Ã¥Èñ°Ì)
- keylifetime seconds CS ÈëÌ©¸°¤Î¼÷Ì¿
- listenmode boolean -l C ¥¯¥é¥¤¥¢¥ó¥È¤Ë¥µ¡¼¥Ð¤ÎÀܳ¤òÂԤĤ褦»Ø¼¨¤¹¤ë
- localsource boolean C ¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤ÎÀܳ¤Î¤ß¤ò¼õ¤±¤Ä¤±¤ë
- logfile filename -o CS ¥í¥°¥Õ¥¡¥¤¥ë¤òÀßÄê
- maxbufsize bytes CS ¥Ç¡¼¥¿Æɤ߹þ¤ßÍѤΥХåե¡¡¼¥µ¥¤¥º¤ò»ØÄê
- message string CS »ØÄꤵ¤ì¤¿Ê¸»úÎó¤ò½ÐÎϤ¹¤ë
- minkeylength bits CS ¼õ¤±¤Ä¤±¤ë¥¡¼Ä¹¤ÎºÇ¾®ÃÍ
- modulus string CS ¡ÖDiffie-Hellman modulus value¡×¤Î16¿Ê¿ô
- multiuse boolean -m C Ê£¿ô¤ÎÀܳ¤ò°·¤¦
- name string CS ¥×¥í¥°¥é¥à̾¤ò»ØÄꤹ¤ë
- privatekey string CS ÈëÌ©¸°¤Î16¿Ê¿ô
- redirect ports -r S ¥µ¡¼¥Ð¤¬¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¥Ý¡¼¥È
- server boolean -s CS ¥µ¡¼¥Ð¥â¡¼¥É¤«¥¯¥é¥¤¥¢¥ó¥È¥â¡¼¥É¤«
- serverhost hostname C Àܳ¤¹¤Ù¤¥µ¡¼¥Ð¤Î̾Á°
- serverport port -T CS ¥µ¡¼¥Ð¤¬ÂÔ¤Á¤¦¤±¤ë¥Ý¡¼¥ÈÈÖ¹æ
- target spec S ¥¿¡¼¥²¥Ã¥È¤È¤Ç¤¤ë¥Û¥¹¥È¤È¥Ý¡¼¥È¤ò»ØÄꤹ¤ë
- timestamplog boolean -t CS ¥í¥°¥Õ¥¡¥¤¥ë¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÉղ乤ë
- tunnel spec C ¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ý¡¼¥È¤ÈÂбþ¤¹¤ë¥¿¡¼¥²¥Ã¥È¤ò»ØÄꤹ¤ë
- udpmode boolean -u CS UDP¤ÎÄÌ¿®¤ò°·¤¦
- udptimeout seconds CS UDP¤Î¥È¥ó¥Í¥ë¤Ë¤ª¤±¤ë̵ÄÌ¿®¤ÎÂÔ¤Á»þ´Ö
- verbosity level -v CS ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥ì¥Ù¥ë¤òÀßÄꤹ¤ë
+ checkidfile filename CS 相手側を認証する
+ clienthost hostname -c S サーバにクライアントホストに接続するよう指示する
+ command string -e C トンネル接続時に実行するコマンド
+ compression level -z CS 要求する圧縮レベルの最大値
+ connecttimeout seconds CS 接続を受けつけるまでの待ち時間
+ debug boolean CS シングルスレッドのデバッグモードで実行する
+ detached boolean -d CS 端末/コンソールから切離す
+ generator string CS 「Diffie-Hellman generator value」の16進数
+ include filename -f CS コンフィギュレーションファイルを読みこむ
+ keygencommand string CS キーを生成するコマンド
+ keygenlevel level CS 生成するキーの強度(0から2)
+ keylength bits CS 要求するキーの流さの最大値(ビット単位)
+ keylifetime seconds CS 秘密鍵の寿命
+ listenmode boolean -l C クライアントにサーバの接続を待つよう指示する
+ localsource boolean C ローカルマシンからの接続のみを受けつける
+ logfile filename -o CS ログファイルを設定
+ maxbufsize bytes CS データ読み込み用のバッファーサイズを指定
+ message string CS 指定された文字列を出力する
+ minkeylength bits CS 受けつけるキー長の最小値
+ modulus string CS 「Diffie-Hellman modulus value」の16進数
+ multiuse boolean -m C 複数の接続を扱う
+ name string CS プログラム名を指定する
+ privatekey string CS 秘密鍵の16進数
+ redirect ports -r S サーバがリダイレクトするポート
+ server boolean -s CS サーバモードかクライアントモードか
+ serverhost hostname C 接続すべきサーバの名前
+ serverport port -T CS サーバが待ちうけるポート番号
+ target spec S ターゲットとできるホストとポートを指定する
+ timestamplog boolean -t CS ログファイルにタイムスタンプを付加する
+ tunnel spec C クライアントのポートと対応するターゲットを指定する
+ udpmode boolean -u CS UDPの通信を扱う
+ udptimeout seconds CS UDPのトンネルにおける無通信の待ち時間
+ verbosity level -v CS メッセージのログレベルを設定する
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¥¡¼¥ï¡¼¥É¤ËÂбþ¤¹¤ë¤â¤Î¤¬¤Ê¤¤
+以下のオプションにはキーワードに対応するものがない
- -p ÈëÌ©¸°¤òÀ¸À®¤¹¤ë
- -P ¥Ñ¥Ö¥ê¥Ã¥¯¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤òÀ¸À®¤¹¤ë
+ -p 秘密鍵を生成する
+ -P パブリックアイデンティティを生成する
-h file
- ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¥Ï¥Ã¥·¥å¤·¤Æ·ë²Ì¤òɽ¼¨¤¹¤ë
+ ファイルの内容をハッシュして結果を表示する
-Sinstall=file
- »ØÄꤵ¤ì¤¿¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤È¤È¤â¤ËWindows¤Î¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
+ 指定されたコンフィギュレーションファイルとともにWindowsのサービスとしてインストールする
-Sremove
- Windows¤Î¥µ¡¼¥Ó¥¹¤òºï½ü¤¹¤ë
+ Windowsのサービスを削除する
-x string
- ¥ª¥×¥·¥ç¥óʸ»úÎó¤ò²ò¼á¤¹¤ë
+ オプション文字列を解釈する
=head2 Identity Checking
=end JM-comment
-B<Zebedee> ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢2ÅÀ´Ö¤Ë°Å¹æ²½¥Á¥ã¥Í¥ë¤òÀ¸À®¤¹¤ë¤Ë²á¤®¤Ê¤¤¡£
-¤´¾µÃΤÎÄ̤ꡢ¥Ç¡¼¥¿¤Ï "on the wire (ÄÌ¿®Àþ¾å)" ¤Ç¤ÎÅðÄ°¤«¤é¤Ï¼é¤é¤ì¤ë¤¬¡¢
-¤¢¤Ê¤¿¤¬ÁÛÄꤷ¤Æ¤¤¤ëÁê¼ê¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤«Èݤ«¤ÏÊݾڤµ¤ì¤Ê¤¤¡£
-¤³¤ì¤Ï¡¢"man-in-the-middle (Âè»°¼Ô¤Ë¤è¤ë²£¼è¤ê)" ¥¢¥¿¥Ã¥¯¤ËÂФ·¤Æ¤Ï̵ËÉÈ÷¤Ç¤¢¤ë¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬¥Ç¡¼¥¿¤Î°µ½Ì¤È¡¢ÅðÄ°¤«¤é¼é¤ë¤³¤È¤òÂè°ì¤Ë¿´ÇÛ¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Ï¤³¤Î¾ò·ï¤ËËþ¤¹¤ë¤À¤í¤¦¡£
-¤·¤«¤·¡¢¤¢¤Ê¤¿¤ÎÄÌ¿®¤¬Âè»°¼Ô¤Ë²£¼è¤ê¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ËÂФ¹¤ëÊݾڤòµá¤á¤ë¤Ê¤é¡¢
-B<Zebedee> ¤Ï¤½¤ì¤ò¹Ô¤¦¤¿¤á¤ÎÊص¹¤òÄ󶡤¹¤ë¡£
+B<Zebedee> はデフォルトでは、2点間に暗号化チャネルを生成するに過ぎない。
+ご承知の通り、データは "on the wire (通信線上)" での盗聴からは守られるが、
+あなたが想定している相手に接続されているか否かは保証されない。
+これは、"man-in-the-middle (第三者による横取り)" アタックに対しては無防備である。
+もし、あなたがデータの圧縮と、盗聴から守ることを第一に心配しているなら、
+あなたはこの条件に満足するだろう。
+しかし、あなたの通信が第三者に横取りされていないことに対する保証を求めるなら、
+B<Zebedee> はそれを行うための便宜を提供する。
=begin JM-comment
=end JM-comment
-¤â¤·¡¢Æ±°ì¤ÎÁÇ¿ô¤È¸¶»Ïº¬¤ÈÈëÌ©¸°¤¬ÍѤ¤¤é¤ì¤ë¤Ê¤é¡¢¤½¤ì¤é¤Ï
-Diffie-Hellman ¤Î¸°¸ò´¹¥×¥í¥È¥³¥ë¤Î¤¿¤á¤Ë¡¢¾ï¤ËƱ¤¸¸ø³«¸°¤òÀ¸À®¤¹¤ë¤À¤í¤¦¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬(ÀßÄê¥Õ¥¡¥¤¥ë¤ÎB<L<privatekey|/item_privatekey>>¥¡¼¥ï¡¼¥É¤Ë¤ÆÀßÄꤵ¤ì¤¿)
-¸ÇÄꤵ¤ì¤¿ÈëÌ©¸°¤òÍѤ¤¤ë¤Ê¤é¡¢
-B<Zebedee> ¤ÏÁÇ¿ô¤È¸¶»Ïº¬¤ÈÈëÌ©¸°¤ÎÃͤÎÁ´¤Æ¤ò¥Ï¥Ã¥·¥å¤·¤Æ "fingerprint (»ØÌæ)" ¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤³¤ì¤Ï¡¢B<-P> ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¹Ô¤ï¤ì¤ë¡£
-Î㤨¤Ð¡¢server.key ¥Õ¥¡¥¤¥ë¤¬¼¡¤ÎÃÍ
+もし、同一の素数と原始根と秘密鍵が用いられるなら、それらは
+Diffie-Hellman の鍵交換プロトコルのために、常に同じ公開鍵を生成するだろう。
+もし、あなたが(設定ファイルのB<L<privatekey|/item_privatekey>>キーワードにて設定された)
+固定された秘密鍵を用いるなら、
+B<Zebedee> は素数と原始根と秘密鍵の値の全てをハッシュして "fingerprint (指紋)" を生成することができる。
+これは、B<-P> オプションにより行われる。
+例えば、server.key ファイルが次の値
privatekey "1e34d6769502bae1087c18d2e8c8776e4a17ddaf"
-¤Ç¤¢¤ë¤È¤¡¢
+であるとき、
=begin JM-comment
=end JM-comment
-¼¡¤Î¥³¥Þ¥ó¥É
+次のコマンド
$ zebedee -P -f server.key > server.id
-¤ò¼Â¹Ô¤¹¤ë¤È¡¢
+を実行すると、
=begin JM-comment
=end JM-comment
-¤³¤Î¤è¤¦¤Ê½ÐÎÏ
+このような出力
135f04050961d37553731250d5c6f7495f088b32 myhostname
-¤¬ÆÀ¤é¤ì¤ë¡£
+が得られる。
=begin JM-comment
=end JM-comment
-¤³¤ÎºÇ½é¤Î16¿Ê¿ô¤¬ "fingerprint (»ØÌæ)" ¤Ç¤¢¤ë¡£
-¹ÔÃæ¤Î¾¤Îʸ»úÎó¤Ï¡¢¤³¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Î½êͼԤòɽ¤¹¥³¥á¥ó¥È¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ì¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤¬À¸À®¤µ¤ì¤¿¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤Ç¤¢¤ë¡£
+この最初の16進数が "fingerprint (指紋)" である。
+行中の他の文字列は、このアイデンティティの所有者を表すコメントである。
+デフォルトでは、これはアイデンティティが生成されたマシンのホスト名である。
=begin JM-comment
=end JM-comment
-ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ
-B<L<checkidfile|/item_checkidfile>> ¥¡¼¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ÎÃͤÏ
-"fingerprint (»ØÌæ)" ¹Ô¤òµ½Ò¤·¤¿¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¡£ ¤â¤·¡¢Àܳ
-Àè¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤¬¥Õ¥¡¥¤¥ëÃæ¤Î¤¤¤«¤Ê¤ëÃͤȤâ°ìÃפ·¤Ê¤¤¾ì¹ç¡¢
-Àܳ¤ÏÀÚÃǤµ¤ì¤ë¡£
+設定ファイルにおいて
+B<L<checkidfile|/item_checkidfile>> キーワードが設定された場合、その値は
+"fingerprint (指紋)" 行を記述したファイルのファイル名である。 もし、接続
+先のアイデンティティがファイル中のいかなる値とも一致しない場合、
+接続は切断される。
-=head2 ¤½¤Î¾¤Î¥»¥¥å¥ê¥Æ¥£´ØÏ¢¤ÎÃíµ(Notes on Other Security Issues)
+=head2 その他のセキュリティ関連の注記(Notes on Other Security Issues)
=over 4
=end JM-comment
-¥×¥í¥È¥³¥ë¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ò²Äǽ¤Ê¸Â¤ê¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢
-B<Zebedee> ¤ÏÅÁÁ÷¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎÀµ¤·¤µ¤ËÂФ¹¤ë³Îǧ¤Ï²¿¤â¹Ô¤Ã¤Æ¤¤¤Ê¤¤¡£
-¤½¤Î¤¿¤á¡¢¥¢¥¿¥Ã¥«¡¼¤ÏÅÓÃæ¤Ç¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ò²þÊѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·¡¢°Å¹æ¤Î»ÈÍѤϥǡ¼¥¿¤òǤ°Õ¤ËÊÑ´¹¤¹¤ë¤³¤È¤ò¶Ë¤á¤Æº¤Æñ¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«
-(Î㤨¤Ð¡¢"C<ls -l>"¤ò"C<rm -f>"¤Ë½ñ¤´¹¤¨¤é¤ì¤ë¤«¤¤¡©) ¡£
-¤·¤«¤·¡¢B<Zebedee> ¤Ï¥é¥ó¥À¥à¤Ê¥Ç¡¼¥¿¤¬Á÷¤é¤ì¤¿¤³¤È¤Ë¤è¤ë±Æ¶Á¤«¤é
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼é¤ë¤³¤È¤Ï¹Ô¤ï¤Ê¤¤¡£
+プロトコルのオーバーヘッドを可能な限り小さくするために、
+B<Zebedee> は伝送されたデータの正しさに対する確認は何も行っていない。
+そのため、アタッカーは途中でデータパケットを改変することができる。
+しかし、暗号の使用はデータを任意に変換することを極めて困難にしているのではないか
+(例えば、"C<ls -l>"を"C<rm -f>"に書き換えられるかい?) 。
+しかし、B<Zebedee> はランダムなデータが送られたことによる影響から
+アプリケーションを守ることは行わない。
=item Replay and Insertion Attacks
=end JM-comment
-¿¤¯¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤ÆͤêÆÀ¤ë¹¶·â¤Î°ì¤Ä¤Ï
-¥Ç¡¼¥¿¤Î¥¥ã¥×¥Á¥ã¥ê¥ó¥°¤Ç¤¢¤ê¡¢Îɤ¯ÃΤé¤ì¤¿¸ú²Ì¤òµÚ¤Ü¤¹
-(Î㤨¤Ð¡¢´ÉÍý¼Ô¤Î B<telnet> ¥»¥Ã¥·¥ç¥ó¤Ë¤Ï¤¢¤ë¼ï¤Î"´í¸±¤Ê"Áàºî¤¬È¼¤¤¡¢
-¤½¤ÎÁàºî¤ò¸å¤Ë·«¤êÊÖ¤µ¤ì¤¿¤é¤É¤¦¤Ê¤ë¤«)¡£
-¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢°Å¹æ²½¤µ¤ì¤¿¥Ç¡¼¥¿¥¹¥È¥ê¡¼¥à¤ò²þÊѤ¹¤ëɬÍפÏ̵¤¤¤¬¡¢
-¥µ¡¼¥Ð¤ËÁ÷¤é¤ì¤¿Æ±¤¸¥Í¥Ã¥È¥ï¡¼¥¯¥Ñ¥±¥Ã¥È¤Ï¡¢Æ±¤¸¥ì¥¹¥Ý¥ó¥¹¤ò°ú¤½Ð¤¹¤À¤í¤¦¡£
+多くのネットワークシステムにおいて有り得る攻撃の一つは
+データのキャプチャリングであり、良く知られた効果を及ぼす
+(例えば、管理者の B<telnet> セッションにはある種の"危険な"操作が伴い、
+その操作を後に繰り返されたらどうなるか)。
+これを行うには、暗号化されたデータストリームを改変する必要は無いが、
+サーバに送られた同じネットワークパケットは、同じレスポンスを引き出すだろう。
=begin JM-comment
=end JM-comment
-B<Zebedee> ¤¬ "anonymous" ¥â¡¼¥É¤ÇÆ°ºî¤·¤Æ¤¤¤ë¤È¤¡¢
-¥»¥Ã¥·¥ç¥óËè¤Ë°Û¤Ê¤ë¸°¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢
-¤³¤Î¤è¤¦¤Ê¥¢¥¿¥Ã¥¯¤¬À®¸ù¤¹¤ë´í¸±¤ÏÈó¾ï¤Ë¾®¤µ¤¤¡£
-¤·¤«¤·¡¢L<identity checking|Identity Checking>¤Îµ¡Ç½¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤¤Ë¤Ï
-¸°¤Ï¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ºÆÀ¸¤Ï¼ÂºÝ¤Ë²ÄǽÀ¤¬¤¢¤ë¡£
-B<Zebedee>¤Ï¡¢°ì¤Ä°ì¤Ä¤ÎÀܳËè¤Ë¥æ¥Ë¡¼¥¯¤Ê¥»¥Ã¥·¥ç¥ó¥¡¼¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¡¢
-¤³¤ÎÌäÂê¤ËÂн褷¤Æ¤¤¤ë¡£
-¤³¤ÎÊýË¡¤Ç¤Ï¡¢Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤ÎºÇ¸å¤Ë¡¢¥Á¥ã¥ì¥ó¥¸-¥ì¥¹¥Ý¥ó¥¹¤Î¸ò´¹¤¬¹Ô¤Ê¤ï¤ì¡¢
-Áê¼ê¦¤Î¥·¥¹¥Æ¥à¤¬shared secret key¤òÊÝ»ý¤·¤Æ¤ª¤ê¡¢
-°ÊÁ°¤ËµÏ¿¤µ¤ì¤¿¥Ç¡¼¥¿¤ò¥ª¥¦¥àÊÖ¤·¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¡¢
-³Îǧ¤µ¤ì¤ë¡£
+B<Zebedee> が "anonymous" モードで動作しているとき、
+セッション毎に異なる鍵が生成されるため、
+このようなアタックが成功する危険は非常に小さい。
+しかし、L<identity checking|Identity Checking>の機能が使われているときには
+鍵は固定されているので、再生は実際に可能性がある。
+B<Zebedee>は、一つ一つの接続毎にユニークなセッションキーを生成することで、
+この問題に対処している。
+この方法では、接続のセットアップの最後に、チャレンジ-レスポンスの交換が行なわれ、
+相手側のシステムがshared secret keyを保持しており、
+以前に記録されたデータをオウム返ししているわけではないことが、
+確認される。
=begin JM-comment
=end JM-comment
-²Ã¤¨¤Æ¡¢B<Zebedee> ¤Ï Blowfish °Å¹æË¡¤ò "cipher feedback" ¥â¡¼¥É¤ÇÍѤ¤¤Æ¤ª¤ê¡¢
-¥Ç¡¼¥¿¤Î¤¢¤é¤æ¤ëÉôʬ¤ÎÊ£¹æ¤Ï¡¢
-¤½¤ì°ÊÁ°¤ÎÁ´¤Æ¤Î¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ÎÊ£¹æ¤¬À®¸ù¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë°Í¸¤¹¤ë¡£
-¥Á¥ã¥ì¥ó¥¸¡¦¥ì¥¹¥Ý¥ó¥¹¤Ï¥Ç¡¼¥¿¥¹¥È¥ê¡¼¥à¤Î "salts" ¤ò¸ò´¹¤¹¤ë¤Î¤Ç¡¢
-¥È¥ó¥Í¥ë²½¤µ¤ì¤¿¥×¥í¥È¥³¥ë¤Ë "known plain-text" ¥¢¥¿¥Ã¥¯(¼½ñ¹¶·â)¤ò²Ã¤¨¤ë¤Î¤Ï
-¤è¤êº¤Æñ¤Ë¤Ê¤ë¡£
+加えて、B<Zebedee> は Blowfish 暗号法を "cipher feedback" モードで用いており、
+データのあらゆる部分の複号は、
+それ以前の全てのデータパケットの複号が成功しているかどうかに依存する。
+チャレンジ・レスポンスはデータストリームの "salts" を交換するので、
+トンネル化されたプロトコルに "known plain-text" アタック(辞書攻撃)を加えるのは
+より困難になる。
=item Key Generation
=end JM-comment
-Îɤ¯¤Ê¤¤¸°¤Î»ÈÍѤϡ¢ºÇ¶¯¤Î°Å¹æ²½¥á¥«¥Ë¥º¥à¤ò¤â±ø¤¹¤³¤È¤¬¤Ç¤¤ë¡£
-¸°¤òÀ¸À®¤¹¤ë¤È¤¡¢B<Zebedee> ¤Ï²Äǽ¤Ê¸Â¤ê¿ä¬¤¬º¤Æñ¤Ê¥Ç¡¼¥¿¤ò¤«¤½¸¤á¤Æ¡¢
-¤½¤ì¤ò SHA ¥Ï¥Ã¥·¥å¥¢¥ë¥´¥ê¥º¥à¤Ë¤è¤ê "¥¹¥Æ¥¢ (¤«¤º®¤¼¤ë)" ¤¹¤ë¡£
+良くない鍵の使用は、最強の暗号化メカニズムをも汚すことができる。
+鍵を生成するとき、B<Zebedee> は可能な限り推測が困難なデータをかき集めて、
+それを SHA ハッシュアルゴリズムにより "ステア (かき混ぜる)" する。
=begin JM-comment
=end JM-comment
-Windows¤Î¾ì¹ç¡¢¥¢¥¿¥Ã¥«¡¼¤¬´û¤Ë¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ì¤Ð¡¢
-¼èÆÀ²Äǽ¤Ê¤¢¤é¤æ¤ë¥Ç¡¼¥¿¤Ïͽ¬¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·´û¤Ë¸ÀµÚ¤·¤¿¤è¤¦¤Ë¡¢
-¤Û¤È¤ó¤É¤ÎÍÑÅӤˤª¤¤¤Æ¤³¤ì¤ÏµöÍƤǤ¤ë¤À¤í¤¦¡£
-¶½Ì£¤¬¤¢¤ë¤Ê¤é¤Ð¡¢¥×¥í¥°¥é¥àÃæ¤Î¥³¥á¥ó¥È¤Ë¾ÜºÙ¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-»²¾È¤µ¤ì¤¿¤¤¡£
+Windowsの場合、アタッカーが既にシステムにアクセスしていれば、
+取得可能なあらゆるデータは予測することができる。
+しかし既に言及したように、
+ほとんどの用途においてこれは許容できるだろう。
+興味があるならば、プログラム中のコメントに詳細が説明されているので、
+参照されたい。
=begin JM-comment
=end JM-comment
-¤â¤·¡¢¸°¤ÎÀ¸À®¥á¥«¥Ë¥º¥à¤ËÉÔËþ¤¬¤¢¤ë¤Ê¤é¡¢
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤ÎB<L<keygencommand|/item_keygencommand>> ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¡¢
-³°Éô¤Î¸°À¸À®¥×¥í¥°¥é¥à¤ò¸Æ¤Ù¤ÐÎɤ¤¡£
-ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëÀǽ¤ò²þÁ±¤¹¤ëÄó°Æ¤ÏÂç´¿·Þ¤À!
+もし、鍵の生成メカニズムに不満があるなら、
+設定ファイル中のB<L<keygencommand|/item_keygencommand>> オプションを用いて、
+外部の鍵生成プログラムを呼べば良い。
+組み込まれている性能を改善する提案は大歓迎だ!
=back
-=head1 ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°(TROUBLESHOOTING)
+=head1 ã\83\88ã\83©ã\83\96ã\83«ã\82·ã\83¥ã\83¼ã\83\86ã\82£ã\83³ã\82°(TROUBLESHOOTING)
=begin JM-comment
=end JM-comment
-B<Zebedee> ¤Ï¡ÖÈ¢¤«¤é½Ð¤·¤Æ¤¹¤°¤½¤Î¤Þ¤Þ¡×Æ°¤¯¤Ù¤¤À¤¬¡¢¤¢¤Ê¤¿¤Ï¥È¥é¥Ö¥ë
-¤Ë¤¢¤¦¤«¤â¤·¤ì¤Ê¤¤¡£¤Û¤È¤ó¤É¤Î¥È¥é¥Ö¥ë¤ÏÀܳ¤Î³ÎΩ»þ¤Ëµ¯¤³¤ë
-(Àܳ¤µ¤¨¤¦¤Þ¤¯¤¤¤±¤Ð¡¢¥Ç¡¼¥¿Å¾Á÷¤Ï¥¹¥à¡¼¥º¤Ë¤¤¤¯¤³¤È¤¬Â¿¤¤)¡£
-(Àܳ¤Î)¥»¥Ã¥È¥¢¥Ã¥×¤Î¼ê½ç¤Ë²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤«´Êñ¤Ë¸«¤ë¤Ë¤ÏB<-v>¥ª¥×¥·¥ç¥ó¤ò
-»È¤¨¤Ð¤è¤¤¡£B<-d> B<-D> ¤â¤¤¤Ã¤·¤ç¤Ë»È¤Ã¤Æ¡¢B<Zebedee>¤òüËö¤«¤é½ªÎ»¤Ç¤
-¤ë¤è¤¦¤Ë¤·¤Æ¡¢°ìÅ٤˰ì¤Ä¤ÎÀܳ¤·¤«½èÍý¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤Û¤¦¤¬¤¤
-¤¤¤«¤â¤·¤ì¤Ê¤¤¡£¤À¤«¤é¡¢¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡£
+B<Zebedee> は「箱から出してすぐそのまま」動くべきだが、あなたはトラブル
+にあうかもしれない。ほとんどのトラブルは接続の確立時に起こる
+(接続さえうまくいけば、データ転送はスムーズにいくことが多い)。
+(接続の)セットアップの手順に何が起こっているか簡単に見るにはB<-v>オプションを
+使えばよい。B<-d> B<-D> もいっしょに使って、B<Zebedee>を端末から終了でき
+るようにして、一度に一つの接続しか処理しないようにしたほうがい
+いかもしれない。だから、こんな感じになるだろう。
zebedee -dD -v 3 -s
=end JM-comment
-¥í¥®¥ó¥°¥ì¥Ù¥ë¤ò3¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢
-Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤Î¼ç¤Ê¤ä¤ê¤È¤ê¤ò¸«¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-ÌäÂ꤬¤½¤Î¸å¤Ëµ¯¤¤Æ¤ë¤È³Î¿®¤¬»ý¤Æ¤ë¤Ê¤é¤Ð¡¢
-¥ì¥Ù¥ë¤ò4¤«5¤Ë¤¹¤ì¤Ð¡¢
-(Àܳ»þ¤À¤±¤Ç¤Ê¤¯)¼ÂºÝ¤ÎÄÌ¿®¤Ç²¿¤¬¤ä¤ê¤È¤ê¤µ¤ì¤Æ¤¤¤ë¤«¤â¸«¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+ロギングレベルを3に設定することで、
+接続のセットアップの主なやりとりを見ることができる。
+問題がその後に起きてると確信が持てるならば、
+レベルを4か5にすれば、
+(接続時だけでなく)実際の通信で何がやりとりされているかも見ることができる。
=head1 EXAMPLES
files. The following sections describe how they can be used as well as how
to use B<Zebedee> to tunnel some specific protocols.
-(ÌõÃí¡§distribution¤È¤¤¤¦¸ÀÍÕ¤ò¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÈÌõ¤¹¤È¡¢»þÀáÊÁ
-Redhat¤ädebian¤Ê¤É¤Îlinux¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Èº®Æ±¤µ¤ì¤½¤¦¤Ê¤Î¤Ç
-¥Ñ¥Ã¥±¡¼¥¸¤ÈÌõ¤·¤Þ¤¹)
+(訳注:distributionという言葉をディストリビューションと訳すと、時節柄
+Redhatやdebianなどのlinuxのディストリビューションと混同されそうなので
+パッケージと訳します)
=end JM-comment
-B<Zebedee> ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï¡¢¤¿¤¯¤µ¤ó¤Î¥µ¥ó¥×¥ë¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤³¤Ç¤Ï¡¢¤½¤ì¤é¤Î»ÈÍÑË¡¤È B<Zebedee> ¤ò
-ÆÃÄê¤Î¤¤¤¯¤Ä¤«¤Î¥×¥í¥È¥³¥ë¤Ç»ÈÍѤ¹¤ë¶ñÂÎŪ¤ÊÊýË¡¤ò½Ò¤Ù¤ë¡£
+B<Zebedee> のパッケージには、たくさんのサンプルの設定ファイルが含まれている。
+ここでは、それらの使用法と B<Zebedee> を
+特定のいくつかのプロトコルで使用する具体的な方法を述べる。
-=head2 ¥µ¡¼¥ÐÀßÄê¤ÎÎã(Example Server Configuration)
+=head2 サーバ設定の例(Example Server Configuration)
=begin JM-comment
=end JM-comment
-B<Zebedee>¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë F<server.zbd> ¤È¤¤¤¦ÀßÄê¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¡£
-¤³¤ì¤Ë¤Ï¤è¤¯»È¤ï¤ì¤ë¤Û¤È¤ó¤É¤Î¥ª¥×¥·¥ç¥ó¤ÎÀßÄêÎ㤬¤¢¤ë¡£
+B<Zebedee>のパッケージに含まれる F<server.zbd> という設定ファイルがある。
+これにはよく使われるほとんどのオプションの設定例がある。
#
# Sample Zebedee server configuration file
=end JM-comment
-ǧ¾Ú¤Îµ¡Ç½¤ò¥Æ¥¹¥È¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-B<L<checkidfile|/item_checkidfile>>¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ëF<client1.key>¤«F<client2.key>¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ç»ÈÍѤ¹¤ì¤Ð¤è¤¤¡£
+認証の機能をテストするためには、
+B<L<checkidfile|/item_checkidfile>>の行をコメントアウトし、
+パッケージに含まれるF<client1.key>かF<client2.key>というファイルをクライアント側で使用すればよい。
-=head2 VNC¤Î»ÈÍÑÎã(Use with VNC)
+=head2 VNCの使用例(Use with VNC)
=begin JM-comment
=end JM-comment
-B<Zebedee>¤òºî¤Ã¤¿Íýͳ¤Î°ì¤Ä¤È¤·¤Æ¡¢¥À¥¤¥¢¥ë¥¢¥Ã¥×¤ÇVNC¤ò»È¤¦¤È¤¤¤¦¤³¤È¤¬¤¢¤ë¡£
-VNC¤Ï¡Ö¥ê¥â¡¼¥È¥Õ¥ì¡¼¥à¥Ð¥Ã¥Õ¥¡¥³¥ó¥»¥×¥È¡×¤ò»È¤¤¡¢
-¥ê¥â¡¼¥È¥Ç¥£¥¹¥×¥ì¥¤¤òÄ󶡤¹¤ë¥Õ¥ê¡¼¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ë¡£
-Windows¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤òÎ¥¤ì¤¿½ê¤Ëɽ¼¨¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤·¡¢
-"Xvnc"¥µ¡¼¥Ð¤ò»È¤Ã¤Æ X ¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤ò
-VNC¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤«¤éÁàºî¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤·¡¢
-Java¤ò»È¤¨¤ë¥Ö¥é¥¦¥¶¡¼¤ÎÃ椫¤éÁàºî¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¾Ü¤·¤¯¤Ïhttp://www.uk.research.att.com/vnc/¤ò»²¾È¤Î¤³¤È¡£
+B<Zebedee>を作った理由の一つとして、ダイアルアップでVNCを使うということがある。
+VNCは「リモートフレームバッファコンセプト」を使い、
+リモートディスプレイを提供するフリーのシステムである。
+Windowsのデスクトップを離れた所に表示することもできるし、
+"Xvnc"サーバを使って X のデスクトップを
+VNCクライアントマシンから操作することもできるし、
+Javaを使えるブラウザーの中から操作することもできる。
+詳しくはhttp://www.uk.research.att.com/vnc/を参照のこと。
=begin JM-comment
=end JM-comment
-Ä󶡤µ¤ì¤ë¥µ¡¼¥Ð¤ÎÀßÄêÎã¤Ç¤¢¤ëF<server.zbd> ¤Ï 5900-5999 ¥Ý¡¼¥È¤ò
-¥ê¥À¥¤¥ì¥¯¥È¤·¤ÆVNC¥»¥Ã¥·¥ç¥ó¤ò¥È¥ó¥Í¥ê¥ó¥°¤¹¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÏUNIX¤Ç¤âWindows¤Ç¤â»ÈÍѤǤ¤ë¤¬¡¢
-Windows¤Ç»È¤¦¤¿¤á¤Ë¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Î"AllowLoopback"¥Õ¥é¥°¤ò
-¥»¥Ã¥È¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ÇÃí°Õ¡£
-°Ê²¼¤ÎÃÇÊÒ¤ò(ÀèƬ¤Î¥¹¥Ú¡¼¥¹¤ò¼è¤ê½ü¤¤¤Æ¤«¤é)¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ
-B<regedit> ¤ËÆɤޤ»¤ì¤Ð¡¢¤½¤Î¥È¥ê¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë¡£
+提供されるサーバの設定例であるF<server.zbd> は 5900-5999 ポートを
+リダイレクトしてVNCセッションをトンネリングする。
+このファイルはUNIXでもWindowsでも使用できるが、
+Windowsで使うためには、レジストリの"AllowLoopback"フラグを
+セットする必要があるので注意。
+以下の断片を(先頭のスペースを取り除いてから)ファイルに保存して
+B<regedit> に読ませれば、そのトリックを実行する。
REGEDIT4
=end JM-comment
-¤³¤ÎÆâÍÆ¤Ï B<Zebedee> ¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Î F<vncloopback.reg> ¤Ë¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥ì¥¸¥¹¥È¥ê¤òÀßÄꤹ¤ì¤Ð¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÍ¿¤¨¤é¤ì¤¿¥Û¥¹¥È¤Ë¥È¥ó¥Í¥ê¥ó¥°¤µ¤ì¤¿VNC ¥Ó¥å¡¼¥ï¤ò
-F<vncviewer.zbd> ¤Çµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-°Ê²¼¤Ë F<vncviewer.zbd> ¤ÎÆâÍƤò¼¨¤¹¡£
+この内容は B<Zebedee> パッケージの中の F<vncloopback.reg> にも含まれている。
+このレジストリを設定すれば、コマンドラインで与えられたホストにトンネリングされたVNC ビューワを
+F<vncviewer.zbd> で起動することができる。
+以下に F<vncviewer.zbd> の内容を示す。
#
# Zebedee configuration file to start up a tunnelled VNC session
=end JM-comment
-°Ê²¼¤Î¤è¤¦¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢
+以下のようにこのファイルを使用すると、
zebedee -f vncviewer.zbd somehost:5901
=end JM-comment
-I<somehost>¤Î5901È֥ݡ¼¥È¤ÎVNC¥µ¡¼¥Ð¤Ë¥È¥ó¥Í¥ë¤·¤¿VNC¥Ó¥å¡¼¥ï¤òµ¯Æ°¤¹¤ë¡£
-(VNCÉ÷¤Î¤¤¤¤¤«¤¿¤Ç¡¢"B<somehost:1>"¤È¤·¤Æ»²¾È¤µ¤ì¤ë¥µ¡¼¥Ð¤Ç¤¢¤ë)
+I<somehost>の5901番ポートのVNCサーバにトンネルしたVNCビューワを起動する。
+(VNC風のいいかたで、"B<somehost:1>"として参照されるサーバである)
=begin JM-comment
=end JM-comment
-VNC¤ÏJava¤Î¥Ó¥å¡¼¥ï¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-¤â¤·¥µ¡¼¥Ð¤¬¥Ý¡¼¥È59xx¤ÇÆ°ºî¤·¤Æ¤¤¤¿¤é¡¢
-¥Ó¥å¡¼¥ï¤ò58xx¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢
-¤É¤¦¤âJava¥Ó¥å¡¼¥ï¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¥á¥¤¥ó¤ÎVNC¥Ý¡¼¥ÈÈÖ¹æ¤ÇÄÌ¿®¤·¤Æ¤¤¤ë¤è¤¦¤À¡£
-¤½¤Î¤¿¤á¡¢Java¥Ó¥å¡¼¥ï¤Ç¤³¤ì¤ò¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢
-¥í¡¼¥«¥ë¤È¥ê¥â¡¼¥È¤ÇƱ¤¸¥Ý¡¼¥ÈÈÖ¹æ¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£
-¤½¤Î¤¿¤á¡¢Î㤨¤Ð¡¢5901È֤Υݡ¼¥È¤ò»È¤Ã¤Æ¤¤¤ëVNC¥µ¡¼¥Ð¤Ø¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò
-¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£
+VNCはJavaのビューワもサポートしている。
+もしサーバがポート59xxで動作していたら、
+ビューワを58xxからダウンロードすることができる。
+しかしながら、
+どうもJavaビューワはクライアントへのメインのVNCポート番号で通信しているようだ。
+そのため、Javaビューワでこれをトンネルするには、
+ローカルとリモートで同じポート番号を使う必要がある。
+そのため、例えば、5901番のポートを使っているVNCサーバへのトラフィックを
+トンネルするには、次のようにする。
zebedee 5801,5901:remotehost:5801,5901
=end JM-comment
-¤â¤·¥í¡¼¥«¥ë¥Þ¥·¥ó¤Ç¤â5901È֥ݡ¼¥È¤ò»È¤Ã¤¿VNC¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¤È¡¢
-¤³¤ì¤Ï¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£
-¤·¤«¤·¡¢¥Ý¡¼¥È¤¬¾×Æͤ·¤Ê¤¤¤è¤¦¤Ëξ¼Ô¤òÄ´À°¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¢¤ë¡£
+もしローカルマシンでも5901番ポートを使ったVNCサーバが動いていると、
+これはうまくいかない。
+しかし、ポートが衝突しないように両者を調整することは可能である。
=begin JM-comment
=end JM-comment
-¤â¤¦¤Ò¤È¤Ä¤À¤±¸À¤Ã¤Æ¤ª¤¯¤³¤È¤¬¤¢¤ë¡£
-VNC¤ò¥Ç¡¼¥¿°µ½Ì¤È¤È¤â¤Ë»È¤ª¤¦¤È¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-VNC¤Îprotocol encoding¤Ë´Ø¤·¤Æ¼Â¸³¤·¤¿¤Û¤¦¤¬¤è¤¤¡£
-»ä¤Ï¡¢"raw" encoding ¤¬°µ½Ì¤Î¸ú²Ì¤¬¹â¤¯¡¢
-ÃÙ¤¤²óÀþ¾å¤Ç¤Ï¤è¤ê¤è¤¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¼¨¤¹¤³¤È¤òȯ¸«¤·¤¿¡£
-¤·¤«¤·¡¢¤¢¤Ê¤¿¤Î¾ì¹ç¤Ï°ã¤¦·ë²Ì¤È¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+もうひとつだけ言っておくことがある。
+VNCをデータ圧縮とともに使おうとしているなら、
+VNCのprotocol encodingに関して実験したほうがよい。
+私は、"raw" encoding が圧縮の効果が高く、
+遅い回線上ではよりよいパフォーマンスを示すことを発見した。
+しかし、あなたの場合は違う結果となるかもしれない。
-=head2 X Window System¤Î»ÈÍÑÎã(Use with the X Window System)
+=head2 X Window Systemの使用例(Use with the X Window System)
=begin JM-comment
=end JM-comment
-X Window System¤Ï6000Èְʾå¤Î¥Ý¡¼¥È¤ò»È¤¦¡£
+X Window Systemは6000番以上のポートを使う。
=begin JM-comment
=end JM-comment
-B<xlocal> ¤È¤¤¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Ý¡¼¥È6000¤ÇX ¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¤È¤¹¤ë¡£
-¤³¤ì¤ÏÄ̾B<xlocal:0> ¤È¤¤¤¦¥Ç¥£¥¹¥×¥ì¥¤¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤Ç¤¢¤ë¡£
-¤½¤·¤Æ¡¢B<xremote>¤È¤¤¤¦(¥ê¥â¡¼¥È)¥Þ¥·¥ó¤«¤é¡¢
-¥í¡¼¥«¥ë¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Ë°ÂÁ´¤Ê B<xterm> ¤Î¥»¥Ã¥·¥ç¥ó¤òÁ÷¤êÊÖ¤·¤¿¤¤¤â¤Î¤È¤¹¤ë¡£
-¤³¤ì¤ò¹Ô¤Ê¤¦¤Ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò B<xlocal> ¤Ç¼Â¹Ô¤¹¤ë¡£
+B<xlocal> というローカルマシンのポート6000でX サーバが動作しているとする。
+これは通常、B<xlocal:0> というディスプレイで使われているポートである。
+そして、B<xremote>という(リモート)マシンから、
+ローカルのディスプレイに安全な B<xterm> のセッションを送り返したいものとする。
+これを行なうには、以下のコマンドを B<xlocal> で実行する。
zebedee -r 6000 -s
=end JM-comment
-¤½¤·¤Æ¡¢B<xremote> ¤Ç¤Ï
+そして、B<xremote> では
zebedee 6001:xlocal:6000
-¤ò¼Â¹Ô¤¹¤ë¡£
+を実行する。
=begin JM-comment
=end JM-comment
-¤³¤Î¤³¤È¤Ï¡¢B<xremote>¾å¤Ç¡¢´Ä¶ÊÑ¿ô¤ÎB<DISPLAY>¤¬C<localhost:1>¤ËÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
-X¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ÏB<xlocal>¤ËÅþÃ夹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤Î¤¿¤á¡¢Î㤨¤ÐB<xterm>¤ò°ÂÁ´¤ËB<xremote>¤«¤éÁ÷¤í¤¦¤È¤¹¤ë¤Ê¤é¡¢
-B<xremote>¾å¤Ç¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¡£
+このことは、B<xremote>上で、環境変数のB<DISPLAY>がC<localhost:1>に設定されていれば、
+XのトラフィックはB<xlocal>に到着することを意味する。
+そのため、例えばB<xterm>を安全にB<xremote>から送ろうとするなら、
+B<xremote>上で次のコマンドを実行する必要がある。
xterm -display localhost:1
=end JM-comment
-¤³¤ì¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-B<xremote>¤ÎX¥µ¡¼¥Ð¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥ê¥¹¥È¤ËB<localhost>¤Î¥¨¥ó¥È¥ê¡¼¤ò
-Äɲ䷤ʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£
+これが正しく動作するためには、
+B<xremote>のXサーバのアクセスコントロールリストにB<localhost>のエントリーを
+追加しなくてはならない。
+これを行うには次のコマンドを実行する。
xhost +localhost
-=head2 HTTP¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë(Securing HTTP traffic)
+=head2 HTTPの通信を安全にする(Securing HTTP traffic)
=begin JM-comment
=end JM-comment
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤ò"multi-use"¥â¡¼¥É¤ÇÆ°ºî¤µ¤»¤ë¤³¤È¤Ç¡¢
-Á´¤Æ¤ÎWeb¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤â¤·¡¢Web¥µ¡¼¥Ð¤¬ B<webhost> ¤Î¥Ý¡¼¥È80¤ÇÆ°ºî¤·¤Æ¤ª¤ê¡¢
-¤½¤Î¥µ¡¼¥Ð¥Þ¥·¥ó¤Ç B<Zebedee> ¥µ¡¼¥Ð¤âÆ°ºî¤·¤Æ¤¤¤ë¤È¤·¤¿¤é¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤¬¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î8000È֥ݡ¼¥È·Ðͳ¤Î¥È¥ó¥Í¥ë¤òÀßÄꤹ¤ë¡£
+B<Zebedee>クライアントを"multi-use"モードで動作させることで、
+全てのWebサーバへの通信を安全にすることができる。
+もし、Webサーバが B<webhost> のポート80で動作しており、
+そのサーバマシンで B<Zebedee> サーバも動作しているとしたら、
+次のコマンドがローカルマシンの8000番ポート経由のトンネルを設定する。
zebedee 8000:webhost:80
=end JM-comment
-¤Ï¡¢¤³¤Î¾õÂ֤Ǥϼ¡¤ÎURL¤Ç°ÂÁ´¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡£
+は、この状態では次のURLで安全にアクセスできる。
http://localhost:8000/private/index.html
=end JM-comment
-"C<localhost:8000>"¤ò¤¢¤Ê¤¿¤Î¥×¥í¥¥·¡¼¤È¤·¤ÆÀßÄꤹ¤ë¤³¤È¤Ç¡¢
-Á´¤Æ¤ÎHTTP¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò°ÂÁ´¤Ê¥È¥ó¥Í¥ë·Ðͳ¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤·¤«¤·¡¢Ãí°Õ¤¹¤Ù¤¤³¤È¤Ï¡¢HTTP¤Î¥×¥í¥¥·¡¼ÀßÄê°Ê³°¤Ë¤³¤ÎÀßÄê¤ò¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-Secure HTTP¤ò´Þ¤à¾¤Î¥×¥í¥È¥³¥ë¤Ï¾¤ÎÊýË¡¤Ç¥ê¥À¥¤¥ì¥¯¥È¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤Û¤È¤ó¤É¤Î¥Ö¥é¥¦¥¶¤Ï°ã¤¦¥É¥á¥¤¥ó¤Ë°ã¤¦¥×¥í¥¥·¡¼¤ò³ä¤ê¤¢¤Æ¤ëÀßÄê¤â²Äǽ¤Ç¤¢¤ë¡£
-¤½¤Î¤¿¤á¡¢É¬Íפʤâ¤Î¤À¤±Áª¤ó¤Ç¥¬¡¼¥É¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤ì¤ò¹Ô¤Ê¤¦ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¥Ö¥é¥¦¥¶¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤µ¤ì¤¿¤·¡£
+"C<localhost:8000>"をあなたのプロキシーとして設定することで、
+全てのHTTPのトラフィックを安全なトンネル経由にすることもできる。
+しかし、注意すべきことは、HTTPのプロキシー設定以外にこの設定をしてはいけない。
+Secure HTTPを含む他のプロトコルは他の方法でリダイレクトする必要がある。
+ほとんどのブラウザは違うドメインに違うプロキシーを割りあてる設定も可能である。
+そのため、必要なものだけ選んでガードすることもできる。
+これを行なう方法についてはブラウザのマニュアルを参照されたし。
-=head2 FTP¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë(Securing FTP traffic)
+=head2 FTPの通信を安全にする(Securing FTP traffic)
=begin JM-comment
=end JM-comment
-°Ê²¼¤Î¼êÃʤǡ¢
-B<Zebedee>¤ò»È¤¤Â¿¤¯¤ÎFTP¥µ¡¼¥Ð¤Ø¤ÎFTP¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó
-(¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤¬Á÷¤é¤ì¤ë¥³¥Í¥¯¥·¥ç¥ó)¤ò¼é¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤µ¤é¤Ë¡¢B<Zebedee>¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë B<ftpgw.tcl> ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢
-¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤Î¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤µ¤¨¤â¼é¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+以下の手段で、
+B<Zebedee>を使い多くのFTPサーバへのFTPコントロールコネクション
+(ユーザ名とパスワードが送られるコネクション)を守ることができる。
+さらに、B<Zebedee>パッケージに含まれる B<ftpgw.tcl> スクリプトによって、
+パッシブモードのデータコネクションさえも守ることができる。
=begin JM-comment
=end JM-comment
-FTP¥µ¡¼¥Ð¤ò°·¤¦ºÇ¤âñ½ã¤ÊÊýË¡¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë B<Zebedee> ¤òµ¯Æ°¤¹¤ë¤³¤È¤À¡£
+FTPサーバを扱う最も単純な方法は、以下のように B<Zebedee> を起動することだ。
zebedee -s -r ftp ftpserverhost
=end JM-comment
-FTP¥µ¡¼¥Ð¤ÈƱ¤¸¥Þ¥·¥ó¤Ç B<Zebedee> ¤òÆ°ºî¤µ¤»¤Æ¤¤¤Æ¤â¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç
-ÌÀ¼¨Åª¤Ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë(¤Þ¤¿¤Ï
-B<L<redirecthost|/item_redirecthost>>¥¡¼¥ï¡¼¥É¤ò»ÈÍÑ)¡£¤½¤ì¤ò
-B<localhost>¤È¤·¤Æ»²¾È¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤Ç¤Ï
-B<Zebedee>¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Æ¡¢¥Ý¡¼¥È10000ÈÖ·Ðͳ¤Î¥Þ¥ë¥Á¥æ¡¼¥¹¥È¥ó¥Í¥ë
-¤ò¹½ÃÛ¤¹¤ë¡£
+FTPサーバと同じマシンで B<Zebedee> を動作させていても、コマンドラインで
+明示的にホスト名を指定する必要がある(または
+B<L<redirecthost|/item_redirecthost>>キーワードを使用)。それを
+B<localhost>として参照してはいけない。クライアントシステムでは
+B<Zebedee>を次のように起動して、ポート10000番経由のマルチユーストンネル
+を構築する。
zebedee 10000:ftpserverhost:ftp
=end JM-comment
-FTP¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
+FTPサーバに接続するには、次のようなコマンドを使用する。
ftp clienthost 10000
=end JM-comment
-¤¯¤É¤¤¤è¤¦¤À¤¬¡¢B<localhost> ¤Ç¤Ê¤¯¥í¡¼¥«¥ë¥¯¥é¥¤¥¢¥ó¥È¤Î¥Û¥¹¥È̾¤ò»È¤¦¤³¤È¡£
-¤â¤·¡¢windows¤Îɸ½àFTP¥¯¥é¥¤¥¢¥ó¥È¤Î¤è¤¦¤Ë¡¢
-¤¢¤Ê¤¿¤ÎFTP¥¯¥é¥¤¥¢¥ó¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ý¡¼¥È¤ò»ØÄê¤Ç¤¤Ê¤¤»þ¤Ï¡¢
-¥×¥í¥°¥é¥à¤ÎÃæ¤Ç(FTP¥»¥Ã¥·¥ç¥ó¤ÎÃæ¤Ç)
-"C<open clienthost 10000>" ¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤¤ë¡£
-¤â¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤ÇFTP¥µ¡¼¥Ð¤¬Î©¤Á¾å¤¬¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-B<Zebedee> ¤ò¤³¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Æ¤â¤è¤¤¡£
+くどいようだが、B<localhost> でなくローカルクライアントのホスト名を使うこと。
+もし、windowsの標準FTPクライアントのように、
+あなたのFTPクライアントがコマンドラインでポートを指定できない時は、
+プログラムの中で(FTPセッションの中で)
+"C<open clienthost 10000>" というコマンドを使うことができる。
+もし、クライアントマシンでFTPサーバが立ち上がっていなければ、
+B<Zebedee> をこのように起動してもよい。
zebedee ftp:ftpserverhost:ftp
=end JM-comment
-¤³¤ì¤À¤ÈFTP¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ï¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤Ç¤¤ë¡£
+これだとFTPクライアントプログラムは次のように起動できる。
ftp clienthost
=end JM-comment
-FTP¤Î¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤È¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤¬Æ±¤¸½ê¤«¤éÍè¤Æ¤¤¤ë¤«
-¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ëFTP¥µ¡¼¥Ð¤¬¤¢¤ë¤¬¡¢¤½¤¦¤¤¤¦¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¾åµ¤Î¼êË¡¤Ï
-¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£B<wu-ftpd> ¤Î¤è¤¦¤Ê¥á¥¸¥ã¡¼¤ÊFTP¥µ¡¼¥Ð¤Ï¤³¤ÎÅÀ¤Ë
-¤Ä¤¤¤Æ¸·¤·¤¯¥Á¥§¥Ã¥¯¤òÆþ¤ì¤ë(¥»¥¥å¥ê¥Æ¥£Ì̤«¤é¤Ï˾¤Þ¤·¤¤¤³¤È¤À¤¬¡Ä)¡£
-¤â¤·¡¢¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤ÏÌÀ¤é¤«¤Ë¤¦¤Þ¤¯¤¤¤¯¤Î¤Ë¡¢
-¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤äÆɤ߽Ф·¤Ç¼ºÇÔ¤·¤¿¤ê¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë¤Ê¤é¡¢
-¤½¤Î¥µ¡¼¥Ð¤¬¤³¤³¤ò¸·¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ë¥¿¥¤¥×¤À¤Ã¤¿¡¢¤È¤¤¤¦¤³¤È¤À¡£
+FTPのコントロールコネクションとデータコネクションが同じ所から来ているか
+どうかチェックするFTPサーバがあるが、そういうサーバに対しては上記の手法は
+うまくいかない。B<wu-ftpd> のようなメジャーなFTPサーバはこの点に
+ついて厳しくチェックを入れる(セキュリティ面からは望ましいことだが…)。
+もし、サーバへの接続は明らかにうまくいくのに、
+ファイルのリストや読み出しで失敗したりハングアップするなら、
+そのサーバがここを厳しくチェックするタイプだった、ということだ。
=begin JM-comment
=end JM-comment
-¤³¤ÎÌäÂê¤ò¹îÉþ¤¹¤ë¤Î¤ò½õ¤±¤ë¤¿¤á¤Ë¡¢B<ftpgw.tcl> ¤È¤¤¤¦FTP¥²¡¼¥È¥¦¥§¥¤¤Î
-¥¹¥¯¥ê¥×¥È¤¬ B<Zebedee> ¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥×¥í¥°¥é¥à¤Ï¥Õ¥ê¡¼¤ËÆþ¼ê²Äǽ¤Ç¤¢¤ëTcl¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¸À¸ì
-(http://www.scriptics.com»²¾È)¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¡¢
-FTP¤Î¥ê¥¯¥¨¥¹¥È¤òÃæ·Ñ¤·¤ÆºÆÁ÷¿®¤·¡¢¥µ¡¼¥Ð¤«¤éB<Zebedee> ¤Î¸ºß¤ò±£¤¹¡£
-¤³¤ì¤Ï B<Zebedee> ¥µ¡¼¥Ð¤ÈƱ¤¸¥Þ¥·¥ó¤ÇÁö¤é¤»¤ëɬÍפ¬¤¢¤ë¡£
-FTP¥µ¡¼¥Ð¤âƱ¤¸¥Þ¥·¥ó¤ÇÆ°¤¤¤Æ¤¤¤ë¤Ê¤é¡¢Ã±¤Ë¤³¤¦µ¯Æ°¤¹¤ì¤Ð¤è¤¤¡£
+この問題を克服するのを助けるために、B<ftpgw.tcl> というFTPゲートウェイの
+スクリプトが B<Zebedee> パッケージには含まれている。
+このプログラムはフリーに入手可能であるTclスクリプティング言語
+(http://www.scriptics.com参照)で書かれていて、
+FTPのリクエストを中継して再送信し、サーバからB<Zebedee> の存在を隠す。
+これは B<Zebedee> サーバと同じマシンで走らせる必要がある。
+FTPサーバも同じマシンで動いているなら、単にこう起動すればよい。
tclsh ftpgw.tcl
=end JM-comment
-¤³¤ì¤Ç¥²¡¼¥È¥¦¥§¥¤¤Ï¥Ý¡¼¥È2121¤ÇÂÔ¤Á¼õ¤±¤ë¡£ÌÀ¤é¤«¤Ë¡¢¼ÂºÝ¤Î»ÈÍѤǤϤ³¤ì
-¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çµ¯Æ°¤·¤¿¤¤¤À¤í¤¦¡£¤½¤ì¤«¤é¡¢B<Zebedee>¥µ¡¼¥Ð¤ò
+これでゲートウェイはポート2121で待ち受ける。明らかに、実際の使用ではこれ
+をバックグラウンドで起動したいだろう。それから、B<Zebedee>サーバを
zebedee -s -r 2121
-¤È¤·¤Æµ¯Æ°¤¹¤ë¡£
+として起動する。
=begin JM-comment
=end JM-comment
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ëɬÍפϤʤ¤
-(¤·¤¿¤±¤ì¤Ð¤·¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤¬)¡£
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï¤³¤¦¤¹¤ë¡£
+このケースではローカルホスト名を指定する必要はない
+(したければしてもかまわないが)。
+クライアント側ではこうする。
zebedee 2121:ftpserverhost:2121
=end JM-comment
-¤½¤ì¤«¤é¤³¤¦¤¹¤ë¡£
+それからこうする。
ftp clienthost 2121
=end JM-comment
-¤³¤Á¤é¤Ç¤Ï¡¢¤³¤Î¾ì¹ç¤Ç¤â¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È̾¤ò»È¤¦¡£
+こちらでは、この場合でもクライアントホスト名を使う。
=begin JM-comment
=end JM-comment
-¤³¤ÎÀßÄê¤Ç¤Ï¡¢FTP¤Î¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤Ï¥È¥ó¥Í¥ë¤µ¤ì¤ë¤¬¡¢
-¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤Ë¤Ï°ìÀڱƶÁ¤òÍ¿¤¨¤Ê¤¤¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤ÎFTP¥¯¥é¥¤¥¢¥ó¥È¤¬¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð¡¢
-B<ftpgw.tcl> ¤Ç¥Ç¡¼¥¿¥Á¥ã¥ó¥Í¥ë¤â°ÂÁ´¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-Netscape Navigator ¤ä WindowsÍѤÎWS_FTP¤Ê¤É¤Ï¤½¤ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
+この設定では、FTPのコントロールコネクションはトンネルされるが、
+データコネクションには一切影響を与えない。
+もし、あなたのFTPクライアントがパッシブモードをサポートしていれば、
+B<ftpgw.tcl> でデータチャンネルも安全にすることができる。
+Netscape Navigator や Windows用のWS_FTPなどはそれをサポートしている。
=begin JM-comment
=end JM-comment
-¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤Î¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤ò°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-¤Þ¤º¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤Ë»È¤¦¥Ý¡¼¥ÈÈÖ¹æ¤ÎÈϰϤòÁª¤Ð¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤ÎÎã¤Ç¤Ï¡£30000¤«¤é30100ÈÖ¤ò»È¤¦¤â¤Î¤È¤¹¤ë¡£
-¤Þ¤º¡¢B<ftpgw.tcl> ¤ò µ¯Æ°¤¹¤ë»þ¤Ë¡¢¤³¤Î¥Ý¡¼¥ÈÈϰϤò»ØÄꤹ¤ë¤¿¤á¤Ë¡¢
-B<-p>¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¡£
+パッシブモードのデータコネクションを安全にするためには、
+まずデータコネクションに使うポート番号の範囲を選ばなくてはいけない。
+この例では。30000から30100番を使うものとする。
+まず、B<ftpgw.tcl> を 起動する時に、このポート範囲を指定するために、
+B<-p>オプションを使用する。
tclsh ftpgw.tcl -p 30000-30100
=end JM-comment
-B<Zebedee>¥µ¡¼¥Ð¤Ï¤³¤Î¤è¤¦¤Ëµ¯Æ°¤¹¤ë¡£
+B<Zebedee>サーバはこのように起動する。
zebedee -s -r 2121,30000-30100
=end JM-comment
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤¦¤À¡£
+クライアントはこうだ。
zebedee 2121,30000-30100:ftpserverhost:2121,30000-30100
=end JM-comment
-Netscape¤ò»È¤Ã¤Æ¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤È¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤ò
-ξÊý°ÂÁ´¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤ÊURL¤òÆþÎϤ¹¤ë¡£
+Netscapeを使ってコントロールコネクションとデータコネクションを
+両方安全にアクセスするには、このようなURLを入力する。
ftp://username@clienthost:2121/
=end JM-comment
-¤³¤³¤ÇI<username>¤ÏFTP¥µ¡¼¥Ð¤Ç¤Î¥æ¡¼¥¶Ì¾¤Ç¤¢¤ë¡£
+ここでI<username>はFTPサーバでのユーザ名である。
=head1 CREDITS AND LEGALITIES
+=encoding utf8
+
=head1 NAME
-Zebedee --- ¥·¥ó¥×¥ë¤Ç¥Õ¥ê¡¼¤Ç¥»¥¥å¥¢¤Ê¥È¥ó¥Í¥ë¥×¥í¥°¥é¥à
+Zebedee --- シンプルでフリーでセキュアなトンネルプログラム
=begin License
=end License
-=head1 ½ñ¼°
+=head1 書式
=over 4
=head1 DESCRIPTION
-B<Zebedee>¤Ï2¤Ä¤Î¥·¥¹¥Æ¥à´Ö¤Ç¡¢
-°Å¹æ²½¤µ¤ì¡¢°µ½Ì¤µ¤ì¤¿TCP/IP¤Þ¤¿¤ÏUDP¤Î"¥È¥ó¥Í¥ë"¤ò³ÎΩ¤¹¤ëñ½ã¤Ê¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
-¤³¤ì¤Ï¡¢ÄãÂÓ°è¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò°µ½Ì¤Ë¤è¤ê¸þ¾å¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢
-B<telnet>, B<ftp> ¤ä B<X> ¤Ê¤É¤Î TCP ¥Ù¡¼¥¹¤Î
-¥È¥é¥Õ¥£¥Ã¥¯¤òÅðÄ°¤«¤éËɸ椹¤ë¤³¤È¤â²Äǽ¤Ë¤¹¤ë¡£
-¤Þ¤¿¡¢°Å¹æ²½¤ÎÍ̵¤Ë¤«¤«¤ï¤é¤º¥Ç¡¼¥¿°µ½Ì¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢
-ÃÙ¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÎɹ¥¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£
+B<Zebedee>は2つのシステム間で、
+暗号化され、圧縮されたTCP/IPまたはUDPの"トンネル"を確立する単純なプログラムである。
+これは、低帯域のネットワーク上でのパフォーマンスを圧縮により向上するだけでなく、
+B<telnet>, B<ftp> や B<X> などの TCP ベースの
+トラフィックを盗聴から防御することも可能にする。
+また、暗号化の有無にかかわらずデータ圧縮を使用することで、
+遅いネットワークで良好なパフォーマンスを得ることも可能である。
-B<Zebedee> ¤Î¼ç¤ÊÌÜŪ¤Ï:
+B<Zebedee> の主な目的は:
=over 4
=item *
-UNIX ¤È Windows 95/98/NT ¤ÎÁÐÊý¤Ë¤Æ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Îµ¡Ç½¤òÄ󶡤¹¤ë¡£
+UNIX と Windows 95/98/NT の双方にてクライアントとサーバーの機能を提供する。
=item *
-¤Û¤ó¤Î¾¯¤·¤ÎÀßÄ꤫Á´¤¯¤ÎÀßÄê̵¤·¤Ç´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¡¢»ÈÍÑ¡¢Êݼ餬¤Ç¤¤ë¡£
+ほんの少しの設定か全くの設定無しで簡単にインストール、使用、保守ができる。
=item *
-¾¯¤·¤ÎÉղåǡ¼¥¿¤È¡¢¾¯¤Ê¤¤¥×¥í¥È¥³¥ë¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ë¤Æ¡¢
-°µ½Ì¤Ë¤è¤ê¿Âç¤Ê¥È¥é¥Õ¥£¥Ã¥¯¤ÎÄ㸺¤ò¹Ô¤¦¡£
+少しの付加データと、少ないプロトコルのオーバヘッドにて、
+圧縮により多大なトラフィックの低減を行う。
=item *
-Æõö²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢¤Þ¤¿¤ÏÆõö¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à¤Î¤ß¤òÍѤ¤¤ë¡£
+特許化されていないか、または特許の有効期限が切れているアルゴリズムのみを用いる。
=item *
-GNU °ìÈ̸øÍ»ÈÍѵöÂú½ñ(GPL)¤Î¤â¤È¤Ç¾¦ÍÑ¡¢Èó¾¦ÍѤòÌä¤ï¤º
-´°Á´¤Ë¥Õ¥ê¡¼¤Ë»ÈÍÑ¡¦ÇÛÉÛ¤¬¤Ç¤¤ë (L<CREDITS AND LEGALITIES> ¤ò¸«¤è)¡£
+GNU 一般公有使用許諾書(GPL)のもとで商用、非商用を問わず
+完全にフリーに使用・配布ができる (L<CREDITS AND LEGALITIES> を見よ)。
=back
-¤â¤Á¤í¤ó¡¢B<Zebedee> ¤Ï½é¤á¤Æ¤Î¤¢¤ë¤¤¤ÏÍ£°ì¤ÎÍøÍѲÄǽ¤Ê
-¥»¥¥å¥¢¤Ê¥È¥ó¥Í¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¤Ê¤¤¡£
-¹âµ¡Ç½¤È¤¤¤¦ÌÌ¤Ç¤Ï B<ssh> ¤ä B<SSL> ¤Ê¤É¤È¤ÏÈæ¤Ùʪ¤Ë¤â¤Ê¤é¤Ê¤¤¤¬¡¢
-¤â¤·¡¢ÁÇÁ᤯¡¢Ã±½ã¤Ç¡¢B<´°Á´¤Ë¥Õ¥ê¡¼>¤Ê¤â¤Î¤òµá¤á
-¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤ì¤Ï¥Ô¥Ã¥¿¥ê¤Î¥Ä¡¼¥ë¤À¤í¤¦¡£
+もちろん、B<Zebedee> は初めてのあるいは唯一の利用可能な
+セキュアなトンネルプログラムではない。
+高機能という面では B<ssh> や B<SSL> などとは比べ物にもならないが、
+もし、素早く、単純で、B<完全にフリー>なものを求め
+ているなら、これはピッタリのツールだろう。
-¤³¤Îʸ½ñ¤Ï B<Zebedee> ¥ê¥ê¡¼¥¹ 2.0.0 ¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æµ¤·¤Æ¤¤¤ë.
+この文書は B<Zebedee> リリース 2.0.0 の機能について記している.
-=head2 ̾Á°¤ÎͳÍè¤Ï?(What's in a name?)
+=head2 名前の由来は?(What's in a name?)
-¤¢¤Ê¤¿¤¬µ¿Ìä¤ò»ý¤È¤¦¤¬»ý¤Ä¤Þ¤¤¤¬¡¢B<Zebedee> ¤Ï¼¡¤Î 3¤Ä¤Î¼çÍפʥ³¥ó¥Ý¡¼
-¥Í¥ó¥È¤«¤é̿̾¤µ¤ì¤¿¡£
+ã\81\82ã\81ªã\81\9fã\81\8cç\96\91å\95\8fã\82\92æ\8c\81ã\81¨ã\81\86ã\81\8cæ\8c\81ã\81¤ã\81¾ã\81\84ã\81\8cã\80\81B<Zebedee> ã\81¯æ¬¡ã\81® 3ã\81¤ã\81®ä¸»è¦\81ã\81ªã\82³ã\83³ã\83\9dã\83¼
+ネントから命名された。
=over 4
=item *
-B<Z>lib ¤Ë¤è¤ë°µ½Ì
+B<Z>lib による圧縮
=item *
-B<B>lowfish ¤Ë¤è¤ë°Å¹æ²½
+B<B>lowfish による暗号化
=item *
-B<D>iffie-Hellman ¤Ë¤è¤ëǧ¾Ú
+B<D>iffie-Hellman による認証
=back
-¤³¤ì¤Ç¤ï¤«¤Ã¤¿¤è¤Í?
+これでわかったよね?
-=head2 ´ðËÜŪ¤Ê»È¤¤Êý(Basic Usage)
+=head2 基本的な使い方(Basic Usage)
-¥í¡¼¥«¥ë¥Þ¥·¥ó¤È¥ê¥â¡¼¥È¥Û¥¹¥È¤ò°ÂÁ´¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢
-¤Þ¤º¥ê¥â¡¼¥È¥Û¥¹¥È¤ÎÊý¤Ç¡¢B<Zebedee> ¤ò¥µ¡¼¥Ð¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¡£
-°ìÈÖ´Êñ¤ÊÊýË¡¤Ï¡¢B<-s> ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤À¡£
+ローカルマシンとリモートホストを安全に接続するには、
+まずリモートホストの方で、B<Zebedee> をサーバーモードで起動する必要がある。
+一番簡単な方法は、B<-s> オプションを使うことだ。
zebedee -s
-¤¦¤Þ¤¯¤¤¤±¤Ð(¤¤¤¯¤Ï¤º¡ª)B<Zebedee>¤Ï
-üËö(windows¤Ç¤Ï¥³¥ó¥½¡¼¥ë¥¦¥¤¥ó¥É¥¦)¤«¤éÀÚ¤êÎ¥¤µ¤ì¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÁö¤ë¡£
-¤½¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÀܳ¤òÂԤġ£
+うまくいけば(いくはず!)B<Zebedee>は
+端末(windowsではコンソールウインドウ)から切り離されてバックグラウンドで走る。
+そして、クライアントからの接続を待つ。
-¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤ÇB<Zebedee>¤ò¥¯¥é¥¤¥¢¥ó¥È¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Û¥¹¥È̾¤È¥È¥ó¥Í¥ë¤¹¤Ù¤¥µ¡¼¥Ó¥¹Ì¾¤«¥Ý¡¼¥ÈÈÖ¹æ
-(¤³¤³¤Ç¤Ï¤³¤ì¤ò¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤È¸Æ¤Ö¤³¤È¤Ë¤¹¤ë)¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤¬C<remhost>¤Ç
-°ÂÁ´¤ÊB<telnet>¥»¥Ã¥·¥ç¥ó¤òÄ¥¤ê¤¿¤¤¤È¤·¤¿¤é¡¢¤³¤¦¤Ê¤ë¡£
+次にクライアントマシンでB<Zebedee>をクライアントモードで起動する。
+この場合は、リモートホストのホスト名とトンネルすべきサービス名かポート番号
+(ここではこれをターゲットポートと呼ぶことにする)を指定する。
+例えば、リモートホストの名前がC<remhost>で
+安全なB<telnet>セッションを張りたいとしたら、こうなる。
zebedee remhost:telnet
-¼ÂºÝ¤Ë¤Ï¡¢¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥È¤¬telnet¤Ê¤Î¤Ç
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë¾Êά¤·¤Æ¤â¤è¤¤¡£
+実際には、ポートのデフォルトがtelnetなので
+このケースでは次のように省略してもよい。
zebedee remhost
-¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-¥È¥ó¥Í¥ë¤ÎÆþ¸ý¤Ë¤Ê¤ë(¥í¡¼¥«¥ë¦¤Î)¥Ý¡¼¥È¤ÎÈֹ椬ɽ¼¨¤µ¤ì¤ë¡£
-B<Zebedee>¤ÏüËö¤«¤éÀÚ¤êÎ¥¤µ¤ì¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÁö¤ê¡¢
-¤³¤Î¥í¡¼¥«¥ë¦¤Î¥Ý¡¼¥È¤ËÀܳ¤µ¤ì¤ë¤Î¤òÂԤġ£
-Î㤨¤Ð¡¢1234¤Èɽ¼¨¤µ¤ì¤¿¤é¡¢
+このコマンドを実行すると、
+トンネルの入口になる(ローカル側の)ポートの番号が表示される。
+B<Zebedee>は端末から切り離されてバックグラウンドで走り、
+このローカル側のポートに接続されるのを待つ。
+例えば、1234と表示されたら、
telnet localhost 1234
-¤È¤¹¤ì¤Ð¡¢C<remhost>¤Ë°ÂÁ´¤Ê¥È¥ó¥Í¥ë·Ðͳ¤ÇÀܳ¤µ¤ì¤ë¡£
+とすれば、C<remhost>に安全なトンネル経由で接続される。
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¤ë¤Þ¤ÇÀܳ¤òÂÔ¤Á³¤±¤Æ¡¢
-ɬÍפ¬¤¢¤ì¤ÐƱ»þȯÀ¸¤¹¤ëÊ£¿ô¤Î¥³¥Í¥¯¥·¥ç¥ó¤ò½èÍý¤¹¤ë¡£
+デフォルトでは、B<Zebedee>はプロセスを終了させるまで接続を待ち続けて、
+必要があれば同時発生する複数のコネクションを処理する。
-»þ¤Ë¤Ï¡¢B<Zebedee>¤òµ¯Æ°¤·¡¢
-¤½¤Î¸å¤¹¤°¤Ë¤½¤Î¥Ý¡¼¥È¤ËÀܳ¤¹¤ë¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤¿¤¤¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-¤³¤ì¤ò°ìȯ¤Ç¤ä¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£
+時には、B<Zebedee>を起動し、
+その後すぐにそのポートに接続するコマンドを起動したいこともあるだろう。
+これを一発でやるには次のようにする。
zebedee -e "telnet localhost %d" remhost
-ʸ»úÎóÃæ¤Î"C<%d>"¤¬¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ÈÃÖ¤´¹¤¨¤é¤ì¤ë¡£½¾¤Ã¤Æ¡¢
-B<Zebedee>¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤òɽ¼¨¤·¤Ê¤¤(¤¹¤ëɬÍפ¬¤Ê¤¤)¡£
-¤³¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤¬Àܳ¤ò½ªÎ»¤¹¤ë¤ÈƱ»þ¤Ë¡¢
-¥í¡¼¥«¥ë¦¤ÎB<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤â½ªÎ»¤¹¤ë¡£
+文字列中の"C<%d>"がローカルポート番号と置き換えられる。従って、
+B<Zebedee>はポート番号を表示しない(する必要がない)。
+このようにコマンドを指定した場合には、そのコマンドが接続を終了すると同時に、
+ローカル側のB<Zebedee>クライアントも終了する。
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤ë¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤷ¤¿¤¤(¤¹¤ëɬÍפ¬¤¢¤ë)¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-(Êݸ¤¿¤¤ÄÌ¿®¤ò¹Ô¤Ê¤¦)¥³¥Þ¥ó¥É¤¬¡¢ÆÃÄê¤Î¥Ý¡¼¥È¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤À¡£
-¤³¤Î¾ì¹ç¤Ï¡¢B<Zebedee>¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤¹¤ë¤³¤È¤Ç¡¢
-¥í¡¼¥«¥ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤ë¡£
+クライアントが使用するローカルポート番号を指定したい(する必要がある)こともあるだろう。
+(保護したい通信を行なう)コマンドが、特定のポートに接続しようとする場合だ。
+この場合は、B<Zebedee>を次のように起動することで、
+ローカルポートを指定することもできる。
zebedee clientport:hostname:targetport
-Î㤨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É:
+例えば、次のコマンド:
zebedee 8000:webhost:80
-¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î8000È֥ݡ¼¥È·Ðͳ¤ÇÀܳ¤¹¤ë¡¢
-B<webhost>¤Ø¤ÎÁ´¤Æ¤ÎHTTPÀܳ¤òÊݸ¤ë¡£
-¾ÜºÙ¤ÏL<EXAMPLES>»²¾È¤Î¤³¤È¡£
+は、クライアントの8000番ポート経由で接続する、
+B<webhost>への全てのHTTP接続を保護する。
+詳細はL<EXAMPLES>参照のこと。
-¤Þ¤¿¡¢B<Zebedee> ¥¯¥é¥¤¥¢¥ó¥È¤Ï
-Ʊ°ì¥Û¥¹¥ÈÆâ¤ÎÊ£¿ô¤Î¥¿¡¼¥²¥Ã¥È¥Ý¡¼¥È¤ËÂФ·¤Æ¡¢
-Ê£¿ô¤Î¥È¥ó¥Í¥ë¤ò(Ʊ»þʹÔŪ¤Ë)°·¤¦¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ë¤È¥ê¥â¡¼¥È¤Î¥Ý¡¼¥È¤Î»ØÄê¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤Ë¤Ê¤ë¡£
-Î㤨¤Ð
+また、B<Zebedee> クライアントは
+同一ホスト内の複数のターゲットポートに対して、
+複数のトンネルを(同時並行的に)扱うこともできる。
+この場合は、ローカルとリモートのポートの指定はポート番号のリストになる。
+例えば
zebedee 9001,9002,9003:somehost:daytime,telnet,ftp
-¤³¤ì¤Ï¡¢9001È֤Υ¯¥é¥¤¥¢¥ó¥È¥Ý¡¼¥È¤Ø¤ÎÄÌ¿®¤ò¡¢
-¥ê¥â¡¼¥È¤Î¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ÎB<daytime>¥Ý¡¼¥È¤Ø¤È¥È¥ó¥Í¥ë¤¹¤ë¡£
-ƱÍͤˡ¢9002ÈÖ¤ÏB<telnet>¥Ý¡¼¥È¤Ø¡¢9003ÈÖ¤ÏB<ftp>¥Ý¡¼¥È¤Ø¥È¥ó¥Í¥ë¤¹¤ë¡£
+これは、9001番のクライアントポートへの通信を、
+リモートのターゲットシステムのB<daytime>ポートへとトンネルする。
+同様に、9002番はB<telnet>ポートへ、9003番はB<ftp>ポートへトンネルする。
-¾ÜºÙ¤Ï
-B<L<clientport|/item_clientport>>¤È
-B<L<targetport|/item_targetport>>¤ò»²¾È¤Î¤³¤È¡£
+詳細は
+B<L<clientport|/item_clientport>>と
+B<L<targetport|/item_targetport>>を参照のこと。
-=head2 UDP¥È¥ó¥Í¥ê¥ó¥°(UDP Tunnelling)
+=head2 UDPã\83\88ã\83³ã\83\8dã\83ªã\83³ã\82°(UDP Tunnelling)
-B<Zebedee>¤Ï¤â¤È¤â¤È¤Ï TCP/IP ¤Î¥È¥é¥Õ¥£¥Ã¥¯¤À¤±¤ò°·¤¦¤è¤¦¤ËÀ߷פµ¤ì¤¿¤¬¡¢
-¥Ð¡¼¥¸¥ç¥ó2.0.0¤«¤é¤Ï¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤ÎUDP¤Î¥Ç¡¼¥¿¤â°·¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-¤³¤Îµ¡Ç½¤ò͸ú¤Ë¤¹¤ë¤Ë¤ÏB<Zebedee>¤ò B<-u> ¥ª¥×¥·¥ç¥óÉÕ¤¤Çµ¯Æ°¤¹¤ë
-(¤Þ¤¿¤Ï¡¢B<L<udpmode|/item_udpmode>> ¥¡¼¥ï¡¼¥É¤ò»ÈÍѤ¹¤ë)¡£
-Î㤨¤Ð¥µ¡¼¥Ð¦¤Ç
+B<Zebedee>はもともとは TCP/IP のトラフィックだけを扱うように設計されたが、
+バージョン2.0.0からはコネクションレスのUDPのデータも扱えるようになった。
+この機能を有効にするにはB<Zebedee>を B<-u> オプション付きで起動する
+(または、B<L<udpmode|/item_udpmode>> キーワードを使用する)。
+例えばサーバ側で
zebedee -s -u
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç
+クライアント側で
zebedee -u 10000:somehost:echo
-¤ò¼Â¹Ô¤¹¤ë¡£¤Ê¤ª¡¢¤Ò¤È¤Ä¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢TCP¤«UDP¤Î¤É¤Á¤é¤«¤ò°·¤¤¡¢
-ξÊýƱ»þ¤Ë°·¤¦¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£Î¾Êý¤Î¥¿¥¤¥×¤ò¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢
-2¤Ä¤ÎÆÈΩ¤·¤¿¥¤¥ó¥¹¥¿¥ó¥¹¤òµ¯Æ°¤¹¤ë¡£
-TCP¥â¡¼¥É¤ÈUDP¥â¡¼¥É¤Î¥µ¡¼¥Ð¤Ï°ã¤¦¥Ý¡¼¥È¤ò»È¤¦¤Î¤Ç¡¢
-ξ¼Ô¤òƱ¤¸¥·¥¹¥Æ¥à¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ï°ÂÁ´¤Ç¤¢¤ë¡£
+を実行する。なお、ひとつのクライアントとサーバは、TCPかUDPのどちらかを扱い、
+両方同時に扱うことはできない。両方のタイプをトンネルするには、
+2つの独立したインスタンスを起動する。
+TCPモードとUDPモードのサーバは違うポートを使うので、
+両者を同じシステムで起動することは安全である。
-UDP¥â¡¼¥É¤Ç¤âB<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð´Ö¤Î¥È¥ó¥Í¥ë¤ÏTCP/IP¤ÇÀܳ¤¹¤ë¡£
-¤³¤ÎÀܳ¤Ï̵ÄÌ¿®¤¬°ìÄê»þ´Ö³¤¯¤È¥¿¥¤¥à¥¢¥¦¥È¤¹¤ë¡£
-¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤«¤é¤µ¤é¤Ë¥Ç¡¼¥¿¤¬Íè¤ë¤È¥È¥ó¥Í¥ë¤ÎºÆÀܳ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¤Î¤Ç¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆÃÀ¤Ë¤è¤Ã¤Æ¤Ï
-UDP¥â¡¼¥É¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¤è¤¯¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤³¤È¤â¤¢¤ë¡£
-¤Þ¤¿¡¢°·¤¨¤ëUDP¥À¥¤¥¢¥°¥é¥à¤Î¥µ¥¤¥º¤Ë¤âÀ©¸Â¤¬¤¢¤ë¤³¤È¤Ë¤âÃí°Õ¤¹¤ë¤³¤È¡£
+UDPモードでもB<Zebedee>のクライアントとサーバ間のトンネルはTCP/IPで接続する。
+この接続は無通信が一定時間続くとタイムアウトする。
+タイムアウトしてからさらにデータが来るとトンネルの再接続を行う必要があるので、
+アプリケーションの特性によっては
+UDPモードのパフォーマンスがよくないように見えることもある。
+また、扱えるUDPダイアグラムのサイズにも制限があることにも注意すること。
-¾ÜºÙ¤Ï¡¢B<L<maxbufsize|/item_maxbufsize>>¡¢
-B<L<udpmode|/item_udpmode>>¡¢ B<L<udptimeout|/item_udptimeout>>
-¤ò»²¾È¤Î¤³¤È¡£
+詳細は、B<L<maxbufsize|/item_maxbufsize>>、
+B<L<udpmode|/item_udpmode>>、 B<L<udptimeout|/item_udptimeout>>
+を参照のこと。
-=head2 ¸ÀÍÕ¤ÎÄêµÁ(Some Terminology)
+=head2 言葉の定義(Some Terminology)
-Ä̾ï¤Ï¡¢B<Zebedee>¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢´Ø·¸¤¹¤ë¥·¥¹¥Æ¥à¤Ï2¤Ä¤Ç¤¢¤ë¡£
-ÊÒÊý¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Æ¡¢¥í¡¼¥«¥ë¥Ý¡¼¥È¤Ç¤½¤ì¤ÈÄÌ¿®¤¹¤ë¡£
-È¿ÂЦ¤Ç¤Ï¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Æ¡¢¤½¤Î¥·¥¹¥Æ¥à¤ÇÆ°ºî¤·¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¤È²ñÏ乤롣
-¤·¤«¤·¤Ê¤¬¤é¡¢¼¡¤Î¤è¤¦¤ËºÇÂç4¤Ä¤Î¥·¥¹¥Æ¥à(¥Þ¥·¥ó)¤¬´Ø·¸¤¹¤ë¥±¡¼¥¹¤â¤¢¤ê¤¨¤ë¡£
+通常は、B<Zebedee>を使用する場合、関係するシステムは2つである。
+片方でクライアントを起動して、ローカルポートでそれと通信する。
+反対側ではサーバを起動して、そのシステムで動作しているサービスと会話する。
+しかしながら、次のように最大4つのシステム(マシン)が関係するケースもありえる。
- [¥½¡¼¥¹] <===> [¥¯¥é¥¤¥¢¥ó¥È] <=====> [¥µ¡¼¥Ð] <===> [¥¿¡¼¥²¥Ã¥È]
+ [ソース] <===> [クライアント] <=====> [サーバ] <===> [ターゲット]
| | |
- +- °ÂÁ´¤Ç¤Ê¤¤ | + °ÂÁ´¤Ç¤Ê¤¤
- Àܳ | Àܳ
- +- °ÂÁ´¤Ê¥È¥ó¥Í¥ë
+ +- 安全でない | + 安全でない
+ 接続 | 接続
+ +- 安全なトンネル
-B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¥·¥¹¥Æ¥à¤Ç¡¢
-¥µ¡¼¥Ð¤Ï¡Ö¥µ¡¼¥Ð¡×¥·¥¹¥Æ¥à¤Ç¤½¤ì¤¾¤ìÆ°ºî¤·¤Æ¤¤¤ë¡£
-¥È¥ó¥Í¥ëÀßÄê¤Î·Àµ¡¤È¤Ê¤ëºÇ½é¤ÎÀܳ¤Ï¡Ö¥½¡¼¥¹¡×¥Þ¥·¥ó¤«¤éȯÀ¸¤¹¤ë¡£
-¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤Ï°ã¤¦¥·¥¹¥Æ¥à¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤¬¡¢
-Ä̾ï¤ÏƱ°ì¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ë¡£
-¥µ¡¼¥Ð¤ÏºÇ¸å¤Ë¡Ö¥¿¡¼¥²¥Ã¥È¡×¥·¥¹¥Æ¥à¤ÈÄÌ¿®¤¹¤ë¡£
-¥¿¡¼¥²¥Ã¥È¤âÉáÄ̤ϥ½¡¼¥¹¤ÈƱ¤¸¥Þ¥·¥ó¤Ë¤Ê¤ë¤¬¡¢°ã¤¦¥Þ¥·¥ó¤Ç¤¢¤Ã¤Æ¤âÁ´¤¯ÌäÂê¤Ï¤Ê¤¤¡£
+B<Zebedee>のクライアントは「クライアント」システムで、
+サーバは「サーバ」システムでそれぞれ動作している。
+トンネル設定の契機となる最初の接続は「ソース」マシンから発生する。
+「ソース」と「クライアント」は違うシステムであってもかまわないが、
+通常は同一のシステムである。
+サーバは最後に「ターゲット」システムと通信する。
+ターゲットも普通はソースと同じマシンになるが、違うマシンであっても全く問題はない。
-¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¡¢
-¡Ö¥µ¡¼¥Ð¡×¤È¡Ö¥¿¡¼¥²¥Ã¥È¡×¤Î°ã¤¤¤òµ¤¤Ë¤¹¤ëɬÍפϤʤ¤¡£
-¤·¤«¤·¡¢¤³¤ÎÍѸì¤Î¶èÊ̤¬°Ê²¼¤Ë½Ò¤Ù¤ë¥¡¼¥ï¡¼¥É¤Ë¿¤¯È¿±Ç¤·¤Æ¤¤¤ë¡£
-¥¡¼¥ï¡¼¥É¤ÎÀâÌÀ¤òÆɤà»þ¤Ë¤Ï¡¢¤³¤Î¤³¤È¤òƬ¤ËÆþ¤ì¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¤¤¤¤¤À¤í¤¦¡£
+ほとんどの場合、「ソース」と「クライアント」、
+「サーバ」と「ターゲット」の違いを気にする必要はない。
+しかし、この用語の区別が以下に述べるキーワードに多く反映している。
+キーワードの説明を読む時には、このことを頭に入れておいたほうがいいだろう。
-B<Zebedee>¤Î¥È¥ó¥Í¥ë¤Ë´Ø·¸¤¹¤ë¤³¤Î4¤Ä¥·¥¹¥Æ¥à¤ÎÌäÂê¤ÈÊ̤ˡ¢
-°ÂÁ´¤ËÀܳ¤¹¤ë¤¿¤á¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁ´¤¯°ã¤¦¥¿¥¤¥×¤Î¡Ö¥¡¼(key)¡×¤¬»È¤ï¤ì¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÏB<private key>(ÈëÌ©¸°)¤È¤¤¤¦ÃͤòɬÍפȤ¹¤ë
-(¼«Ê¬¤ÇÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ë)¡£
-¤³¤Î¥¡¼¤«¤é¤Ï¡¢public values ¤¬·×»»¤µ¤ì¸ò´¹¤µ¤ì¡¢
-¤½¤ì¤Ë¤è¤êB<shared secret key> ¤¬Æ³¤½Ð¤µ¤ì¤ë
-(¤³¤Î»þ¤ËDiffie-Hellman key agreement mechanism ¤¬»ÈÍѤµ¤ì¤ë)¡£
-¤³¤Î¥¡¼¤«¤é¤Ï¡¢Àܳ¤Î¤¿¤Ó¤Ë¥æ¥Ë¡¼¥¯¤ÊB<session key>¤¬Æ³¤½Ð¤µ¤ì¡¢
-ºÇ½ªÅª¤Ë¤³¤Î¥¡¼¤Ç°Å¹æ²½¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
+B<Zebedee>のトンネルに関係するこの4つシステムの問題と別に、
+安全に接続するために、いくつかの全く違うタイプの「キー(key)」が使われる。
+クライアントとサーバはB<private key>(秘密鍵)という値を必要とする
+(自分で生成する場合もある)。
+このキーからは、public values が計算され交換され、
+それによりB<shared secret key> が導き出される
+(この時にDiffie-Hellman key agreement mechanism が使用される)。
+このキーからは、接続のたびにユニークなB<session key>が導き出され、
+最終的にこのキーで暗号化が行なわれる。
-=head2 ÀßÄê¥Õ¥¡¥¤¥ë(Configuration File)
+=head2 設定ファイル(Configuration File)
-B<Zebedee> ¤ÎÆ°ºî¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤¦¤Î¤¬¤ª¤½¤é¤¯°ìÈ֤褤¡£ÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤Ë¤Ï
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç B<-f>¤ò»È¤¦¡£¥Õ¥¡¥¤¥ë¤Ï(B<-f>)¥ª¥×¥·¥ç¥ó¤Î°Ì
-Ã֤ǽèÍý¤µ¤ì¤ë¡£½¾¤Ã¤Æ¡¢¤½¤ì°Ê¹ß¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç¥Õ¥¡¥¤¥ë¤ÎÆâ
-ÍƤò¾å½ñ¤¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+B<Zebedee> の動作をコントロールするには、
+設定ファイルを使うのがおそらく一番よい。設定ファイルを指定するには
+コマンドラインオプションで B<-f>を使う。ファイルは(B<-f>)オプションの位
+置で処理される。従って、それ以降のコマンドラインオプションでファイルの内
+容を上書きすることができる。
-¹Ô¤Î·Á¼°¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
+行の形式は以下のとおり。
key value # optional comment
-I<key>¤Ï¤Ò¤È¤Ä¤Îñ¸ì¤Ç¤¢¤êÂçʸ»ú¾®Ê¸»ú¤Ï̵»ë¤µ¤ì¤ë¡£I<value>¤Ïñ¸ì¤«Ê¸»ú
-Î󤫤ɤÁ¤é¤«¤Ç¤¢¤ë¡£
-ʸ»úÎó¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È(C<"¤³¤ó¤ÊÉ÷¤Ë">)¤«¥·¥ó¥°¥ë¥¯¥©¡¼¥È
-(C<'¤³¤ó¤ÊÉ÷¤Ë'>)¤Ç¤¯¤¯¤é¤ì¤ë¡£¥À¥Ö¥ë¥¯¥©¡¼¥È " ¤ÎÃæ¤Ë
-¥·¥ó¥°¥ë¥¯¥©¡¼¥È ' ¤¬¤¢¤Ã¤Æ¤â¤è¤¤¤·(C<"here's an example">)¡¢¤½¤ÎµÕ¤â¸À¤¨¤ë¡£
-value ¤Ç¤ÏÂçʸ»ú¾®Ê¸»ú¤Î°ã¤¤¤Ï¶èÊ̤µ¤ì¤ë¡£
+I<key>はひとつの単語であり大文字小文字は無視される。I<value>は単語か文字
+列かどちらかである。
+文字列はダブルクォート(C<"こんな風に">)かシングルクォート
+(C<'こんな風に'>)でくくられる。ダブルクォート " の中に
+シングルクォート ' があってもよいし(C<"here's an example">)、その逆も言える。
+value では大文字小文字の違いは区別される。
-¶õÇò¹Ô¤È"C<#>"¤Ç¤Ï¤¸¤Þ¤ë¹Ô(¤½¤ÎÁ°¤Ë¶õÇò¤¬¤¢¤Ã¤Æ¤âƱ¤¸)¤Ï̵»ë¤µ¤ì¤ë¡£
-Ť¤Ê¸»úÎó¤Ï "C<\>"¤Ç¼¡¤Î¹Ô¤Ë·Ñ³¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤Îʸ»ú¤Ï½üµî¤µ¤ì¡¢¼¡¤Î¹Ô¤¬¤³¤Î¹Ô¤ËÀܳ¤µ¤ì¤ë¡£
-1¹Ô¤ÎŤµ¤Ï·Ñ³¹Ô¤â´Þ¤á 1024 ʸ»ú¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£
-¹Ô¤ÎÀܳ¤Ï¥³¥á¥ó¥È¤Îǧ¼±¤ò´Þ¤á¤¹¤Ù¤Æ¤Î½èÍý¤ËÀè¤À¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£
-¤½¤Î¤¿¤á°Ê²¼¤ÎÎã
+空白行と"C<#>"ではじまる行(その前に空白があっても同じ)は無視される。
+長い文字列は "C<\>"で次の行に継続することもできる。
+この文字は除去され、次の行がこの行に接続される。
+1行の長さは継続行も含め 1024 文字に制限されていることに注意。
+行の接続はコメントの認識を含めすべての処理に先だって行われる。
+そのため以下の例
server false
# This comment continues on the next line \
server true
-¤Ç¤Ï¡¢B<server>¤ÎÃÍ¤Ï B<false>¤Ë¤Ê¤ë¡£
+では、B<server>の値は B<false>になる。
-¥¡¼¥ï¡¼¥É¤È¤½¤Î°ÕÌ£¤Ï°Ê²¼¤Ë½Ò¤Ù¤ë¡£
-¤Û¤È¤ó¤É¤Î¥¡¼¥ï¡¼¥É¤ÏÂбþ¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢
-¤Ê¤«¤Ë¤ÏÂбþ¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£
-Âбþ¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¤½¤ì¤âÊ»µ¤·¤Æ¤¢¤ë¡£
-µÕ¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï
-ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î¥¡¼¥ï¡¼¥É¤ËÂбþ¤¹¤ë¤â¤Î¤¬¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£
-¤½¤ì¤é¤Ï¤³¤Î¥»¥¯¥·¥ç¥ó¤ÎºÇ¸å¤Ë½Ò¤Ù¤ë¡£
+キーワードとその意味は以下に述べる。
+ほとんどのキーワードは対応するコマンドラインオプションがあるが、
+なかには対応するオプションがないものもある。
+対応するコマンドラインオプションがあるものについてはそれも併記してある。
+逆に、コマンドラインオプションの中には
+設定ファイル内のキーワードに対応するものがないものもある。
+それらはこのセクションの最後に述べる。
-¥¡¼¥ï¡¼¥É¤¬¿¿µ¶ÃÍ(boolean)¤È½ñ¤«¤ì¤Æ¤¤¤¿¤é¡¢
-¤½¤ÎÃͤÏ"B<true>" ¤Þ¤¿¤Ï "B<false>"¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+キーワードが真偽値(boolean)と書かれていたら、
+その値は"B<true>" または "B<false>"でなければならない。
-¥¡¼¥ï¡¼¥É¤ÎÃæ¤Ë¤Ï¥Ý¡¼¥È¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤â¤Î¤¬¤¢¤ë¡£
-¤³¤Î¾ì¹ç¤Ï¡¢¥Ý¡¼¥È̾(¥µ¡¼¥Ó¥¹Ì¾)¡¢¥Ý¡¼¥ÈÈֹ桢ÈÖ¹æ¤ÎÈϰϤò
-¥³¥ó¥Þ¤«¶õÇò¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢"C<telnet, ftp 5900-5903>"¤Ï
-"C<23,21,5900,5901,5902,5903>"¤ÈÅù¤·¤¤¡£
+キーワードの中にはポートのリストを指定するものがある。
+この場合は、ポート名(サービス名)、ポート番号、番号の範囲を
+コンマか空白で区切ったものを指定する。
+例えば、"C<telnet, ftp 5900-5903>"は
+"C<23,21,5900,5901,5902,5903>"と等しい。
-¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤À¤±¤Ë»ØÄꤹ¤ë¥¡¼¥ï¡¼¥É¤â¤¢¤ë¤·¡¢
-¥µ¡¼¥Ð¤À¤±¤Ë»ØÄꤹ¤ë¥¡¼¥ï¡¼¥É¤â¤¢¤ë¡£
-¤Ò¤È¤Ä¤Î B<Zebedee> ¥×¥í¥°¥é¥à¤Ï¥µ¡¼¥Ð¤«¥¯¥é¥¤¥¢¥ó¥È¤«¤É¤Á¤é¤«¤Ò¤È¤Ä¤Îµ¡Ç½¤ò¼Â¹Ô¤·¡¢
-¤½¤Î»þ¤ÎÍÑÅӤȰ㤦ÍÑÅÓ¸þ¤±¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤¹¤ë¡£
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤âɽ¼¨¤·¤Ê¤¤¡£
-¥µ¡¼¥Ð¤Ë¤Ê¤ë¤«¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ê¤ë¤«¤Ï¡¢
-B<L<server|/item_server>> ¥¡¼¥ï¡¼¥É¤Ç·è¤Þ¤ë¡£
+また、クライアントだけに指定するキーワードもあるし、
+サーバだけに指定するキーワードもある。
+ひとつの B<Zebedee> プログラムはサーバかクライアントかどちらかひとつの機能を実行し、
+その時の用途と違う用途向けのオプションは無視する。
+エラーメッセージも表示しない。
+サーバになるかクライアントになるかは、
+B<L<server|/item_server>> キーワードで決まる。
=over 4
-=item B<server> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-s>)
+=item B<server> (コマンドラインでは B<-s>)
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ê¤ë¤«¥µ¡¼¥Ð¤Ë¤Ê¤ë¤«¤ò·è¤á¤ë¿¿µ¶ÃͤΥ¡¼¥ï¡¼¥É¤Ç¤¢¤ë¡£
-¤³¤ì¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ°ºî¤¹¤ë¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-s> ¥ª¥×¥·¥ç¥ó¤Ï¤³¤ÎÃͤòB<true>¤Ë¤¹¤ë¤Î¤ÈÅù¤·¤¤¡£
+これは、クライアントになるかサーバになるかを決める真偽値のキーワードである。
+これが指定されなかった場合は、クライアントとして動作する。
+コマンドラインオプションの B<-s> オプションはこの値をB<true>にするのと等しい。
=back
-=head3 ¥¯¥é¥¤¥¢¥ó¥ÈÀìÍÑ¥¡¼¥ï¡¼¥É(Client-Only Keywords)
+=head3 クライアント専用キーワード(Client-Only Keywords)
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥¯¥é¥¤¥¢¥ó¥È¤À¤±¤ËŬÍѤµ¤ì¤ë¡£
+以下のキーワードはクライアントだけに適用される。
=over 4
-=item B<command> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-e>)
+=item B<command> (コマンドラインでは B<-e>)
-¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ°ºî¤·¤Æ¤¤¤ë»þ¤Ë°ÕÌ£¤ò»ý¤Ä¡£
-¤³¤ì¤Ï¡¢¥È¥ó¥Í¥ë¤ØÀܳ¤·¤¿¸å¤Ëµ¯Æ°¤µ¤ì¤ë¥³¥Þ¥ó¥É¤ò¼¨¤¹¡£
-¤³¤ÎÃͤ¬ "C<%d>" ¤È¤¤¤¦Ê¸»úÎó¤ò´Þ¤ó¤Ç¤¤¤¿¤é¡¢¼Â¹Ô»þ¤Ë¥í¡¼¥«¥ë¥Ý¡¼¥ÈÈÖ¹æ¤ÈÃÖ¤ÊѤ¨¤é¤ì¤ë
-(B<L<clientport|/item_clientport>> »²¾È)¡£
-¤³¤Î½èÍý¤ÏB<sprintf>´Ø¿ô¤ò»ÈÍѤ·¤Æ¹Ô¤Ê¤¦¤Î¤Ç¡¢
-"C<%>"¤Ë¤è¤ë¥¨¥¹¥±¡¼¥×½èÍý¤¬Å¬ÍѤµ¤ì¤ë
-(¤¹¤Ê¤ï¤Á¡¢"C<%>" ¤ò 1 ʸ»úÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï "C<%%>" ¤ò»È¤¦)¡£
-¤µ¤é¤Ë¡¢"C<%d>" ¤òÆó¤Ä°Ê¾å»ØÄꤷ¤¿¤ê "C<%d>" °Ê³°¤Î¥Õ¥©¡¼¥Þ¥Ã¥È»ØÄê»Ò
-¤ò»ØÄꤹ¤ë¤È¡¢¤ª¤½¤é¤¯¥×¥í¥°¥é¥à¤Ï¥¯¥é¥Ã¥·¥å¤¹¤ë¤À¤í¤¦¡£
+クライアントとして動作している時に意味を持つ。
+これは、トンネルへ接続した後に起動されるコマンドを示す。
+この値が "C<%d>" という文字列を含んでいたら、実行時にローカルポート番号と置き変えられる
+(B<L<clientport|/item_clientport>> 参照)。
+この処理はB<sprintf>関数を使用して行なうので、
+"C<%>"によるエスケープ処理が適用される
+(すなわち、"C<%>" を 1 文字生成するためには "C<%%>" を使う)。
+さらに、"C<%d>" を二つ以上指定したり "C<%d>" 以外のフォーマット指定子
+を指定すると、おそらくプログラムはクラッシュするだろう。
-¥³¥Þ¥ó¥É¤¬Àܳ¤òÊĤ¸¤¿¤é¡¢B<Zebedee>¤â½ªÎ»¤¹¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢°ÅÌۤΤ¦¤Á¤Ë¥Þ¥ë¥Á¥æ¡¼¥¹¥â¡¼¥É¤¬OFF¤Ë¤Ê¤ë
-(B<L<multiuse|/item_multiuse>>»²¾È)¡£
-B<Zebedee> ¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤ÎÀܳ¤ò°·¤¦¾ì¹ç
-(B<L<multiuse|/item_multiuse>>)¤ä¥Ý¡¼¥È¤Î¥ê¥¹¥È¤¬
-B<L<clientport|/item_clientport>>¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î¼«Æ°µ¯Æ°¤Ï
-»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
+コマンドが接続を閉じたら、B<Zebedee>も終了する。
+このキーワードおよびオプションを使用すると、暗黙のうちにマルチユースモードがOFFになる
+(B<L<multiuse|/item_multiuse>>参照)。
+B<Zebedee> クライアントが複数の接続を扱う場合
+(B<L<multiuse|/item_multiuse>>)やポートのリストが
+B<L<clientport|/item_clientport>>で指定された場合は、コマンドの自動起動は
+使用することができない。
=item B<clientport>
-¤³¤ì¤ÏB<Zebedee> ¥¯¥é¥¤¥¢¥ó¥È¤¬¥í¡¼¥«¥ëÀܳ¤Î¤¿¤á¤Ëlisten¤¹¤Ù¤¡¢
-¤Ò¤È¤Ä¤Î¥Ý¡¼¥ÈÈֹ椫¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£
+これはB<Zebedee> クライアントがローカル接続のためにlistenすべき、
+ひとつのポート番号かポート番号のリストである。
-¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ó¥Í¥ë¤¹¤ë¤Î¤¬Ã±ÆȤΥê¥â¡¼¥È¥Ý¡¼¥È¤Ê¤é¤Ð¡¢
-¤³¤ì¤Ï¾Êά¤Ç¤¤ë¡£
-¤½¤Î¾ì¹ç¤Ï¥Ý¡¼¥È¤Ï¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¡¢
-üËö¤Ë¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¡£
+もしクライアントがトンネルするのが単独のリモートポートならば、
+これは省略できる。
+その場合はポートは自動的に割り当てられて、
+端末にポート番号を示すメッセージが表示される。
-¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë»þ¤Ï¡¢¥ê¥â¡¼¥È¥Ý¡¼¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¤Î¤Ç¤¢¤ì¡¢
-B<L<targetport|/item_targetport>> ¥¡¼¥ï¡¼¥É¤Ç»ØÄꤵ¤ì¤¿¤Î¤Ç¤¢¤ì¡¢
-¥Ý¡¼¥È¤Î¿ô¤ÏÀµ³Î¤Ë¥ê¥â¡¼¥È¥Ý¡¼¥È¤Î¿ô¤È°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+ポート番号のリストを指定する時は、リモートポートがコマンドラインで指定されたのであれ、
+B<L<targetport|/item_targetport>> キーワードで指定されたのであれ、
+ポートの数は正確にリモートポートの数と一致しなければならない。
-2.0.0¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸°ÕÌ£¤ÇB<localport>¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤âǧ¼±¤µ¤ì¤ë¡£
+2.0.0より前のバージョンでは、同じ意味でB<localport>というキーワードが使用されていた。
+後方互換性のために、このキーワードは現バージョンでも認識される。
=item B<localsource>
-¤³¤ÎÃͤ¬B<true>¤À¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤ÇȯÀ¸¤·¤¿Àܳ¤À¤±¤ò¼õ¤±¤Ä¤±¤ë¡£
-Ê̤θÀÍդǸÀ¤¦¤È¡¢¡Ö¥½¡¼¥¹¡×¤È¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤¬Æ±°ì¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¡£
+この値がB<true>だと、クライアントはローカルマシンで発生した接続だけを受けつける。
+別の言葉で言うと、「ソース」と「クライアント」が同一のシステムである必要がある。
-¤³¤ÎÃͤϥǥե©¥ë¥È¤ÏB<false>¤Ç¤¢¤ê¡¢¤É¤Î¥Þ¥·¥ó¤¬¥½¡¼¥¹¤È¤Ê¤Ã¤Æ¤âÀܳ¤ò¼õ¤±¤Ä¤±¤ë¡£
+この値はデフォルトはB<false>であり、どのマシンがソースとなっても接続を受けつける。
-=item B<multiuse> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-m>)
+=item B<multiuse> (コマンドラインでは B<-m>)
-¤³¤ÎÃͤ¬B<true>¤À¤È(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤½¤¦¤Ê¤Ã¤Æ¤¤¤ë¤¬)¡¢
-B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÏÊ£¿ô¤ÎÀܳÍ×µá(Ʊ»þʹÔŪ¤ËȯÀ¸¤·¤Æ¤â¤è¤¤)¤ò°·¤¤¡¢
-Í×µá¤Ò¤È¤Ä¤Ò¤È¤Ä¤ËÂФ·¤Æ¡¢¿·¤·¤¤¥È¥ó¥Í¥ë¤òÀßÃÖ¤¹¤ë¡£
-Ãͤ¬B<false>¤À¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥·¥ó¥°¥ë¥æ¡¼¥¹¥â¡¼¥É¤ÇÆ°ºî¤·¡¢
-ºÇ½é¤ÎÀܳ¤¬ÊĤ¸¤é¤ì¤¿Ä¾¸å¤Ë½ªÎ»¤¹¤ë¡£
+この値がB<true>だと(デフォルトではそうなっているが)、
+B<Zebedee>のクライアントは複数の接続要求(同時並行的に発生してもよい)を扱い、
+要求ひとつひとつに対して、新しいトンネルを設置する。
+値がB<false>だと、クライアントはシングルユースモードで動作し、
+最初の接続が閉じられた直後に終了する。
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎB<-m>¥ª¥×¥·¥ç¥ó¤Ï¤³¤ì¤òB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈÅù¤·¤¤¡£
-¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎB<Zebedee>¤Ï¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤À¤¬
-(¤À¤«¤é¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ëɬÍפϤʤ¤¤¬)¡¢
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë»Ä¤µ¤ì¤Æ¤¤¤ë¡£
+コマンドラインのB<-m>オプションはこれをB<true>に設定するのと等しい。
+現在のバージョンのB<Zebedee>はこれがデフォルトだが
+(だから、このオプションを設定する必要はないが)、
+後方互換性のために残されている。
-¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤Î¥Ý¡¼¥È¤òÂÔ¤Á¼õ¤±¤ë¾ì¹ç¤Ï¡¢
-¤¿¤È¤¨¤³¤ì¤¬B<false>¤ËÀßÄꤵ¤ì¤Æ¤¤¤Æ¤â¡¢
-¼«Æ°Åª¤Ë ¥Þ¥ë¥Á¥æ¡¼¥¹¥â¡¼¥É¤Ë¤Ê¤ë¡£
-(B<L<clientport|/item_clientport>> »²¾È)
+クライアントが複数のポートを待ち受ける場合は、
+たとえこれがB<false>に設定されていても、
+自動的に マルチユースモードになる。
+(B<L<clientport|/item_clientport>> 参照)
=item B<serverhost>
-¤³¤ì¤Ï¥È¥ó¥Í¥ë¤òÀܳ¤¹¤Ù¤¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤Ç¤¢¤ë¡£
-¥Û¥¹¥È¤Î̾¾Î¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Ï¤Ê¤¤¤Î¤Ç¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤«¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¤É¤Á¤é¤«¤Ç¡¢
-ɬ¤º¤³¤ì¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+これはトンネルを接続すべきリモートホストの名前である。
+ホストの名称にはデフォルトはないので、
+設定ファイルかコマンドラインのどちらかで、
+必ずこれを指定しなければならない。
-2.0.0¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸°ÕÌ£¤ÇB<remotehost>¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤âǧ¼±¤µ¤ì¤ë¡£
+2.0.0より前のバージョンでは、同じ意味でB<remotehost>というキーワードが使用されていた。
+後方互換性のために、このキーワードは現バージョンでも認識される。
=item B<targetport>
-¤³¤³¤Ë»ØÄꤷ¤¿¥Ý¡¼¥ÈÈÖ¹æ(¥ê¥¹¥È¤â²Ä)¤Ç¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ËÀܳ¤¹¤ë¤è¤¦¤Ë¡¢
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤¬B<Zebedee>¥µ¡¼¥Ð¤ËÍ׵᤹¤ë¡£
-¤³¤ì¤¬»ØÄꤵ¤ì¤Ê¤¤»þ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï"B<telnet>" (¥Ý¡¼¥ÈÈÖ¹æ 23)¤Ç¤¢¤ë¡£
+ここに指定したポート番号(リストも可)でターゲットホストに接続するように、
+B<Zebedee>クライアントがB<Zebedee>サーバに要求する。
+これが指定されない時のデフォルトは"B<telnet>" (ポート番号 23)である。
-¥Ý¡¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë»þ¤Ï¡¢
-¥í¡¼¥«¥ë¥Ý¡¼¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¤Î¤Ç¤¢¤ì¡¢
-B<L<clientport|/item_clientport>> ¥¡¼¥ï¡¼¥É¤Ç»ØÄꤵ¤ì¤¿¤Î¤Ç¤¢¤ì¡¢
-¥Ý¡¼¥È¤Î¿ô¤ÏÀµ³Î¤Ë¥í¡¼¥«¥ë¥Ý¡¼¥È¤Î¿ô¤È°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+ポート番号のリストを指定する時は、
+ローカルポートがコマンドラインで指定されたのであれ、
+B<L<clientport|/item_clientport>> キーワードで指定されたのであれ、
+ポートの数は正確にローカルポートの数と一致しなければならない。
-2.0.0¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸°ÕÌ£¤ÇB<remoteport>¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤âǧ¼±¤µ¤ì¤ë¡£
+2.0.0より前のバージョンでは、同じ意味でB<remoteport>というキーワードが使用されていた。
+後方互換性のために、このキーワードは現バージョンでも認識される。
=back
-=head3 ¥µ¡¼¥ÐÀìÍÑ¥¡¼¥ï¡¼¥É(Server-Only Keywords)
+=head3 サーバ専用キーワード(Server-Only Keywords)
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥µ¡¼¥Ð¤È¤·¤ÆÆ°ºî¤¹¤ë»þ¤ËŬÍѤ¹¤ë¡£
+以下のキーワードはサーバとして動作する時に適用する。
=over 4
-=item B<redirect> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-r>)
+=item B<redirect> (コマンドラインでは B<-r>)
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¥µ¡¼¥Ð¤¬¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¥Ý¡¼¥È¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£
-(Îã "C<telnet,ftp, 5900-5910>")
-¤â¤· B<redirect> ¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢
-¤É¤Î¥Ý¡¼¥È¤Ø¤Î¥È¥ó¥Í¥ëÀܳÍ×µá¤â¼õ¤±ÉÕ¤±¤é¤ì¤ë¡£
-¤³¤ÎÊýË¡(B<redirect>¤ò»ØÄꤷ¤Ê¤¤¤³¤È)¤Ï¥Æ¥¹¥ÈÃæ¤Ë¤ÏÊØÍø¤À¤¬¡¢
-¥»¥¥å¥ê¥Æ¥£¡¼Ì̤ǤΥꥹ¥¯¤¬¤¢¤ë¤Î¤Ç¡¢
-¤â¤·²Äǽ¤Ê¤é¤Ð(¤³¤Î¥¡¼¥ï¡¼¥É¤Ç)ÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤Ù¤¤Ç¤¢¤ë¡£
+このキーワードはサーバがリダイレクトするポートのリストである。
+(例 "C<telnet,ftp, 5900-5910>")
+もし B<redirect> キーワードが指定されない場合は、
+どのポートへのトンネル接続要求も受け付けられる。
+この方法(B<redirect>を指定しないこと)はテスト中には便利だが、
+セキュリティー面でのリスクがあるので、
+もし可能ならば(このキーワードで)明示的に許可するポートを指定すべきである。
-¤³¤Î¥¡¼¥ï¡¼¥É(¤Þ¤¿¤ÏB<-r>¥ª¥×¥·¥ç¥ó)¤ÏÊ£¿ô»ØÄꤵ¤ì¤Æ¤â¤è¤¤¡£¤³¤Î¾ì¹ç¤Ï¡¢
-¤½¤Î¤¦¤Á¤É¤ì¤«¤Î¥Ý¡¼¥È¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¥ê¥À¥¤¥ì¥¯¥È¤¬µö²Ä¤µ¤ì¤ë¡£
+このキーワード(またはB<-r>オプション)は複数指定されてもよい。この場合は、
+そのうちどれかのポートに指定されていればリダイレクトが許可される。
=item B<targethost>
-¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏB<Zebedee> ¥µ¡¼¥Ð¤Ï
-Á´¤Æ¤Î¥È¥ó¥Í¥ë¤ò¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Ý¡¼¥È¤Ë¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¡£
-¤â¤·¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ë¤È¡¢
-Á´¤Æ¤ÎÀܳ¤Ï¤½¤Î̾¾Î¤Î¥Û¥¹¥È¤Ø¤È¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£
-¥È¥ó¥Í¥ë¤ò°ÂÁ´¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÃæ¤Ë¤Þ¤Ç±äŤ¹¤ë¤Î¤Ï̵Â̤Ǥ¢¤ë¤¬¡¢
-¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤È¡¢¤½¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ò¾Ê¤¯¤³¤È¤¬¤Ç¤¤ÆÊØÍø¤Ç¤¢¤ë¡£
-¤Þ¤¿ B<ftp> ¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò¥È¥ó¥Í¥ë¤¹¤ë»þ¤Ë¤â»È¤¨¤ë¡£
-(¾ÜºÙ¤ÏL<EXAMPLES>»²¾È)
+デフォルトではB<Zebedee> サーバは
+全てのトンネルをローカルマシンのポートにリダイレクトする。
+もし、このキーワードが指定されると、
+全ての接続はその名称のホストへとリダイレクトされる。
+トンネルを安全なネットワークの中にまで延長するのは無駄であるが、
+この機能を使用すると、そのオーバーヘッドを省くことができて便利である。
+また B<ftp> のトラフィックをトンネルする時にも使える。
+(詳細はL<EXAMPLES>参照)
-B<Zebedee>¤¬¥µ¡¼¥Ð¥â¡¼¥É¤ÇÆ°ºî¤¹¤ë»þ¤Ï¡¢
-ÄÌ¿®¤ò¥ê¥À¥¤¥ì¥¯¥È¤¹¤Ù¤¥Û¥¹¥È¤Î̾¾Î¤Ï¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎºÇ¸å¤ÎÉÕ²ÃŪ¤Ê¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤ë¡£
+B<Zebedee>がサーバモードで動作する時は、
+通信をリダイレクトすべきホストの名称は、
+コマンドラインの最後の付加的なパラメータとして指定することもできる。
-2.0.0¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸°ÕÌ£¤ÇB<redirecthost>¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£
-¸åÊý¸ß´¹À¤Î¤¿¤á¤Ë¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤âǧ¼±¤µ¤ì¤ë¡£
+2.0.0より前のバージョンでは、同じ意味でB<redirecthost>というキーワードが使用されていた。
+後方互換性のために、このキーワードは現バージョンでも認識される。
=back
-=head3 °µ½Ì¤È°Å¹æ²½´ØÏ¢¤Î¥¡¼¥ï¡¼¥É(Compression and Encryption Keywords)
+=head3 圧縮と暗号化関連のキーワード(Compression and Encryption Keywords)
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¡¢¥È¥ó¥Í¥ëÆâ¤òή¤ì¤ë¥Ç¡¼¥¿¤Î°µ½Ì¤È°Å¹æ²½¤òÀ©¸æ¤¹¤ë¡£
-¤³¤ì¤é¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤É¤Á¤é¤Ç¤â»ÈÍѤµ¤ì¤ë¡£
+以下のキーワードは、トンネル内を流れるデータの圧縮と暗号化を制御する。
+これらは、クライアントとサーバどちらでも使用される。
=over 4
-=item B<compression> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-z>)
+=item B<compression> (コマンドラインでは B<-z>)
-B<Zebedee> ¤Ï°µ½ÌÊý¼°¤È¤·¤Æ B<zlib> ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡£
-¤½¤·¤Æ¡¢¤â¤·¥³¥ó¥Ñ¥¤¥ë»þ¤Ë͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐB<bzip2>¤â¥µ¥Ý¡¼¥È¤¹¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ç°µ½Ì¤ÎÊý¼°¤È°µ½Ì¥ì¥Ù¥ë¤ò»ØÄꤹ¤ë¡£
-¤³¤ÎÃͤηÁ¼°¤Ï I<type:level> ¤Ç¤¢¤ë¡£I<type> ¤Ï
-"C<zlib>" ¤È "C<bzip2>"¤Î¤É¤Á¤é¤«¡¢I<level> ¤Ï0¤«¤é9¤ÎÀ°¿ô¤Ç¤¢¤ë¡£
-¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ê¤·¤ÇÀ°¿ô¤À¤±¤Î¾ì¹ç¤Ï¡¢B<zlib>¤¬ÁªÂò¤µ¤ì¤ë¡£
+B<Zebedee> は圧縮方式として B<zlib> をサポートする。
+そして、もしコンパイル時に有効になっていればB<bzip2>もサポートする。
+このキーワードで圧縮の方式と圧縮レベルを指定する。
+この値の形式は I<type:level> である。I<type> は
+"C<zlib>" と "C<bzip2>"のどちらか、I<level> は0から9の整数である。
+プレフィックスなしで整数だけの場合は、B<zlib>が選択される。
-I<level> ¤Ï»ÈÍѲÄǽ¤ÊºÇÂç¤Î°µ½Ì¥ì¥Ù¥ë¤òÀßÄꤹ¤ë
-(9¤¬ºÇÂç¤Ç0¤¬°µ½Ì¤Ê¤·)¡£
-¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤ë°µ½Ì¥ì¥Ù¥ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤ÎÃͤȥµ¡¼¥Ð¤ÎÃͤκǾ®ÃͤǤ¢¤ë¡£
-¤³¤ÎÌÜŪ¤Ç¤Ï¡¢(0°Ê³°¤Î)B<bzip2>¥ì¥Ù¥ë¤Ï¤¤¤«¤Ê¤ëB<zlib>¥ì¥Ù¥ë¤ÎÃͤè¤ê¾å¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤ë¡£
-½¾¤Ã¤Æ¡¢¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¤¤¤º¤ì¤«¤¬B<bzip2>¥ì¥Ù¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-¥×¥í¥È¥³¥ë¤ÏB<zlib>¤òÁªÂò¤¹¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Î°µ½Ì¥ì¥Ù¥ë¤Ï"C<zlib:6>"¤Ç¤¢¤ë¡£
+I<level> は使用可能な最大の圧縮レベルを設定する
+(9が最大で0が圧縮なし)。
+実際に使用される圧縮レベルは、クライアントの値とサーバの値の最小値である。
+この目的では、(0以外の)B<bzip2>レベルはいかなるB<zlib>レベルの値より上であるとみなされる。
+従って、サーバとクライアントのいずれかがB<bzip2>レベルをサポートしていなければ、
+プロトコルはB<zlib>を選択する。
+デフォルトの圧縮レベルは"C<zlib:6>"である。
-B<bzip2>°µ½Ì¤ÎÆ°ºîÊý¼°¤È¥Ð¥Ã¥Õ¥¡¡¼¥µ¥¤¥º¤Î¤¿¤á¤Ë¡¢
-B<bzip2>¤ÏϢ³Ū¤Ê¥Ç¡¼¥¿¤Î¥¹¥È¥ê¡¼¥à¤¬Î®¤ì¤ë¾ì¹ç¤Ë¤À¤±»È¤¦°ÕÌ£¤¬¤¢¤ë¡£
-Ä̾ï¤ÎB<telnet>¥»¥Ã¥·¥ç¥ó¤Î¤è¤¦¤Ê¡¢¾®¤µ¤ÊžÁ÷¤Ç¤ÏB<zlib>¤ÎÊý¤¬Àǽ¤¬¤è¤¤¡£
-¤É¤Á¤é¤¬¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ¤è¤¯Æ¯¤¯¤«¤Ï¡¢¼Â¸³¤·¤Æ¤ß¤Ê¤¤¤È¤ï¤«¤é¤Ê¤¤¤À¤í¤¦¡£
-²Ã¤¨¤Æ¡¢¥Ð¥Ã¥Õ¥¡¡¼¥µ¥¤¥º¤¬¾®¤µ¤¤¤Î¤Ç¡¢B<bzip2>¤Î1¤è¤ê¾å¤«¤é¤ÏÆÀ¤ë¤â¤Î¤¬¤Ê¤¤¡£
-B<Zebedee>¤Ï¤³¤ì¤è¤ê¾å¤ÎÃͤϤ³¤ÎÃͤËÊѹ¹¤¹¤ë¡£
+B<bzip2>圧縮の動作方式とバッファーサイズのために、
+B<bzip2>は連続的なデータのストリームが流れる場合にだけ使う意味がある。
+通常のB<telnet>セッションのような、小さな転送ではB<zlib>の方が性能がよい。
+どちらがあなたにとってよく働くかは、実験してみないとわからないだろう。
+加えて、バッファーサイズが小さいので、B<bzip2>の1より上からは得るものがない。
+B<Zebedee>はこれより上の値はこの値に変更する。
-verbosity level¤ò2°Ê¾å¤Ë¤¹¤ì¤Ð¡¢
-Àܳ¤¬½ªÎ»¤·¤¿»þ¤Ë´ðËÜŪ¤ÊÅý·×Ãͤ¬¥×¥ê¥ó¥È¥¢¥¦¥È¤µ¤ì¤ë¤Î¤Ç¡¢
-¤É¤ì¤À¤±°µ½Ì¤¬Í¸ú¤À¤Ã¤¿¤«Àµ³Î¤ËÃΤ뤳¤È¤¬¤Ç¤¤ë¡£
-Î㤨¤Ð¡¢
+verbosity levelを2以上にすれば、
+接続が終了した時に基本的な統計値がプリントアウトされるので、
+どれだけ圧縮が有効だったか正確に知ることができる。
+例えば、
zebedee(232/210): read 166 bytes (265 expanded) in 3 messages
zebedee(232/210): wrote 20969 bytes (30499 expanded) in 247 messages
=item B<generator>
-¤³¤ì¤Ï¡¢Diffie-Hellman¥¡¼¸ò´¹¤Î"generator"¤Ç¡¢16¿Ê¿ô¤Îʸ»úÎó¤Ç»ØÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï"2"¤Ç¤¢¤ë¡£
-¤Ê¤ó¤Î¤³¤È¤«¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢
-²¼¼ê¤Ë¤¤¤¸¤é¤Ê¤¤Êý¤¬¤¤¤¤¤À¤í¤¦¡£
+これは、Diffie-Hellmanキー交換の"generator"で、16進数の文字列で指定する。
+デフォルトは"2"である。
+なんのことかわからなければ、
+下手にいじらない方がいいだろう。
=item B<keygencommand>
-¤³¤Î¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ë¤È¡¢
-¤³¤ÎÃÍ(¥³¥Þ¥ó¥Éʸ»úÎó)¤¬ÈëÌ©¸°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-¤½¤Î¥³¥Þ¥ó¥É¤Ïɸ½à½ÐÎϤË1¹Ô¤Î16¿Ê¿ô¤ò½ÐÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¤³¤Î¹Ô¤Ï¾¯¤¯¤È¤â10·å¤Î16¿Ê¿ô¤Ç¤¢¤ë¤³¤È¡£
+このキーワードが指定されると、
+この値(コマンド文字列)が秘密鍵を生成するために使用される。
+そのコマンドは標準出力に1行の16進数を出力しなくてはならない。
+この行は少くとも10桁の16進数であること。
=item B<keygenlevel>
-¤³¤ì¤Ï0¤È2¤Î´Ö¤ÎÀ°¿ô¤Ç¡¢B<Zebedee>¤Ç»ÈÍѤ¹¤ëÈëÌ©¸°À¸À®¤Î¶¯ÅÙ¤ò·èÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï2(ºÇ¶¯)¤Ç¤¢¤ë¡£Àܳ»þ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ÂѤ¨¤¬¤¿¤¤¾ì¹ç°Ê³°¤Ë¤Ï¡¢
-°ìÈÌŪ¤Ë¤Ï¤³¤ì¤òÊѹ¹¤·¤Ê¤¤¤Û¤¦¤¬¤è¤¤¡£
+これは0と2の間の整数で、B<Zebedee>で使用する秘密鍵生成の強度を決定する。
+デフォルトは2(最強)である。接続時のパフォーマンスが耐えがたい場合以外には、
+一般的にはこれを変更しないほうがよい。
-´Êñ¤Ë¸À¤Ã¤Æ¡¢UNXI·Ï¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥ì¥Ù¥ë2¤Î¥¡¼À¸À®¤Î¥á¥«¥Ë¥º¥à¤Ï¡¢
-²Äǽ¤Ç¤¢¤ì¤Ð C</dev/random> ¤ò»ÈÍѤ¹¤ë¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢¤¢¤Þ¤ê¤Ë¤â¿¤¯¤ÎÍ×µá¤òϢ³Ū¤Ë¤³¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¹Ô¤¦¤È¡¢
-¥«¡¼¥Í¥ë¤¬É¬ÍפÊ"¥¨¥ó¥È¥í¥Ô¡¼"¤ò¤«¤½¸¤á¤ë´Ö¡¢
-¥×¥í¥»¥¹¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë(¤½¤ì¤¬¿ôÉäˤʤ뤳¤È¤â¤¢¤ë)¡£
-C</dev/random>¤¬»ÈÍѤǤ¤Ê¤¤¾ì¹ç¤ä
-¥ì¥Ù¥ë¤¬1¤Ë¥»¥Ã¥È¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-C</proc>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¸½ºß¤ÎÆâÍƤ¬(¤â¤·¤¢¤ì¤Ð)»ÈÍѤµ¤ì¤ë¡£
-¥ì¥Ù¥ë0¤Ç¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Ë¤¢¤ë¾ðÊó¤À¤±¤¬»ÈÍѤµ¤ì¤ë¡£
+簡単に言って、UNXI系のシステムではレベル2のキー生成のメカニズムは、
+可能であれば C</dev/random> を使用する。
+しかしながら、あまりにも多くの要求を連続的にこのデバイスに対して行うと、
+カーネルが必要な"エントロピー"をかき集める間、
+プロセスがブロックされる可能性がある(それが数秒になることもある)。
+C</dev/random>が使用できない場合や
+レベルが1にセットされた場合は、
+C</proc>ファイルシステムの現在の内容が(もしあれば)使用される。
+レベル0では現在のプロセスにある情報だけが使用される。
-Windows¾å¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¸½ºß¤Î¤È¤³¤í¡¢
-¥¡¼À¸À®¶¯Å٤Υì¥Ù¥ë¤´¤È¤Î°ã¤¤¤Ï¤Ê¤¯¡¢
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ï¼ÂºÝ¤Ë¤Ï̵»ë¤µ¤ì¤ë¡£
+Windows上のシステムでは、現在のところ、
+キー生成強度のレベルごとの違いはなく、
+このキーワードは実際には無視される。
-=item B<keylength> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-k>)
+=item B<keylength> (コマンドラインでは B<-k>)
-¤³¤ì¤Ï¡¢Blowfish°Å¹æ²½¤Î¥¡¼¤Î¥Ó¥Ã¥ÈĹ¤ÎºÇÂçÃͤÎÀ°¿ô¤Ç¤¢¤ë¡£
-¤³¤ÎÃͤÏ4¤«¤é576¤Î´Ö¤Î4¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-»ÈÍѤµ¤ì¤ë¥¡¼Ä¹¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ÎÃͤȥµ¡¼¥Ð¤ÎÃͤκǾ®Ãͤˤʤ롣
-(B<L<minkeylength|/item_minkeylength>>»²¾È)
+これは、Blowfish暗号化のキーのビット長の最大値の整数である。
+この値は4から576の間の4の倍数でなければならない。
+使用されるキー長はクライアントの値とサーバの値の最小値になる。
+(B<L<minkeylength|/item_minkeylength>>参照)
-¥Ç¥Õ¥©¥ë¥È¤Ï128¤Ç¤¢¤ë¡£
-ÆÃÊ̤ʥ±¡¼¥¹¤È¤·¤Æ¡¢¤³¤ÎÃͤ¬0¤ËÀßÄꤵ¤ì¤ë¤È¡¢
-¥¡¼¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤È°Å¹æ²½¤Ï̵¸ú¤Ë¤µ¤ì¤ë¡£
+デフォルトは128である。
+特別なケースとして、この値が0に設定されると、
+キーのネゴシエーションと暗号化は無効にされる。
=item B<keylifetime>
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤ¬0°Ê³°¤ËÀßÄꤵ¤ì¤ë¤È¡¢¤³¤ì°Ê¹ß¤ÎÀܳ¤Ë¤ª¤¤¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¥»¥Ã¥·¥ç¥ó¥¡¼¤ÎƳ½Ð¤Î¤¿¤á¤Ë¡¢°ÊÁ°ÀßÄꤵ¤ì¤¿shared secret key¤ò
-ºÆÍøÍѤ¹¤ë¤è¤¦¤ËÍ׵᤹¤ë¡£
-¤Ä¤Þ¤êB<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-ºÇ½é¤ÎÀܳ¤Ë¤ª¤¤¤Æ¤Î¤ß¥¡¼¸ò´¹¤ÎÂÐÏäòÁ´¤Æ¹Ô¤Ê¤¦¡£
-¤½¤ì°Ê¹ß¤ÎÀܳ¤Ç¤Ï¡¢¥¡¼¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤ë¤Þ¤Ç¤Ï¡¢Æ±¤¸secret key¤¬ºÆÍøÍѤµ¤ì¡¢
-¤³¤Î¥¡¼¤«¤ésession key¤¬Æ³½Ð¤µ¤ì¤ë¡£
-¥¡¼¤Î͸ú´ü¸Â¤¬ÀÚ¤ì¤ë¤È¡¢¼«Æ°Åª¤Ë¿·¤·¤¤¥¡¼¤Î¸ò´¹¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
+このパラメータの値が0以外に設定されると、これ以降の接続において、
+クライアントはセッションキーの導出のために、以前設定されたshared secret keyを
+再利用するように要求する。
+つまりB<Zebedee>のクライアントとサーバは、
+最初の接続においてのみキー交換の対話を全て行なう。
+それ以降の接続では、キーの有効期限が切れるまでは、同じsecret keyが再利用され、
+このキーからsession keyが導出される。
+キーの有効期限が切れると、自動的に新しいキーの交換が行なわれる。
-¤½¤·¤Æ¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤¬¡¢shared secret key¤¬Í¸ú¤Ê´ü´Ö¤ò»ØÄꤹ¤ë¡£
-¤³¤ì¤Ï¡¢´û¤ËÀܳ¤µ¤ì¤¿Àܳ¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¤Ç¡¢¿·¤·¤¤Àܳ¤À¤±¤Ë±Æ¶Á¤¹¤ë¡£
+そして、このキーワードが、shared secret keyが有効な期間を指定する。
+これは、既に接続された接続には影響しないで、新しい接続だけに影響する。
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤÎñ°Ì¤ÏÉäǤ¢¤ê¡¢65535(Ìó18»þ´Ö)°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï3600ÉÃ(1»þ´Ö)¤Ç¤¢¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤò0¤ËÀßÄꤹ¤ë¤È¡¢¥¡¼¤ÎºÆÍøÍѤϹԤʤï¤ì¤Ê¤¯¤Ê¤ê¡¢
-Àܳ¤ÎÅ٤ˡ¢´°Á´¤Êshared key¤Î¸ò´¹¼ê³¤¤¬¹Ô¤Ê¤ï¤ì¤ë¡£
-¤Ä¤Þ¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤â¥µ¡¼¥Ð¤âËè²óÈëÌ©¸°¤ò¿·¤·¤¯À¸À®¤¹¤ë¤È¤ß¤Ê¤¹¡£
-¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë¿Âç¤Ê±Æ¶Á¤¬¤¢¤ë¤Î¤Ç¡¢
-Êм¹¶¸Åª¤Ë¹âÅ٤ʰÂÁ´À¤òɬÍפȤ¹¤ë¾ì¹ç°Ê³°¤Ë¤Ï´«¤á¤é¤ì¤Ê¤¤¡£
+このキーワードの値の単位は秒であり、65535(約18時間)以下でなければならない。
+デフォルトは3600秒(1時間)である。
+このキーワードの値を0に設定すると、キーの再利用は行なわれなくなり、
+接続の度に、完全なshared keyの交換手続きが行なわれる。
+つまり、クライアントもサーバも毎回秘密鍵を新しく生成するとみなす。
+ただし、この方法はパフォーマンスに多大な影響があるので、
+偏執狂的に高度な安全性を必要とする場合以外には勧められない。
=item B<minkeylength>
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤ÇµöÍƤµ¤ì¤ëºÇ¾®¤Î¥¡¼Ä¹¤ò»ØÄꤹ¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Î¥ì¥Ù¥ë¤è¤ê¾®¤µ¤¤ÃͤòÍ׵᤹¤ë¤È¡¢
-¥µ¡¼¥Ð¤Ï¤³¤³¤Ç»ØÄꤷ¤¿ºÇ¾®ÃͤòÊÖÅú¤¹¤ë¡£
-¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤ÎºÇ¾®Ãͤè¤ê²¼¤Î¥ì¥Ù¥ë¤òÊÖÅú¤¹¤ë¤È¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ÏÀܳ¤ò½ªÎ»¤¹¤ë¡£
+これは、クライアントまたはサーバで許容される最小のキー長を指定する。
+クライアントがサーバのレベルより小さい値を要求すると、
+サーバはここで指定した最小値を返答する。
+サーバがクライアントの最小値より下のレベルを返答すると、
+クライアントは接続を終了する。
-¥Ç¥Õ¥©¥ë¥È¤Ï0¤Ç¤¢¤ë¡£
+デフォルトは0である。
=item B<modulus>
-¤³¤Î¥¡¼¥ï¡¼¥É¤ÎÃͤϡ¢Diffie-Hellman¥¡¼¸ò´¹¤Î¾ê;Ãͤòɽ¤¹16¿Ê¿ô¤Îʸ»úÎó¤Ç¤¢¤ë¡£
-¤³¤ì¤¬²¿¤«¤ï¤«¤ë¿Í¤Ç¿ô³Ø¥ª¥¿¥¯¤Î¿Í°Ê³°¤Ï¤¤¤¸¤Ã¤Á¤ã¤À¤á¡£
+このキーワードの値は、Diffie-Hellmanキー交換の剰余値を表す16進数の文字列である。
+これが何かわかる人で数学オタクの人以外はいじっちゃだめ。
-¥Ç¥Õ¥©¥ë¥È¤ÎÃͤϲ¼µ¤Î1024¥Ó¥Ã¥È¤ÎÁÇ¿ô¤Ç¤¢¤ë¡£
+デフォルトの値は下記の1024ビットの素数である。
f488fd584e49dbcd 20b49de49107366b 336c380d451d0f7c 88b31c7c5b2d8ef6
f3c923c043f0a55b 188d8ebb558cb85d 38d334fd7c175743 a31d186cde33212c
d00a509b0246d308 3d66a45d419f9c7c bd894b221926baab a25ec355e92f78c7
-¤³¤ì¤Ï Peter Gutman ¤Î B<CryptLib> ¤ÎÃæ¤Î F<testdh.h> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤«¤é
-¤È¤é¤ì¤¿¡£
-¤½¤³¤Ë¤Ï¡¢¤³¤ÎÃͤ¬ "generated by Colin Plumb for SKIP"¤À¤È¥³¥á¥ó¥È¤¬¤¢¤ë¡£
-¤½¤ì¤«¤é "these values were chosen as representative
+これは Peter Gutman の B<CryptLib> の中の F<testdh.h> というファイルから
+とられた。
+そこには、この値が "generated by Colin Plumb for SKIP"だとコメントがある。
+それから "these values were chosen as representative
well-known public values to allay fears of possible trapdoors in
self-generated values. The generation method and actual values can be
-checked against the SKIP standards document." ¤À¤È¤µ¡£
+checked against the SKIP standards document." だとさ。
=item B<privatekey>
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥»¥Ã¥·¥ç¥ó¤´¤È¤Ë¿·¤·¤¤ÈëÌ©¸°¤òÀ¸À®¤¹¤ë¡£
-¤·¤«¤·¡¢¤â¤·¤¢¤Ê¤¿¤¬Ëè²óƱ¤¸¥¡¼¤ò»È¤¤¤¿¤¤¾ì¹ç¤Ï¡¢
-16¿Ê¿ô¤Îʸ»úÎó¤È¤·¤Æ¤³¤ì¤ò»ØÄꤹ¤ì¤Ð¤¤¤¤¡£
-¤â¤·¸ø³«¸°°Å¹æ¤Ë¤è¤ëǧ¾Ú(L<identitychecking|Identity Checking>)¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢
-ɬ¤º¤³¤ì¤òÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¥¡¼¤¬¾¯¤¯¤È¤â10·å¤ÏɬÍפʤ³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+デフォルトでは、B<Zebedee>はセッションごとに新しい秘密鍵を生成する。
+しかし、もしあなたが毎回同じキーを使いたい場合は、
+16進数の文字列としてこれを指定すればいい。
+もし公開鍵暗号による認証(L<identitychecking|Identity Checking>)を使用したい場合は、
+必ずこれを設定しなくてはいけない。
+キーが少くとも10桁は必要なことに注意すること。
=back
-=head3 ÍÍ¡¹¤Ê¥¡¼¥ï¡¼¥É(Miscellaneous Keywords)
+=head3 様々なキーワード(Miscellaneous Keywords)
-°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤â¥µ¡¼¥Ð¤Ë¤âÅù¤·¤¯Å¬ÍѤµ¤ì¤ë¡£
+以下のキーワードはクライアントにもサーバにも等しく適用される。
=over 4
=item B<checkidfile>
-¤³¤ì¤Ï¡¢Àܳ¤òµö²Ä¤¹¤ëÁ°¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤òÊ£¿ôµ½Ò¤·¤¿¥Õ¥¡¥¤¥ë¤Î̾¾Î¤Ç¤¢¤ë¡£
-¤³¤ì¤Ë¤Ä¤¤¤Æ¤ÏL<identity checking|Identity Checking>¤Ç¾Ü¤·¤¯½Ò¤Ù¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¤Ò¤È¤Ä¤·¤«»ØÄê¤Ç¤¤Ê¤¤¡£¤â¤·Ê£¿ô½Ð¸½¤·¤¿¤é¡¢
-ºÇ¸å¤ÎÃͤ¬»ÈÍѤµ¤ì¤ë¡£
+これは、接続を許可する前にチェックするアイデンティティを複数記述したファイルの名称である。
+これについてはL<identity checking|Identity Checking>で詳しく述べる。
+このファイルはひとつしか指定できない。もし複数出現したら、
+最後の値が使用される。
-¤â¤·¡¢B<L<keylength|/item_keylength>>¤¬0¤Ç¤¢¤ë¤³¤È¤Ë
-(¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤¬)Ʊ°Õ¤·¤¿¾ì¹ç¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£
+もし、B<L<keylength|/item_keylength>>が0であることに
+(クライアントとサーバが)同意した場合は、アイデンティティのチェックは行なわれない。
-=item B<debug> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-D>)
+=item B<debug> (コマンドラインでは B<-D>)
-¤³¤ì¤ÏB<Zebedee>¤¬ "debug" ¥â¡¼¥É¤ÇÆ°ºî¤¹¤ë¤«¤ò»ØÄꤹ¤ë¿¿µ¶ÃͤǤ¢¤ë¡£
-"debug" ¥â¡¼¥É¤Ç¤Ï¥µ¡¼¥Ð¤Ï
-(B<L<multiuse|/item_multiuse>>¥â¡¼¥É¤Î¥¯¥é¥¤¥¢¥ó¥È)¤Ï
-°ìÅ٤˰ì¤Ä¤ÎÀܳ¤·¤«¼õ¤±ÉÕ¤±¤Ê¤¤¡£
-¤½¤·¤Æ¡¢ÊÌ¥×¥í¥»¥¹¤äÊÌ¥¹¥ì¥Ã¥É¤òÀ¸À®¤¹¤ë¤³¤È¤Ê¤¯ "inline" ¤ÇÆ°ºî¤¹¤ë¡£
-¤³¤ì¤Ï¥Ç¥Ð¥Ã¥¬¾å¤Ç¥×¥í¥°¥é¥à¤òÆ°¤«¤¹»þ¤ËÊØÍø¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ïfalse¤Ç¤¢¤ë¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-D> ¤Ï
-¤³¤ì¤ò B<true> ¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これはB<Zebedee>が "debug" モードで動作するかを指定する真偽値である。
+"debug" モードではサーバは
+(B<L<multiuse|/item_multiuse>>モードのクライアント)は
+一度に一つの接続しか受け付けない。
+そして、別プロセスや別スレッドを生成することなく "inline" で動作する。
+これはデバッガ上でプログラムを動かす時に便利である。
+デフォルトはfalseである。コマンドラインオプションの B<-D> は
+これを B<true> に設定するのと同じである。
-Ãí¡§¤³¤ÎÀßÄê¤Ï¡¢UDP¥â¡¼¥É¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤Î¤Ç¡¢»î¤µ¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¡£
+注:この設定は、UDPモードでは正しく動作しないので、試さないほうがいい。
-=item B<detached> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-d>)
+=item B<detached> (コマンドラインでは B<-d>)
-¤³¤ì¤Ï¥×¥í¥»¥¹¤¬À©¸æüËö¤«¤é¼«Ê¬¼«¿È¤òÀÚÎ¥¤·¤Æ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥È¤Ç
-(UNIXÍѸì¤Ç¤Ï¥Ç¡¼¥â¥ó¤È¤·¤Æ)Æ°ºî¤¹¤ë¤«¤É¤¦¤«»ØÄꤹ¤ë¿¿µ¶ÃͤǤ¢¤ë¡£
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ç¤â¥µ¡¼¥Ð¤Ç¤â͸ú¤Ç¤¢¤ê¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ï B<true> ¤Ç¤¢¤ë¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-d>¤Ï
-¤³¤ì¤ò B<false> ¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これはプロセスが制御端末から自分自身を切離してバックグラウントで
+(UNIX用語ではデーモンとして)動作するかどうか指定する真偽値である。
+これはクライアントでもサーバでも有効であり、
+デフォルトは B<true> である。コマンドラインオプションのB<-d>は
+これを B<false> に設定するのと同じである。
-Ãí¡§Windows¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤Ç¤Ï¤³¤ì¤¬¤¦¤Þ¤¯Æ°ºî¤·¤Ê¤¤¤³¤È¤â¤¢¤ë¤è¤¦¤À¡£
-¤½¤Îħ¸õ¤Ï¡¢¥³¥ó¥½¡¼¥ë¥¦¥¤¥ó¥É¥¦¤Ø¤Î½ÐÎϤ¬»ß¤Þ¤ê³ä¹þ¤ß¤Îsignal¤¬Ìµ»ë¤µ¤ì¤ë¤¬¡¢
-¥³¥ó¥½¡¼¥ë¤Î¥×¥í¥ó¥×¥È¤¬B<Zebedee>¤¬½ªÎ»¤¹¤ë¤Þ¤Çɽ¼¨¤µ¤ì¤Ê¤¤¤³¤È¤À¡£
-¤³¤ì¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë "start" ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¤è¤¤¡£
+注:Windowsのコマンドプロンプトではこれがうまく動作しないこともあるようだ。
+その徴候は、コンソールウインドウへの出力が止まり割込みのsignalが無視されるが、
+コンソールのプロンプトがB<Zebedee>が終了するまで表示されないことだ。
+これを回避するには、以下のように "start" コマンドを使用すればよい。
DOS> start zebedee -f server.zbd
-¤³¤ì¤ÏB<Zebedee>¤ò¿·¤·¤¤¥³¥ó¥½¡¼¥ë¥»¥Ã¥·¥ç¥ó¤Çµ¯Æ°¤·¡¢¤½¤³¤«¤éÀÚ¤êÎ¥¤¹¡£
-ÀÚ¤êÎ¥¤¹Á°¤Ë°ì½Ö¤À¤±¥Á¥é¥ê¤È¤½¤Î¥³¥ó¥½¡¼¥ë¤¬¸«¤¨¤ë¤¬¡¢¤½¤ì¤¬¾Ã¤¨¤Æ¤â
-B<Zebedee>¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤·¤Æ¤¤¤ë¡£
+これはB<Zebedee>を新しいコンソールセッションで起動し、そこから切り離す。
+切り離す前に一瞬だけチラリとそのコンソールが見えるが、それが消えても
+B<Zebedee>はバックグラウンドで動作している。
=item B<include>
-¤³¤ì¤ÏÊ̤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
-¤½¤Î¥Õ¥¡¥¤¥ë¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤ò½èÍý¤¹¤ëÁ°¡¢
-¤³¤Î»þÅÀ¤Ç½èÍý¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢ÈëÌ©¸°¤ò¤â¤Ã¤È¤¤Ã¤Á¤ê¥¬¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤ËʬΥ¤·¤ÆÊݸ¤·¤¿¾ì¹ç¤Ë¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-include¤Ï5¥ì¥Ù¥ë¤Î¿¼¤µ¤Þ¤Ç¤Ë¸ÂÄꤵ¤ì¤ë(ºÇ½é¤Î¥Õ¥¡¥¤¥ë¤ò¥ì¥Ù¥ë1¤È¤·¤Æ)¡£
-¤³¤ì¤Ï¤¦¤Ã¤«¤ê̵¸Â¥ë¡¼¥×¤òºî¤é¤Ê¤¤¤¿¤á¤Ç¤¢¤ë¡£
+これは別の設定ファイルの名前を指定する。
+そのファイルはこのファイルの残りを処理する前、
+この時点で処理される。
+例えば、秘密鍵をもっときっちりガードしたファイルに分離して保存した場合に、
+そのファイルを取り込むために使用される。
+includeは5レベルの深さまでに限定される(最初のファイルをレベル1として)。
+これはうっかり無限ループを作らないためである。
=item B<maxbufsize>
-¤³¤ì¤Ï¡¢
-B<Zebedee> ¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥Ç¡¼¥¿¤òÆɤि¤á¤Ë»ÈÍѤ¹¤ë¥Ð¥Ã¥Õ¥¡¤ÎŤµ(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤹ¤ë¡£
-¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤Ï¥µ¡¼¥Ð¤ÎÃͤȥ¯¥é¥¤¥¢¥ó¥È¤ÎÃͤκǾ®Ãͤˤʤ롣
+これは、
+B<Zebedee> がアプリケーションからデータを読むために使用するバッファの長さ(バイト単位)を指定する。
+実際に使用されるバッファの長さはサーバの値とクライアントの値の最小値になる。
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢B<Zebedee>¤Ï¥È¥ó¥Í¥ë¤Îξü¤Ç
-¥µ¡¼¥Ð¥×¥í¥°¥é¥à¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤«¤é8192¥Ð¥¤¥Èñ°Ì¤ÇÆɤ߽Ф¹¡£
-Î㤨¤Ð¡¢¤¹¤´¤¯ÂÐÏÃŪ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤¢¤Ã¤Æ¡¢
-Â礤ʥǡ¼¥¿Å¾Á÷¤òÂԤĤ¿¤á¤Ë¤Ò¤É¤¤¥ì¥¹¥Ý¥ó¥¹¤À¤Ã¤¿¤ê¤·¤¿»þ¤Ê¤É¡¢
-¤³¤ì¤ò¾®¤µ¤¯¤·¤¿¤¤¤³¤È¤â¤¢¤ë¤À¤í¤¦¡£
-¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤Ï1¥Ð¥¤¥È¤Þ¤Ç½Ì¤á¤ë¤³¤È¤¬¤Ç¤¤ë¤¬¡¢
-¤ª¤«¤·¤ÊÆ°¤¤ò¥Ç¥Ð¥Ã¥°¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤«»þ´Ö¤ò̵Â̤ˤ·¤¿¤¤¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢
-¤³¤ì¤Ï¤ª´«¤á¤Ç¤¤Ê¤¤¡£
-µÕ¤Ë¡¢ÂçÎ̤Υǡ¼¥¿¤ÎžÁ÷¤¬¤¢¤Ã¤Æ¡¢
-°µ½Ì¤ò¤á¤¤¤Ã¤Ñ¤¤¸ú¤«¤»¤¿¤¤¾ì¹ç¤Ï¡¢16383¥Ð¥¤¥È¤Þ¤ÇÂ礤¯¤·¤Æ¤â¤è¤¤¡£
-Ãí¡§B<maxbufsize> ¤Ï B<Zebedee> ¤¬»ÈÍѤ¹¤ë¥á¥â¥êÎ̤ˤϴط¸¤Ê¤¤¡£
-°ìÅÙ¤ËÆɤߤ³¤à¥Ç¡¼¥¿¤Î¤«¤¿¤Þ¤ê¤Î¥µ¥¤¥º¤À¤±¤Ë±Æ¶Á¤¹¤ë¡£
+デフォルトでは、B<Zebedee>はトンネルの両端で
+サーバプログラム、クライアントプログラムから8192バイト単位で読み出す。
+例えば、すごく対話的なアプリケーションがあって、
+大きなデータ転送を待つためにひどいレスポンスだったりした時など、
+これを小さくしたいこともあるだろう。
+バッファサイズは1バイトまで縮めることができるが、
+おかしな動きをデバッグしようとしているのか時間を無駄にしたいのでなければ、
+これはお勧めできない。
+逆に、大量のデータの転送があって、
+圧縮をめいっぱい効かせたい場合は、16383バイトまで大きくしてもよい。
+注:B<maxbufsize> は B<Zebedee> が使用するメモリ量には関係ない。
+一度に読みこむデータのかたまりのサイズだけに影響する。
-UDP¥â¡¼¥É¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤Ï°·¤¨¤ë¥Ç¡¼¥¿¥°¥é¥à¤ÎºÇÂçŤˤâ±Æ¶Á¤¹¤ë¡£
-¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤è¤êÂ礤ʥǡ¼¥¿¥°¥é¥à¤ÏʬÃǤµ¤ì¡¢
-¤½¤ì¤ò¼õ¿®¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Íî¤Á¤ë¤³¤È¤Ë¤Ê¤ê¤¬¤Á¤À¡£
-16383¥Ð¥¤¥È°Ê¾å¤Î¥Ç¡¼¥¿¥°¥é¥à¤Ï°·¤¦¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
+UDPモードでは、バッファサイズは扱えるデータグラムの最大長にも影響する。
+現在のバッファサイズより大きなデータグラムは分断され、
+それを受信するアプリケーションが落ちることになりがちだ。
+16383バイト以上のデータグラムは扱うことができない。
=item B<message>
-verbosity level ¤¬1¤Ê¤é¤Ð¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î¤³¤ÎÉôʬ¤ò½èÍý¤·¤¿»þ¤Ë¡¢
-¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬¥í¥°¤ËµÏ¿¤µ¤ì¤ë¡£
+verbosity level が1ならば、設定ファイルのこの部分を処理した時に、
+このメッセージがログに記録される。
-=item B<name> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-n>)
+=item B<name> (コマンドラインでは B<-n>)
-¤³¤ì¤Ï¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ÎÂå¤ï¤ê¤Ë¡¢
-¥á¥Ã¥»¡¼¥¸¤ÎÃæ¤Ç»È¤ï¤ì¤ë¥×¥í¥°¥é¥à̾¾Î¤Ë¤Ê¤ë¡£
-Windows´Ä¶¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¢¤ë¤¤¤Ïºï½ü¤µ¤ì¤ë¥µ¡¼¥Ó¥¹¤Î̾Á°¤È¤·¤Æ¤âÍѤ¤¤é¤ì¤ë¡£
+これは、実行ファイルのファイル名の代わりに、
+メッセージの中で使われるプログラム名称になる。
+Windows環境では、インストールあるいは削除されるサービスの名前としても用いられる。
=item B<logfile> (command-line B<-o>)
-¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ë¡£
-¤â¤·¾Êά¤µ¤ì¤ë¤È¥á¥Ã¥»¡¼¥¸¤Ïɸ½à¥¨¥é¡¼¤Ë½ÐÎϤµ¤ì¤ë¡£
+これはメッセージが出力されるファイルの名前である。
+もし省略されるとメッセージは標準エラーに出力される。
-2¤Ä¤ÎÆüì¤Ê¥Õ¥¡¥¤¥ë̾¤âÀµ¤·¤¤Ì¾Á°¤È¤·¤Æǧ¼±¤µ¤ì¤ë¡£
-¤â¤·¡¢Ì¾¾Î¤¬B<NULL>¤À¤È¡¢Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸½ÐÎϤϻߤá¤é¤ì¤ë¡£
-B<SYSLOG>¤À¤È¡¢¥á¥Ã¥»¡¼¥¸¤Ï¥Û¥¹¥È¤Î¥·¥¹¥Æ¥à¥í¥°¤Ë½ÐÎϤµ¤ì¤ë¡£
-Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È¥í¥°¤ò°ÕÌ£¤¹¤ë¡£
-¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ÏB<syslog> ¥µ¡¼¥Ó¥¹¤Ë½ÐÎϤµ¤ì¤ë¡£
+2つの特殊なファイル名も正しい名前として認識される。
+もし、名称がB<NULL>だと、全てのメッセージ出力は止められる。
+B<SYSLOG>だと、メッセージはホストのシステムログに出力される。
+Windowsシステムでは、アプリケーションイベントログを意味する。
+他のシステムでは、メッセージはB<syslog> サービスに出力される。
=item B<serverport>
-¤³¤ì¤Ï¡¢B<Zebedee> ¥µ¡¼¥Ð¤¬Àܳ¤òÂÔ¤Á¼õ¤±¤ë¥Ý¡¼¥È¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤ÏTCP¥â¡¼¥É¤Ç¤Ï11965 (0x2EBD)¡¢UDP¥â¡¼¥É¤Ç¤Ï11230(0x2BDE)¤Ç¤¢¤ë¡£
-¥µ¡¼¥Ð¤Ç¤³¤ì¤ò»ØÄꤹ¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¤³¤Î¥Ý¡¼¥È¤Çlisten¤¹¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ç¤³¤ì¤ò»ØÄꤹ¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¥µ¡¼¥Ð¤Î¤³¤ÎÈÖ¹æ¤Î¥Ý¡¼¥È¤ËÀܳ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
+これは、B<Zebedee> サーバが接続を待ち受けるポートである。
+デフォルトはTCPモードでは11965 (0x2EBD)、UDPモードでは11230(0x2BDE)である。
+サーバでこれを指定すると、サーバはこのポートでlistenする。
+クライアントでこれを指定すると、クライアントは
+サーバのこの番号のポートに接続することになる。
-=item B<timestamplog> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-t>)
+=item B<timestamplog> (コマンドラインでは B<-t>)
-¤³¤ì¤Ï¡¢¥í¥°¥á¥Ã¥»¡¼¥¸¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤á¤ë¤«¤É¤¦¤«¤ò¼¨¤¹¿¿µ¶ÃͤǤ¢¤ë¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î B<-t> ¤Ï¤³¤ì¤òB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+これは、ログメッセージにタイムスタンプを含めるかどうかを示す真偽値である。
+コマンドラインオプションの B<-t> はこれをB<true>に設定するのと同じである。
-=item B<udpmode> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-u>)
+=item B<udpmode> (コマンドラインでは B<-u>)
-¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏB<Zebedee>¤Ï¡¢¥³¥Í¥¯¥·¥ç¥ó¥Ù¡¼¥¹¤ÎTCP/IP¤ÎÄÌ¿®¤ò°·¤¦¡£
-¤â¤·¡¢¤³¤Î¥¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ë¤È¡¢¤«¤ï¤ê¤Ë¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤ÎUDP/IP¤ÎÄÌ¿®¤ò°·¤¦¡£
+デフォルトではB<Zebedee>は、コネクションベースのTCP/IPの通信を扱う。
+もし、このキーワードが指定されると、かわりにコネクションレスのUDP/IPの通信を扱う。
-¤³¤Î¾ì¹ç¤Ç¤â¡¢B<Zebedee>¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð´Ö¤Î¥È¥ó¥Í¥ë¤ÏTCP/IPÀܳ¤ò»ÈÍѤ¹¤ë¡£
-UDP¤Î°¸À褴¤È¤ËÊÌ¡¹¤ÎÀܳ¤¬»ÈÍѤµ¤ì¤ë¡£
-UDP¤Ï¥³¥Í¥¯¥·¥ç¥ó¥ì¥¹¤Ê¤Î¤Ç¡¢ÄÌ¿®¤¬´°Î»¤·¤¿¤³¤È¤ò´Êñ¤ËÃΤ뤳¤È¤Ï¤Ç¤¤Ê¤¤¡£
-¤³¤ÎÍýͳ¤Ç¡¢B<Zebedee>¤ÎÀܳ¤Ï°ìÄê¤Î»þ´ÖÄÌ¿®¤¬Ìµ¤¤¾ì¹ç¤Ë¥¿¥¤¥à¥¢¥¦¥È¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î»þ´Ö¤ÏB<L<udptimeout|/item_udptimeout>>¤ÎÃͤÇÀ©¸æ¤µ¤ì¤ë¡£
+この場合でも、B<Zebedee>のクライアントとサーバ間のトンネルはTCP/IP接続を使用する。
+UDPの宛先ごとに別々の接続が使用される。
+UDPはコネクションレスなので、通信が完了したことを簡単に知ることはできない。
+この理由で、B<Zebedee>の接続は一定の時間通信が無い場合にタイムアウトする必要がある。
+この時間はB<L<udptimeout|/item_udptimeout>>の値で制御される。
-¤¹¤Ç¤Ë¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤·¤Þ¤Ã¤¿¥È¥ó¥Í¥ë¤Ë¸þ¤±¤¿¥Ç¡¼¥¿¤¬ÅþÃ夷¤¿¾ì¹ç¡¢
-Àܳ¤òºÆ³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î¤¿¤á¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆÃÀ¤Ë¤è¤Ã¤Æ¤Ï¡¢
-UDP¥â¡¼¥É¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¤è¤¯¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤³¤È¤â¤¢¤ë¡£
-B<L<keylifetime|/item_keylifetime>>¤ÎÃͤòÊѹ¹¤·¤Æ¡¢
-Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤Î»þ´Ö¤òºÇ¾®¤Ë¤¹¤ì¤Ð¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-B<L<udptimeout|/item_udptimeout>> ¤ÎÃͤòÊѹ¹¤¹¤ë¤³¤È¤âƱÍͤËÌò¤ËΩ¤Ä¡£
+すでにタイムアウトしてしまったトンネルに向けたデータが到着した場合、
+接続を再確立する必要がある。
+このために、アプリケーションの特性によっては、
+UDPモードのパフォーマンスがよくないように見えることもある。
+B<L<keylifetime|/item_keylifetime>>の値を変更して、
+接続のセットアップの時間を最小にすれば、パフォーマンスを向上させることができる。
+B<L<udptimeout|/item_udptimeout>> の値を変更することも同様に役に立つ。
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-u>¤Ï¡¢¤³¤ÎÃͤòB<true>¤ËÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+コマンドラインオプションのB<-u>は、この値をB<true>に設定するのと同じである。
=item B<udptimeout>
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢UDP¥â¡¼¥É¤Î¥È¥ó¥Í¥ë¤Ï¡¢300ÉÃÄÌ¿®¤¬Ìµ¤¤¤ÈÊĤ¸¤é¤ì¤ë¡£
-¤³¤Î¥¡¼¥ï¡¼¥É¤Ç¤½¤Î»þ´Ö¤òÊѹ¹¤Ç¤¤ë(ñ°Ì¤ÏÉÃ)¡£
-¤³¤ÎÃͤÏ65535¤è¤êÂ礤¯¤Ê¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤ì¤ò0¤Ë¤¹¤ë¤È°ìÀÚÄÌ¿®¤¬¹Ô¤Ê¤ï¤ì¤Ê¤¤(¤½¤¦¤¤¤¦ÀßÄê¤â¤Ç¤¤ë¤±¤É¡Ä)¡£
+デフォルトでは、UDPモードのトンネルは、300秒通信が無いと閉じられる。
+このキーワードでその時間を変更できる(単位は秒)。
+この値は65535より大きくなってはいけない。
+これを0にすると一切通信が行なわれない(そういう設定もできるけど…)。
-=item B<verbosity> (¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï B<-v>)
+=item B<verbosity> (コマンドラインでは B<-v>)
-¤³¤ì¤Ï¡¢¥í¥°¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Î¥ì¥Ù¥ë¤ò¼¨¤¹À°¿ôÃͤǤ¢¤ë¡£
-0¤À¤È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤À¤±¡¢
-5¤Ë¤¹¤ë¤È¥á¥Ã¥»¡¼¥¸¥È¥é¥Õ¥£¥Ã¥¯¤ÎÈó¾ï¤ËºÙ¤«¤¤¥Ç¥£¥Æ¡¼¥ë¤Þ¤Ç´Þ¤á¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï1¤Ç¤¢¤ê¡¢Ä̾ï¤Ï¤½¤ì¤¬ºÇ¤â»È¤¤¤ä¤¹¤¤¡£
+これは、ログするメッセージのレベルを示す整数値である。
+0だとエラーメッセージだけ、
+5にするとメッセージトラフィックの非常に細かいディテールまで含める。
+デフォルトは1であり、通常はそれが最も使いやすい。
-¥á¥Ã¥»¡¼¥¸¤Ï F<stderr> ¤Ë½ÐÎϤµ¤ì¤ë(¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÎB<-o>¤«
-B<L<logfile|/item_logfile>> ¥¡¼¥ï¡¼¥É¤Ç¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Ê¤¤¸Â¤ê)
-°ìÈÌŪ¤Ê¥á¥Ã¥»¡¼¥¸¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¢¤ë:
+メッセージは F<stderr> に出力される(コマンドラインオプションのB<-o>か
+B<L<logfile|/item_logfile>> キーワードでリダイレクトされない限り)
+一般的なメッセージはこんな感じである:
zebedee(54/119): Listening on local port 1172
-¥«¥Ã¥³¤ÎÃæ¤Î¿ô»ú¤Ï¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¥×¥í¥»¥¹¤È¥¹¥ì¥Ã¥É¤ÎID¤òɽ¤·¤Æ¤¤¤ë¡£
-Á´¤Æ¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¥ì¥Ù¥ë0¤Ç¤â¥í¥°¤¬¼è¤é¤ì¡¢
-°Ê²¼¤ÎÍͤˡ¢ÀèƬ¤¬ C<ERROR> ¤È¤¤¤¦Ã±¸ì¤«¤é»Ï¤Þ¤ë¡£
+カッコの中の数字はメッセージを出力したプロセスとスレッドのIDを表している。
+全てのエラーメッセージはレベル0でもログが取られ、
+以下の様に、先頭が C<ERROR> という単語から始まる。
zebedee(54/119): ERROR: failed to connect to localhost:11965
-¥á¥Ã¥»¡¼¥¸¤Ï¥í¥°¤¬¼è¤é¤ì¤¿¥ì¥Ù¥ë¤Ë½¾¤Ã¤Æ¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤ë¡£
+メッセージはログが取られたレベルに従ってインデントされる。
=back
-=head3 ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó(Other Options)
+=head3 その他のオプション(Other Options)
-ÀßÄê¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë¤â¤Î¤ò»ý¤¿¤Ê¤¤¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó
-¤¬¤¤¤¯¤Ä¤«¤¢¤ë¤Î¤Ç¡¢¤½¤ì¤Ë¤Ä¤¤¤Æ¤³¤³¤ÇÀâÌÀ¤¹¤ë¡£
+設定ファイルに対応するものを持たないコマンドオプション
+がいくつかあるので、それについてここで説明する。
=over 4
=item -p
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç B<Zebedee> ¤ÏÈëÌ©¸°¤ÎÃͤòɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë¡£
-¤³¤Î½ÐÎϤÏÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤½¤Î¤Þ¤Þ»ÈÍѤǤ¤ë·Á¼°¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢
+このオプションで B<Zebedee> は秘密鍵の値を標準出力に出力する。
+この出力は設定ファイルでそのまま使用できる形式である。
+例えば、
privatekey "c480bd48f707c69dec54c9e7b6e22dd04cac659e"
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=item -P
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç B<Zebedee> ¤ÏL<identity checking|Identity Checking> ¤Ç
-»ÈÍѤǤ¤ë¥Ñ¥Ö¥ê¥Ã¥¯¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤òÀ¸À®¤¹¤ë¡£·ë²Ì¤Ïɸ½à½ÐÎϤ˽ñ¤«¤ì¤ë¡£
-Î㤨¤Ð¡¢
+このオプションで B<Zebedee> はL<identity checking|Identity Checking> で
+使用できるパブリックアイデンティティを生成する。結果は標準出力に書かれる。
+例えば、
ef8153a0e392df005f67321ca2f0ace5bb8c5a1f myhostname
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈëÌ©¸°¤ò´Þ¤àÀßÄê¤È¶¦¤Ë»ØÄꤹ¤ë¤«¡¢
-B<-p> ¤È¶¦¤ËÍѤ¤¤ÆÈëÌ©¸°¤È¸ø³«¸°¤òξÊýƱ»þ¤ËÀ¸À®¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
+このオプションは秘密鍵を含む設定と共に指定するか、
+B<-p> と共に用いて秘密鍵と公開鍵を両方同時に生成しなくてはいけない。
=item -h
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°Ê¹ß¤Î°ú¿ô¤ò¥Õ¥¡¥¤¥ë̾¤È¤ß¤Ê¤¹¡£
-¤½¤·¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¤Ï8192¥Ð¥¤¥È¤Î¤«¤¿¤Þ¤ê¤È¤·¤ÆÆɤߤ³¤Þ¤ì¡¢
-SHA¥Ï¥Ã¥·¥å¤¬·×»»¤µ¤ì¤ë¡£
-°ú¿ô¤¬¤Ê¤¤¾ì¹ç¤ä°ú¿ô¤¬"C<->"¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ïɸ½àÆþÎϤΥϥ工夬·×»»¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢
+このオプションは以降の引数をファイル名とみなす。
+そして、それぞれのファイルは8192バイトのかたまりとして読みこまれ、
+SHAハッシュが計算される。
+引数がない場合や引数が"C<->"であった場合は標準入力のハッシュが計算される。
+例えば、
$ zebedee -h /etc/passwd
bb1e734aeffd2111417761f5938dea3b53759598 /etc/passwd
$ zebedee -h < /etc/passwd
bb1e734aeffd2111417761f5938dea3b53759598 -
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
=item -H
-¤³¤Á¤é¤ÏB<-h>¤È»÷¤Æ¤¤¤ë¤¬¡¢°ú¿ô¤¬Ê¸»úÎó¤È¤·¤Æ°·¤ï¤ì¡¢
-¤½¤Îʸ»úÎó¤ÎSHA¥Ï¥Ã¥·¥å¤¬·×»»¤µ¤ìɽ¼¨¤µ¤ì¤ë¡£
+こちらはB<-h>と似ているが、引数が文字列として扱われ、
+その文字列のSHAハッシュが計算され表示される。
$ zebedee -H hello world
ac62a630ca850b4ea07eda664eaecf9480843152 hello
=item -S (Windows only)
-Windows¥·¥¹¥Æ¥à¤Ç¤Ï B<Zebedee> ¤ò
-¥µ¡¼¥Ó¥¹(¥Ö¡¼¥È»þ¤Ë¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ìÆÈΩ¤·¤ÆÆ°¤¯¥×¥í¥»¥¹)¤È¤·¤Æ
-¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+Windowsシステムでは B<Zebedee> を
+サービス(ブート時に自動的に起動され独立して動くプロセス)として
+インストールすることもできる。
-B<Zebedee>¤ÏB<install>¥Ñ¥é¥á¡¼¥¿¤ÈÀßÄê¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤Ç
-¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¡£Î㤨¤Ð¡¢
+B<Zebedee>はB<install>パラメータと設定ファイルの名前を指定することで
+サービスとしてインストールされる。例えば、
zebedee -Sinstall=c:\zebedee\service.zbd
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
-¾ï¤Ë¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥¹¥¿¡¼¥È¥¢¥Ã¥×»þ¤ËÆɤߤ³¤Þ¤ì¡¢
-¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤¹¤ë¤¿¤á¤ËɬÍפʥѥé¥á¡¼¥¿¤òÁ´¤Æ´Þ¤ó¤Ç¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+常に、設定ファイルのフルパスを指定しなければならない。
+このファイルはスタートアップ時に読みこまれ、
+サービスが動作するために必要なパラメータを全て含んでいなければならない。
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥µ¡¼¥Ó¥¹¤Î̾Á°¤Ï¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ë¤Î̾Á°¤«¤é¼è¤é¤ì¤ë¡£
-½¾¤Ã¤ÆÄ̾ï¤ÏB<Zebedee>¤Ë¤Ê¤ë¡£
-¤·¤«¤·¡¢B<-n>¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+デフォルトでは、
+インストールされるサービスの名前はプログラムファイルの名前から取られる。
+従って通常はB<Zebedee>になる。
+しかし、B<-n>オプションを使用して変更することもできる。
zebedee -n "Zebedee Client Service" -Sinstall=c:\zebedee\clientsvc.zbd
-°ìö¡¢¥µ¡¼¥Ó¥¹¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤È¡¢¼¡¤Î¥·¥¹¥Æ¥àºÆµ¯Æ°¤«¤é¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ì¤ë¡£
-¤â¤·¤¯¤Ï(Windows NT¤Î¾ì¹ç)¥µ¡¼¥Ó¥¹¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ç¼êÆ°µ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
+一旦、サービスがインストールされると、次のシステム再起動から自動的に起動される。
+もしくは(Windows NTの場合)サービスコントロールパネルで手動起動することもできる。
-¥µ¡¼¥Ó¥¹¤òºï½ü¤¹¤ë¤Ë¤Ï¤Þ¤º¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤·¤Æ¤«¤é¡¢B<-S>¥ª¥×¥·¥ç¥ó¤È
-B<remove> ¥Ñ¥é¥á¡¼¥¿¤ò»È¤¦¡£
-¤½¤·¤Æ¡¢¤â¤·É¬Íפʤé¤ÐB<-n>¥ª¥×¥·¥ç¥ó¤Ç¥µ¡¼¥Ó¥¹¤Î̾¾Î¤ò»ØÄꤹ¤ë¡£
-Î㤨¤Ð¡¢
+サービスを削除するにはまずサービスを終了してから、B<-S>オプションと
+B<remove> パラメータを使う。
+そして、もし必要ならばB<-n>オプションでサービスの名称を指定する。
+例えば、
zebedee -n "Zebedee Client Service" -Sremove
-¤ÎÍͤʷÁ¤Ç¤¢¤ë¡£
+の様な形である。
-B<-S>¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¾¤Ë B<run> ¤¬¤¢¤ë¡£¤³¤ì¤ÏÆâÉô¤Ç B<Zebedee> ¤Î
-¥µ¡¼¥Ó¥¹¥¹¥¿¡¼¥È¥¢¥Ã¥×¥³¡¼¥É¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë»È¤¦¤â¤Î¤Ç¡¢
-¥æ¡¼¥¶¤¬Ä¾ÀÜ»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
+B<-S>のパラメータは他に B<run> がある。これは内部で B<Zebedee> の
+サービススタートアップコードを起動するために使うもので、
+ユーザが直接使用してはならない。
=item -x
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤¤Ê¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-»ØÄꤹ¤ë¤¿¤á¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤ì¤Ëʸ»úÎó¤Î°ú¿ô¤ò¤Ä¤±¤ë¤È¡¢
-¤½¤ì¤¬¤¢¤¿¤«¤âÀßÄê¥Õ¥¡¥¤¥ë¤Î1¹Ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¤ë¡£
-¥³¥á¥ó¥È¤Ïǧ¼±¤µ¤ì¤ë¤¬¡¢"\"¤Î·Ñ³¹Ô¤Ï»ÈÍѤǤ¤Ê¤¤¡£
-Î㤨¤Ð¡¢
+コマンドラインで指定できない設定ファイルのパラメータを
+指定するために、このオプションを使用することもできる。
+これに文字列の引数をつけると、
+それがあたかも設定ファイルの1行であるかのように処理される。
+コメントは認識されるが、"\"の継続行は使用できない。
+例えば、
zebedee -x " server true # It's a server!"
-¤È¤¤¤¦¤Þ¤ï¤ê¤¯¤É¤¤¤ä¤ê¤«¤¿¤Ç¤â¼¡¤Î¥³¥Þ¥ó¥É
+というまわりくどいやりかたでも次のコマンド
zebedee -s
-¤ÈƱ¤¸¸ú²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+と同じ効果を得ることができる。
=back
=head2 Identity Checking
-B<Zebedee> ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢2ÅÀ´Ö¤Ë°Å¹æ²½¥Á¥ã¥Í¥ë¤òÀ¸À®¤¹¤ë¤Ë²á¤®¤Ê¤¤¡£
-¤´¾µÃΤÎÄ̤ꡢ¥Ç¡¼¥¿¤Ï "on the wire (ÄÌ¿®Àþ¾å)" ¤Ç¤ÎÅðÄ°¤«¤é¤Ï¼é¤é¤ì¤ë¤¬¡¢
-¤¢¤Ê¤¿¤¬ÁÛÄꤷ¤Æ¤¤¤ëÁê¼ê¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤«Èݤ«¤ÏÊݾڤµ¤ì¤Ê¤¤¡£
-¤³¤ì¤Ï¡¢"man-in-the-middle (Âè»°¼Ô¤Ë¤è¤ë²£¼è¤ê)" ¥¢¥¿¥Ã¥¯¤ËÂФ·¤Æ¤Ï̵ËÉÈ÷¤Ç¤¢¤ë¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬¥Ç¡¼¥¿¤Î°µ½Ì¤È¡¢ÅðÄ°¤«¤é¼é¤ë¤³¤È¤òÂè°ì¤Ë¿´ÇÛ¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Ï¤³¤Î¾ò·ï¤ËËþ¤¹¤ë¤À¤í¤¦¡£
-¤·¤«¤·¡¢¤¢¤Ê¤¿¤ÎÄÌ¿®¤¬Âè»°¼Ô¤Ë²£¼è¤ê¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ËÂФ¹¤ëÊݾڤòµá¤á¤ë¤Ê¤é¡¢
-B<Zebedee> ¤Ï¤½¤ì¤ò¹Ô¤¦¤¿¤á¤ÎÊص¹¤òÄ󶡤¹¤ë¡£
+B<Zebedee> はデフォルトでは、2点間に暗号化チャネルを生成するに過ぎない。
+ご承知の通り、データは "on the wire (通信線上)" での盗聴からは守られるが、
+あなたが想定している相手に接続されているか否かは保証されない。
+これは、"man-in-the-middle (第三者による横取り)" アタックに対しては無防備である。
+もし、あなたがデータの圧縮と、盗聴から守ることを第一に心配しているなら、
+あなたはこの条件に満足するだろう。
+しかし、あなたの通信が第三者に横取りされていないことに対する保証を求めるなら、
+B<Zebedee> はそれを行うための便宜を提供する。
-¤â¤·¡¢Æ±°ì¤ÎÁÇ¿ô¤È¸¶»Ïº¬¤ÈÈëÌ©¸°¤¬ÍѤ¤¤é¤ì¤ë¤Ê¤é¡¢¤½¤ì¤é¤Ï
-Diffie-Hellman ¤Î¸°¸ò´¹¥×¥í¥È¥³¥ë¤Î¤¿¤á¤Ë¡¢¾ï¤ËƱ¤¸¸ø³«¸°¤òÀ¸À®¤¹¤ë¤À¤í¤¦¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬(ÀßÄê¥Õ¥¡¥¤¥ë¤ÎB<L<privatekey|/item_privatekey>>¥¡¼¥ï¡¼¥É¤Ë¤ÆÀßÄꤵ¤ì¤¿)
-¸ÇÄꤵ¤ì¤¿ÈëÌ©¸°¤òÍѤ¤¤ë¤Ê¤é¡¢
-B<Zebedee> ¤ÏÁÇ¿ô¤È¸¶»Ïº¬¤ÈÈëÌ©¸°¤ÎÃͤÎÁ´¤Æ¤ò¥Ï¥Ã¥·¥å¤·¤Æ "fingerprint (»ØÌæ)" ¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤³¤ì¤Ï¡¢B<-P> ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¹Ô¤ï¤ì¤ë¡£
-Î㤨¤Ð¡¢server.key ¥Õ¥¡¥¤¥ë¤¬¼¡¤ÎÃÍ
+もし、同一の素数と原始根と秘密鍵が用いられるなら、それらは
+Diffie-Hellman の鍵交換プロトコルのために、常に同じ公開鍵を生成するだろう。
+もし、あなたが(設定ファイルのB<L<privatekey|/item_privatekey>>キーワードにて設定された)
+固定された秘密鍵を用いるなら、
+B<Zebedee> は素数と原始根と秘密鍵の値の全てをハッシュして "fingerprint (指紋)" を生成することができる。
+これは、B<-P> オプションにより行われる。
+例えば、server.key ファイルが次の値
privatekey "1e34d6769502bae1087c18d2e8c8776e4a17ddaf"
-¤Ç¤¢¤ë¤È¤¡¢
+であるとき、
-¼¡¤Î¥³¥Þ¥ó¥É
+次のコマンド
$ zebedee -P -f server.key > server.id
-¤ò¼Â¹Ô¤¹¤ë¤È¡¢
+を実行すると、
-¤³¤Î¤è¤¦¤Ê½ÐÎÏ
+このような出力
135f04050961d37553731250d5c6f7495f088b32 myhostname
-¤¬ÆÀ¤é¤ì¤ë¡£
+が得られる。
-¤³¤ÎºÇ½é¤Î16¿Ê¿ô¤¬ "fingerprint (»ØÌæ)" ¤Ç¤¢¤ë¡£
-¹ÔÃæ¤Î¾¤Îʸ»úÎó¤Ï¡¢¤³¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Î½êͼԤòɽ¤¹¥³¥á¥ó¥È¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ì¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤¬À¸À®¤µ¤ì¤¿¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤Ç¤¢¤ë¡£
+この最初の16進数が "fingerprint (指紋)" である。
+行中の他の文字列は、このアイデンティティの所有者を表すコメントである。
+デフォルトでは、これはアイデンティティが生成されたマシンのホスト名である。
-ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ
-B<L<checkidfile|/item_checkidfile>> ¥¡¼¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ÎÃͤÏ
-"fingerprint (»ØÌæ)" ¹Ô¤òµ½Ò¤·¤¿¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¡£ ¤â¤·¡¢Àܳ
-Àè¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤¬¥Õ¥¡¥¤¥ëÃæ¤Î¤¤¤«¤Ê¤ëÃͤȤâ°ìÃפ·¤Ê¤¤¾ì¹ç¡¢
-Àܳ¤ÏÀÚÃǤµ¤ì¤ë¡£
+設定ファイルにおいて
+B<L<checkidfile|/item_checkidfile>> キーワードが設定された場合、その値は
+"fingerprint (指紋)" 行を記述したファイルのファイル名である。 もし、接続
+先のアイデンティティがファイル中のいかなる値とも一致しない場合、
+接続は切断される。
-=head2 ¤½¤Î¾¤Î¥»¥¥å¥ê¥Æ¥£´ØÏ¢¤ÎÃíµ(Notes on Other Security Issues)
+=head2 その他のセキュリティ関連の注記(Notes on Other Security Issues)
=over 4
=item Message Integrity
-¥×¥í¥È¥³¥ë¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ò²Äǽ¤Ê¸Â¤ê¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢
-B<Zebedee> ¤ÏÅÁÁ÷¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎÀµ¤·¤µ¤ËÂФ¹¤ë³Îǧ¤Ï²¿¤â¹Ô¤Ã¤Æ¤¤¤Ê¤¤¡£
-¤½¤Î¤¿¤á¡¢¥¢¥¿¥Ã¥«¡¼¤ÏÅÓÃæ¤Ç¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ò²þÊѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·¡¢°Å¹æ¤Î»ÈÍѤϥǡ¼¥¿¤òǤ°Õ¤ËÊÑ´¹¤¹¤ë¤³¤È¤ò¶Ë¤á¤Æº¤Æñ¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«
-(Î㤨¤Ð¡¢"C<ls -l>"¤ò"C<rm -f>"¤Ë½ñ¤´¹¤¨¤é¤ì¤ë¤«¤¤¡©) ¡£
-¤·¤«¤·¡¢B<Zebedee> ¤Ï¥é¥ó¥À¥à¤Ê¥Ç¡¼¥¿¤¬Á÷¤é¤ì¤¿¤³¤È¤Ë¤è¤ë±Æ¶Á¤«¤é
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼é¤ë¤³¤È¤Ï¹Ô¤ï¤Ê¤¤¡£
+プロトコルのオーバーヘッドを可能な限り小さくするために、
+B<Zebedee> は伝送されたデータの正しさに対する確認は何も行っていない。
+そのため、アタッカーは途中でデータパケットを改変することができる。
+しかし、暗号の使用はデータを任意に変換することを極めて困難にしているのではないか
+(例えば、"C<ls -l>"を"C<rm -f>"に書き換えられるかい?) 。
+しかし、B<Zebedee> はランダムなデータが送られたことによる影響から
+アプリケーションを守ることは行わない。
=item Replay and Insertion Attacks
-¿¤¯¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤ÆͤêÆÀ¤ë¹¶·â¤Î°ì¤Ä¤Ï
-¥Ç¡¼¥¿¤Î¥¥ã¥×¥Á¥ã¥ê¥ó¥°¤Ç¤¢¤ê¡¢Îɤ¯ÃΤé¤ì¤¿¸ú²Ì¤òµÚ¤Ü¤¹
-(Î㤨¤Ð¡¢´ÉÍý¼Ô¤Î B<telnet> ¥»¥Ã¥·¥ç¥ó¤Ë¤Ï¤¢¤ë¼ï¤Î"´í¸±¤Ê"Áàºî¤¬È¼¤¤¡¢
-¤½¤ÎÁàºî¤ò¸å¤Ë·«¤êÊÖ¤µ¤ì¤¿¤é¤É¤¦¤Ê¤ë¤«)¡£
-¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢°Å¹æ²½¤µ¤ì¤¿¥Ç¡¼¥¿¥¹¥È¥ê¡¼¥à¤ò²þÊѤ¹¤ëɬÍפÏ̵¤¤¤¬¡¢
-¥µ¡¼¥Ð¤ËÁ÷¤é¤ì¤¿Æ±¤¸¥Í¥Ã¥È¥ï¡¼¥¯¥Ñ¥±¥Ã¥È¤Ï¡¢Æ±¤¸¥ì¥¹¥Ý¥ó¥¹¤ò°ú¤½Ð¤¹¤À¤í¤¦¡£
+多くのネットワークシステムにおいて有り得る攻撃の一つは
+データのキャプチャリングであり、良く知られた効果を及ぼす
+(例えば、管理者の B<telnet> セッションにはある種の"危険な"操作が伴い、
+その操作を後に繰り返されたらどうなるか)。
+これを行うには、暗号化されたデータストリームを改変する必要は無いが、
+サーバに送られた同じネットワークパケットは、同じレスポンスを引き出すだろう。
-B<Zebedee> ¤¬ "anonymous" ¥â¡¼¥É¤ÇÆ°ºî¤·¤Æ¤¤¤ë¤È¤¡¢
-¥»¥Ã¥·¥ç¥óËè¤Ë°Û¤Ê¤ë¸°¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢
-¤³¤Î¤è¤¦¤Ê¥¢¥¿¥Ã¥¯¤¬À®¸ù¤¹¤ë´í¸±¤ÏÈó¾ï¤Ë¾®¤µ¤¤¡£
-¤·¤«¤·¡¢L<identity checking|Identity Checking>¤Îµ¡Ç½¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤¤Ë¤Ï
-¸°¤Ï¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ºÆÀ¸¤Ï¼ÂºÝ¤Ë²ÄǽÀ¤¬¤¢¤ë¡£
-B<Zebedee>¤Ï¡¢°ì¤Ä°ì¤Ä¤ÎÀܳËè¤Ë¥æ¥Ë¡¼¥¯¤Ê¥»¥Ã¥·¥ç¥ó¥¡¼¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¡¢
-¤³¤ÎÌäÂê¤ËÂн褷¤Æ¤¤¤ë¡£
-¤³¤ÎÊýË¡¤Ç¤Ï¡¢Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤ÎºÇ¸å¤Ë¡¢¥Á¥ã¥ì¥ó¥¸-¥ì¥¹¥Ý¥ó¥¹¤Î¸ò´¹¤¬¹Ô¤Ê¤ï¤ì¡¢
-Áê¼ê¦¤Î¥·¥¹¥Æ¥à¤¬shared secret key¤òÊÝ»ý¤·¤Æ¤ª¤ê¡¢
-°ÊÁ°¤ËµÏ¿¤µ¤ì¤¿¥Ç¡¼¥¿¤ò¥ª¥¦¥àÊÖ¤·¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¡¢
-³Îǧ¤µ¤ì¤ë¡£
+B<Zebedee> が "anonymous" モードで動作しているとき、
+セッション毎に異なる鍵が生成されるため、
+このようなアタックが成功する危険は非常に小さい。
+しかし、L<identity checking|Identity Checking>の機能が使われているときには
+鍵は固定されているので、再生は実際に可能性がある。
+B<Zebedee>は、一つ一つの接続毎にユニークなセッションキーを生成することで、
+この問題に対処している。
+この方法では、接続のセットアップの最後に、チャレンジ-レスポンスの交換が行なわれ、
+相手側のシステムがshared secret keyを保持しており、
+以前に記録されたデータをオウム返ししているわけではないことが、
+確認される。
-²Ã¤¨¤Æ¡¢B<Zebedee> ¤Ï Blowfish °Å¹æË¡¤ò "cipher feedback" ¥â¡¼¥É¤ÇÍѤ¤¤Æ¤ª¤ê¡¢
-¥Ç¡¼¥¿¤Î¤¢¤é¤æ¤ëÉôʬ¤ÎÊ£¹æ¤Ï¡¢
-¤½¤ì°ÊÁ°¤ÎÁ´¤Æ¤Î¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ÎÊ£¹æ¤¬À®¸ù¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë°Í¸¤¹¤ë¡£
-¥Á¥ã¥ì¥ó¥¸¡¦¥ì¥¹¥Ý¥ó¥¹¤Ï¥Ç¡¼¥¿¥¹¥È¥ê¡¼¥à¤Î "salts" ¤ò¸ò´¹¤¹¤ë¤Î¤Ç¡¢
-¥È¥ó¥Í¥ë²½¤µ¤ì¤¿¥×¥í¥È¥³¥ë¤Ë "known plain-text" ¥¢¥¿¥Ã¥¯(¼½ñ¹¶·â)¤ò²Ã¤¨¤ë¤Î¤Ï
-¤è¤êº¤Æñ¤Ë¤Ê¤ë¡£
+加えて、B<Zebedee> は Blowfish 暗号法を "cipher feedback" モードで用いており、
+データのあらゆる部分の複号は、
+それ以前の全てのデータパケットの複号が成功しているかどうかに依存する。
+チャレンジ・レスポンスはデータストリームの "salts" を交換するので、
+トンネル化されたプロトコルに "known plain-text" アタック(辞書攻撃)を加えるのは
+より困難になる。
=item Key Generation
-Îɤ¯¤Ê¤¤¸°¤Î»ÈÍѤϡ¢ºÇ¶¯¤Î°Å¹æ²½¥á¥«¥Ë¥º¥à¤ò¤â±ø¤¹¤³¤È¤¬¤Ç¤¤ë¡£
-¸°¤òÀ¸À®¤¹¤ë¤È¤¡¢B<Zebedee> ¤Ï²Äǽ¤Ê¸Â¤ê¿ä¬¤¬º¤Æñ¤Ê¥Ç¡¼¥¿¤ò¤«¤½¸¤á¤Æ¡¢
-¤½¤ì¤ò SHA ¥Ï¥Ã¥·¥å¥¢¥ë¥´¥ê¥º¥à¤Ë¤è¤ê "¥¹¥Æ¥¢ (¤«¤º®¤¼¤ë)" ¤¹¤ë¡£
+良くない鍵の使用は、最強の暗号化メカニズムをも汚すことができる。
+鍵を生成するとき、B<Zebedee> は可能な限り推測が困難なデータをかき集めて、
+それを SHA ハッシュアルゴリズムにより "ステア (かき混ぜる)" する。
-Windows¤Î¾ì¹ç¡¢¥¢¥¿¥Ã¥«¡¼¤¬´û¤Ë¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ì¤Ð¡¢
-¼èÆÀ²Äǽ¤Ê¤¢¤é¤æ¤ë¥Ç¡¼¥¿¤Ïͽ¬¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·´û¤Ë¸ÀµÚ¤·¤¿¤è¤¦¤Ë¡¢
-¤Û¤È¤ó¤É¤ÎÍÑÅӤˤª¤¤¤Æ¤³¤ì¤ÏµöÍƤǤ¤ë¤À¤í¤¦¡£
-¶½Ì£¤¬¤¢¤ë¤Ê¤é¤Ð¡¢¥×¥í¥°¥é¥àÃæ¤Î¥³¥á¥ó¥È¤Ë¾ÜºÙ¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-»²¾È¤µ¤ì¤¿¤¤¡£
+Windowsの場合、アタッカーが既にシステムにアクセスしていれば、
+取得可能なあらゆるデータは予測することができる。
+しかし既に言及したように、
+ほとんどの用途においてこれは許容できるだろう。
+興味があるならば、プログラム中のコメントに詳細が説明されているので、
+参照されたい。
-¤â¤·¡¢¸°¤ÎÀ¸À®¥á¥«¥Ë¥º¥à¤ËÉÔËþ¤¬¤¢¤ë¤Ê¤é¡¢
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤ÎB<L<keygencommand|/item_keygencommand>> ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¡¢
-³°Éô¤Î¸°À¸À®¥×¥í¥°¥é¥à¤ò¸Æ¤Ù¤ÐÎɤ¤¡£
-ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëÀǽ¤ò²þÁ±¤¹¤ëÄó°Æ¤ÏÂç´¿·Þ¤À!
+もし、鍵の生成メカニズムに不満があるなら、
+設定ファイル中のB<L<keygencommand|/item_keygencommand>> オプションを用いて、
+外部の鍵生成プログラムを呼べば良い。
+組み込まれている性能を改善する提案は大歓迎だ!
=back
-=head1 ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°(TROUBLESHOOTING)
+=head1 ã\83\88ã\83©ã\83\96ã\83«ã\82·ã\83¥ã\83¼ã\83\86ã\82£ã\83³ã\82°(TROUBLESHOOTING)
-B<Zebedee> ¤Ï¡ÖÈ¢¤«¤é½Ð¤·¤Æ¤¹¤°¤½¤Î¤Þ¤Þ¡×Æ°¤¯¤Ù¤¤À¤¬¡¢¤¢¤Ê¤¿¤Ï¥È¥é¥Ö¥ë
-¤Ë¤¢¤¦¤«¤â¤·¤ì¤Ê¤¤¡£¤Û¤È¤ó¤É¤Î¥È¥é¥Ö¥ë¤ÏÀܳ¤Î³ÎΩ»þ¤Ëµ¯¤³¤ë
-(Àܳ¤µ¤¨¤¦¤Þ¤¯¤¤¤±¤Ð¡¢¥Ç¡¼¥¿Å¾Á÷¤Ï¥¹¥à¡¼¥º¤Ë¤¤¤¯¤³¤È¤¬Â¿¤¤)¡£
-(Àܳ¤Î)¥»¥Ã¥È¥¢¥Ã¥×¤Î¼ê½ç¤Ë²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤«´Êñ¤Ë¸«¤ë¤Ë¤ÏB<-v>¥ª¥×¥·¥ç¥ó¤ò
-»È¤¨¤Ð¤è¤¤¡£B<-d> B<-D> ¤â¤¤¤Ã¤·¤ç¤Ë»È¤Ã¤Æ¡¢B<Zebedee>¤òüËö¤«¤é½ªÎ»¤Ç¤
-¤ë¤è¤¦¤Ë¤·¤Æ¡¢°ìÅ٤˰ì¤Ä¤ÎÀܳ¤·¤«½èÍý¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤Û¤¦¤¬¤¤
-¤¤¤«¤â¤·¤ì¤Ê¤¤¡£¤À¤«¤é¡¢¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡£
+B<Zebedee> は「箱から出してすぐそのまま」動くべきだが、あなたはトラブル
+にあうかもしれない。ほとんどのトラブルは接続の確立時に起こる
+(接続さえうまくいけば、データ転送はスムーズにいくことが多い)。
+(接続の)セットアップの手順に何が起こっているか簡単に見るにはB<-v>オプションを
+使えばよい。B<-d> B<-D> もいっしょに使って、B<Zebedee>を端末から終了でき
+るようにして、一度に一つの接続しか処理しないようにしたほうがい
+いかもしれない。だから、こんな感じになるだろう。
zebedee -dD -v 3 -s
-¥í¥®¥ó¥°¥ì¥Ù¥ë¤ò3¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢
-Àܳ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤Î¼ç¤Ê¤ä¤ê¤È¤ê¤ò¸«¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-ÌäÂ꤬¤½¤Î¸å¤Ëµ¯¤¤Æ¤ë¤È³Î¿®¤¬»ý¤Æ¤ë¤Ê¤é¤Ð¡¢
-¥ì¥Ù¥ë¤ò4¤«5¤Ë¤¹¤ì¤Ð¡¢
-(Àܳ»þ¤À¤±¤Ç¤Ê¤¯)¼ÂºÝ¤ÎÄÌ¿®¤Ç²¿¤¬¤ä¤ê¤È¤ê¤µ¤ì¤Æ¤¤¤ë¤«¤â¸«¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+ロギングレベルを3に設定することで、
+接続のセットアップの主なやりとりを見ることができる。
+問題がその後に起きてると確信が持てるならば、
+レベルを4か5にすれば、
+(接続時だけでなく)実際の通信で何がやりとりされているかも見ることができる。
=head1 EXAMPLES
-B<Zebedee> ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï¡¢¤¿¤¯¤µ¤ó¤Î¥µ¥ó¥×¥ë¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤³¤Ç¤Ï¡¢¤½¤ì¤é¤Î»ÈÍÑË¡¤È B<Zebedee> ¤ò
-ÆÃÄê¤Î¤¤¤¯¤Ä¤«¤Î¥×¥í¥È¥³¥ë¤Ç»ÈÍѤ¹¤ë¶ñÂÎŪ¤ÊÊýË¡¤ò½Ò¤Ù¤ë¡£
+B<Zebedee> のパッケージには、たくさんのサンプルの設定ファイルが含まれている。
+ここでは、それらの使用法と B<Zebedee> を
+特定のいくつかのプロトコルで使用する具体的な方法を述べる。
-=head2 ¥µ¡¼¥ÐÀßÄê¤ÎÎã(Example Server Configuration)
+=head2 サーバ設定の例(Example Server Configuration)
-B<Zebedee>¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë F<server.zbd> ¤È¤¤¤¦ÀßÄê¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¡£
-¤³¤ì¤Ë¤Ï¤è¤¯»È¤ï¤ì¤ë¤Û¤È¤ó¤É¤Î¥ª¥×¥·¥ç¥ó¤ÎÀßÄêÎ㤬¤¢¤ë¡£
+B<Zebedee>のパッケージに含まれる F<server.zbd> という設定ファイルがある。
+これにはよく使われるほとんどのオプションの設定例がある。
#
# Sample Zebedee server configuration file
maxbufsize 16383 # Allow maximum possible buffer size
-ǧ¾Ú¤Îµ¡Ç½¤ò¥Æ¥¹¥È¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-B<L<checkidfile|/item_checkidfile>>¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ëF<client1.key>¤«F<client2.key>¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ç»ÈÍѤ¹¤ì¤Ð¤è¤¤¡£
+認証の機能をテストするためには、
+B<L<checkidfile|/item_checkidfile>>の行をコメントアウトし、
+パッケージに含まれるF<client1.key>かF<client2.key>というファイルをクライアント側で使用すればよい。
-=head2 VNC¤Î»ÈÍÑÎã(Use with VNC)
+=head2 VNCの使用例(Use with VNC)
-B<Zebedee>¤òºî¤Ã¤¿Íýͳ¤Î°ì¤Ä¤È¤·¤Æ¡¢¥À¥¤¥¢¥ë¥¢¥Ã¥×¤ÇVNC¤ò»È¤¦¤È¤¤¤¦¤³¤È¤¬¤¢¤ë¡£
-VNC¤Ï¡Ö¥ê¥â¡¼¥È¥Õ¥ì¡¼¥à¥Ð¥Ã¥Õ¥¡¥³¥ó¥»¥×¥È¡×¤ò»È¤¤¡¢
-¥ê¥â¡¼¥È¥Ç¥£¥¹¥×¥ì¥¤¤òÄ󶡤¹¤ë¥Õ¥ê¡¼¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ë¡£
-Windows¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤òÎ¥¤ì¤¿½ê¤Ëɽ¼¨¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤·¡¢
-"Xvnc"¥µ¡¼¥Ð¤ò»È¤Ã¤Æ X ¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤ò
-VNC¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤«¤éÁàºî¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤·¡¢
-Java¤ò»È¤¨¤ë¥Ö¥é¥¦¥¶¡¼¤ÎÃ椫¤éÁàºî¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¾Ü¤·¤¯¤Ïhttp://www.uk.research.att.com/vnc/¤ò»²¾È¤Î¤³¤È¡£
+B<Zebedee>を作った理由の一つとして、ダイアルアップでVNCを使うということがある。
+VNCは「リモートフレームバッファコンセプト」を使い、
+リモートディスプレイを提供するフリーのシステムである。
+Windowsのデスクトップを離れた所に表示することもできるし、
+"Xvnc"サーバを使って X のデスクトップを
+VNCクライアントマシンから操作することもできるし、
+Javaを使えるブラウザーの中から操作することもできる。
+詳しくはhttp://www.uk.research.att.com/vnc/を参照のこと。
-Ä󶡤µ¤ì¤ë¥µ¡¼¥Ð¤ÎÀßÄêÎã¤Ç¤¢¤ëF<server.zbd> ¤Ï 5900-5999 ¥Ý¡¼¥È¤ò
-¥ê¥À¥¤¥ì¥¯¥È¤·¤ÆVNC¥»¥Ã¥·¥ç¥ó¤ò¥È¥ó¥Í¥ê¥ó¥°¤¹¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÏUNIX¤Ç¤âWindows¤Ç¤â»ÈÍѤǤ¤ë¤¬¡¢
-Windows¤Ç»È¤¦¤¿¤á¤Ë¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Î"AllowLoopback"¥Õ¥é¥°¤ò
-¥»¥Ã¥È¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ÇÃí°Õ¡£
-°Ê²¼¤ÎÃÇÊÒ¤ò(ÀèƬ¤Î¥¹¥Ú¡¼¥¹¤ò¼è¤ê½ü¤¤¤Æ¤«¤é)¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ
-B<regedit> ¤ËÆɤޤ»¤ì¤Ð¡¢¤½¤Î¥È¥ê¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë¡£
+提供されるサーバの設定例であるF<server.zbd> は 5900-5999 ポートを
+リダイレクトしてVNCセッションをトンネリングする。
+このファイルはUNIXでもWindowsでも使用できるが、
+Windowsで使うためには、レジストリの"AllowLoopback"フラグを
+セットする必要があるので注意。
+以下の断片を(先頭のスペースを取り除いてから)ファイルに保存して
+B<regedit> に読ませれば、そのトリックを実行する。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]
-¤³¤ÎÆâÍÆ¤Ï B<Zebedee> ¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Î F<vncloopback.reg> ¤Ë¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥ì¥¸¥¹¥È¥ê¤òÀßÄꤹ¤ì¤Ð¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÍ¿¤¨¤é¤ì¤¿¥Û¥¹¥È¤Ë¥È¥ó¥Í¥ê¥ó¥°¤µ¤ì¤¿VNC ¥Ó¥å¡¼¥ï¤ò
-F<vncviewer.zbd> ¤Çµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¡¼¥Ð¤Î(WinVNC¤Î¥Ç¥Õ¥©¥ë¥È¤Ç¤¢¤ë)5900¥Ý¡¼¥È¤Ë¥È¥ó¥Í¥ë¤¹¤ë¤¬¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Æ¾å½ñ¤¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-°Ê²¼¤Ë F<vncviewer.zbd> ¤ÎÆâÍƤò¼¨¤¹¡£
+この内容は B<Zebedee> パッケージの中の F<vncloopback.reg> にも含まれている。
+このレジストリを設定すれば、コマンドラインで与えられたホストにトンネリングされたVNC ビューワを
+F<vncviewer.zbd> で起動することができる。
+デフォルトでは、サーバの(WinVNCのデフォルトである)5900ポートにトンネルするが、
+コマンドラインで指定して上書きすることもできる。
+以下に F<vncviewer.zbd> の内容を示す。
#
# Zebedee configuration file to start up a tunnelled VNC session
compression 6 # Request normal Zlib compression
-°Ê²¼¤Î¤è¤¦¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢
+以下のようにこのファイルを使用すると、
zebedee -f vncviewer.zbd somehost:5901
-I<somehost>¤Î5901È֥ݡ¼¥È¤ÎVNC¥µ¡¼¥Ð¤Ë¥È¥ó¥Í¥ë¤·¤¿VNC¥Ó¥å¡¼¥ï¤òµ¯Æ°¤¹¤ë¡£
-¥Ó¥å¡¼¥ï¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Î5999È֥ݡ¼¥È¤ËÀܳ¤¹¤ë¡£
+I<somehost>の5901番ポートのVNCサーバにトンネルしたVNCビューワを起動する。
+ビューワはローカルホストの5999番ポートに接続する。
-VNC¤ÏJava¤Î¥Ó¥å¡¼¥ï¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-¤â¤·¥µ¡¼¥Ð¤¬¥Ý¡¼¥È59xx¤ÇÆ°ºî¤·¤Æ¤¤¤¿¤é¡¢
-¥Ó¥å¡¼¥ï¤ò58xx¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢
-¤É¤¦¤âJava¥Ó¥å¡¼¥ï¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¥á¥¤¥ó¤ÎVNC¥Ý¡¼¥ÈÈÖ¹æ¤ÇÄÌ¿®¤·¤Æ¤¤¤ë¤è¤¦¤À¡£
-¤½¤Î¤¿¤á¡¢Java¥Ó¥å¡¼¥ï¤Ç¤³¤ì¤ò¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢
-¥í¡¼¥«¥ë¤È¥ê¥â¡¼¥È¤ÇƱ¤¸¥Ý¡¼¥ÈÈÖ¹æ¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£
-¤½¤Î¤¿¤á¡¢Î㤨¤Ð¡¢5901È֤Υݡ¼¥È¤ò»È¤Ã¤Æ¤¤¤ëVNC¥µ¡¼¥Ð¤Ø¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò
-¥È¥ó¥Í¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£
+VNCはJavaのビューワもサポートしている。
+もしサーバがポート59xxで動作していたら、
+ビューワを58xxからダウンロードすることができる。
+しかしながら、
+どうもJavaビューワはクライアントへのメインのVNCポート番号で通信しているようだ。
+そのため、Javaビューワでこれをトンネルするには、
+ローカルとリモートで同じポート番号を使う必要がある。
+そのため、例えば、5901番のポートを使っているVNCサーバへのトラフィックを
+トンネルするには、次のようにする。
zebedee 5801,5901:remotehost:5801,5901
-¤â¤·¥í¡¼¥«¥ë¥Þ¥·¥ó¤Ç¤â5901È֥ݡ¼¥È¤ò»È¤Ã¤¿VNC¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¤È¡¢
-¤³¤ì¤Ï¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£
-¤·¤«¤·¡¢¥Ý¡¼¥È¤¬¾×Æͤ·¤Ê¤¤¤è¤¦¤Ëξ¼Ô¤òÄ´À°¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¢¤ë¡£
+もしローカルマシンでも5901番ポートを使ったVNCサーバが動いていると、
+これはうまくいかない。
+しかし、ポートが衝突しないように両者を調整することは可能である。
-¤â¤¦¤Ò¤È¤Ä¤À¤±¸À¤Ã¤Æ¤ª¤¯¤³¤È¤¬¤¢¤ë¡£
-VNC¤ò¥Ç¡¼¥¿°µ½Ì¤È¤È¤â¤Ë»È¤ª¤¦¤È¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-VNC¤Îprotocol encoding¤Ë´Ø¤·¤Æ¼Â¸³¤·¤¿¤Û¤¦¤¬¤è¤¤¡£
-»ä¤Ï¡¢"raw" encoding ¤¬°µ½Ì¤Î¸ú²Ì¤¬¹â¤¯¡¢
-ÃÙ¤¤²óÀþ¾å¤Ç¤Ï¤è¤ê¤è¤¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¼¨¤¹¤³¤È¤òȯ¸«¤·¤¿¡£
-¤·¤«¤·¡¢¤¢¤Ê¤¿¤Î¾ì¹ç¤Ï°ã¤¦·ë²Ì¤È¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+もうひとつだけ言っておくことがある。
+VNCをデータ圧縮とともに使おうとしているなら、
+VNCのprotocol encodingに関して実験したほうがよい。
+私は、"raw" encoding が圧縮の効果が高く、
+遅い回線上ではよりよいパフォーマンスを示すことを発見した。
+しかし、あなたの場合は違う結果となるかもしれない。
-=head2 X Window System¤Î»ÈÍÑÎã(Use with the X Window System)
+=head2 X Window Systemの使用例(Use with the X Window System)
-X Window System¤Ï6000Èְʾå¤Î¥Ý¡¼¥È¤ò»È¤¦¡£
+X Window Systemは6000番以上のポートを使う。
-B<xlocal> ¤È¤¤¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Ý¡¼¥È6000¤ÇX ¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¤È¤¹¤ë¡£
-¤³¤ì¤ÏÄ̾B<xlocal:0> ¤È¤¤¤¦¥Ç¥£¥¹¥×¥ì¥¤¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤Ç¤¢¤ë¡£
-¤½¤·¤Æ¡¢B<xremote>¤È¤¤¤¦(¥ê¥â¡¼¥È)¥Þ¥·¥ó¤«¤é¡¢
-¥í¡¼¥«¥ë¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Ë°ÂÁ´¤Ê B<xterm> ¤Î¥»¥Ã¥·¥ç¥ó¤òÁ÷¤êÊÖ¤·¤¿¤¤¤â¤Î¤È¤¹¤ë¡£
-¤³¤ì¤ò¹Ô¤Ê¤¦¤Ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò B<xlocal> ¤Ç¼Â¹Ô¤¹¤ë¡£
+B<xlocal> というローカルマシンのポート6000でX サーバが動作しているとする。
+これは通常、B<xlocal:0> というディスプレイで使われているポートである。
+そして、B<xremote>という(リモート)マシンから、
+ローカルのディスプレイに安全な B<xterm> のセッションを送り返したいものとする。
+これを行なうには、以下のコマンドを B<xlocal> で実行する。
zebedee -r 6000 -s
-¤½¤·¤Æ¡¢B<xremote> ¤Ç¤Ï
+そして、B<xremote> では
zebedee 6001:xlocal:6000
-¤ò¼Â¹Ô¤¹¤ë¡£
+を実行する。
-¤³¤Î¤³¤È¤Ï¡¢B<xremote>¾å¤Ç¡¢´Ä¶ÊÑ¿ô¤ÎB<DISPLAY>¤¬C<localhost:1>¤ËÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
-X¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ÏB<xlocal>¤ËÅþÃ夹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤Î¤¿¤á¡¢Î㤨¤ÐB<xterm>¤ò°ÂÁ´¤ËB<xremote>¤«¤éÁ÷¤í¤¦¤È¤¹¤ë¤Ê¤é¡¢
-B<xremote>¾å¤Ç¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¡£
+このことは、B<xremote>上で、環境変数のB<DISPLAY>がC<localhost:1>に設定されていれば、
+XのトラフィックはB<xlocal>に到着することを意味する。
+そのため、例えばB<xterm>を安全にB<xremote>から送ろうとするなら、
+B<xremote>上で次のコマンドを実行する必要がある。
xterm -display localhost:1
-¤³¤ì¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-B<xremote>¤ÎX¥µ¡¼¥Ð¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥ê¥¹¥È¤ËB<localhost>¤Î¥¨¥ó¥È¥ê¡¼¤ò
-Äɲ䷤ʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£
+これが正しく動作するためには、
+B<xremote>のXサーバのアクセスコントロールリストにB<localhost>のエントリーを
+追加しなくてはならない。
+これを行うには次のコマンドを実行する。
xhost +localhost
-=head2 HTTP¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë(Securing HTTP traffic)
+=head2 HTTPの通信を安全にする(Securing HTTP traffic)
-B<Zebedee>¥¯¥é¥¤¥¢¥ó¥È¤ò"multi-use"¥â¡¼¥É¤ÇÆ°ºî¤µ¤»¤ë¤³¤È¤Ç¡¢
-Á´¤Æ¤ÎWeb¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤â¤·¡¢Web¥µ¡¼¥Ð¤¬ B<webhost> ¤Î¥Ý¡¼¥È80¤ÇÆ°ºî¤·¤Æ¤ª¤ê¡¢
-¤½¤Î¥µ¡¼¥Ð¥Þ¥·¥ó¤Ç B<Zebedee> ¥µ¡¼¥Ð¤âÆ°ºî¤·¤Æ¤¤¤ë¤È¤·¤¿¤é¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤¬¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î8000È֥ݡ¼¥È·Ðͳ¤Î¥È¥ó¥Í¥ë¤òÀßÄꤹ¤ë¡£
+B<Zebedee>クライアントを"multi-use"モードで動作させることで、
+全てのWebサーバへの通信を安全にすることができる。
+もし、Webサーバが B<webhost> のポート80で動作しており、
+そのサーバマシンで B<Zebedee> サーバも動作しているとしたら、
+次のコマンドがローカルマシンの8000番ポート経由のトンネルを設定する。
zebedee 8000:webhost:80
http://webhost/private/index.html
-¤Ï¡¢¤³¤Î¾õÂ֤Ǥϼ¡¤ÎURL¤Ç°ÂÁ´¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡£
+は、この状態では次のURLで安全にアクセスできる。
http://localhost:8000/private/index.html
-"C<localhost:8000>"¤ò¤¢¤Ê¤¿¤Î¥×¥í¥¥·¡¼¤È¤·¤ÆÀßÄꤹ¤ë¤³¤È¤Ç¡¢
-Á´¤Æ¤ÎHTTP¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò°ÂÁ´¤Ê¥È¥ó¥Í¥ë·Ðͳ¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤·¤«¤·¡¢Ãí°Õ¤¹¤Ù¤¤³¤È¤Ï¡¢HTTP¤Î¥×¥í¥¥·¡¼ÀßÄê°Ê³°¤Ë¤³¤ÎÀßÄê¤ò¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-Secure HTTP¤ò´Þ¤à¾¤Î¥×¥í¥È¥³¥ë¤Ï¾¤ÎÊýË¡¤Ç¥ê¥À¥¤¥ì¥¯¥È¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤Û¤È¤ó¤É¤Î¥Ö¥é¥¦¥¶¤Ï°ã¤¦¥É¥á¥¤¥ó¤Ë°ã¤¦¥×¥í¥¥·¡¼¤ò³ä¤ê¤¢¤Æ¤ëÀßÄê¤â²Äǽ¤Ç¤¢¤ë¡£
-¤½¤Î¤¿¤á¡¢É¬Íפʤâ¤Î¤À¤±Áª¤ó¤Ç¥¬¡¼¥É¤¹¤ë¤³¤È¤â¤Ç¤¤ë¡£
-¤³¤ì¤ò¹Ô¤Ê¤¦ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¥Ö¥é¥¦¥¶¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤µ¤ì¤¿¤·¡£
+"C<localhost:8000>"をあなたのプロキシーとして設定することで、
+全てのHTTPのトラフィックを安全なトンネル経由にすることもできる。
+しかし、注意すべきことは、HTTPのプロキシー設定以外にこの設定をしてはいけない。
+Secure HTTPを含む他のプロトコルは他の方法でリダイレクトする必要がある。
+ほとんどのブラウザは違うドメインに違うプロキシーを割りあてる設定も可能である。
+そのため、必要なものだけ選んでガードすることもできる。
+これを行なう方法についてはブラウザのマニュアルを参照されたし。
-=head2 FTP¤ÎÄÌ¿®¤ò°ÂÁ´¤Ë¤¹¤ë(Securing FTP traffic)
+=head2 FTPの通信を安全にする(Securing FTP traffic)
-°Ê²¼¤Î¼êÃʤǡ¢
-B<Zebedee>¤ò»È¤¤Â¿¤¯¤ÎFTP¥µ¡¼¥Ð¤Ø¤ÎFTP¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó
-(¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤¬Á÷¤é¤ì¤ë¥³¥Í¥¯¥·¥ç¥ó)¤ò¼é¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤µ¤é¤Ë¡¢B<Zebedee>¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë B<ftpgw.tcl> ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢
-¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤Î¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤µ¤¨¤â¼é¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+以下の手段で、
+B<Zebedee>を使い多くのFTPサーバへのFTPコントロールコネクション
+(ユーザ名とパスワードが送られるコネクション)を守ることができる。
+さらに、B<Zebedee>パッケージに含まれる B<ftpgw.tcl> スクリプトによって、
+パッシブモードのデータコネクションさえも守ることができる。
-FTP¥µ¡¼¥Ð¤ò°·¤¦ºÇ¤âñ½ã¤ÊÊýË¡¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë B<Zebedee> ¤òµ¯Æ°¤¹¤ë¤³¤È¤À¡£
+FTPサーバを扱う最も単純な方法は、以下のように B<Zebedee> を起動することだ。
zebedee -s -r ftp ftpserverhost
-FTP¥µ¡¼¥Ð¤ÈƱ¤¸¥Þ¥·¥ó¤Ç B<Zebedee> ¤òÆ°ºî¤µ¤»¤Æ¤¤¤Æ¤â¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç
-ÌÀ¼¨Åª¤Ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë(¤Þ¤¿¤Ï
-B<L<redirecthost|/item_redirecthost>>¥¡¼¥ï¡¼¥É¤ò»ÈÍÑ)¡£¤½¤ì¤ò
-B<localhost>¤È¤·¤Æ»²¾È¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤Ç¤Ï
-B<Zebedee>¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Æ¡¢¥Ý¡¼¥È10000ÈÖ·Ðͳ¤Î¥Þ¥ë¥Á¥æ¡¼¥¹¥È¥ó¥Í¥ë
-¤ò¹½ÃÛ¤¹¤ë¡£
+FTPサーバと同じマシンで B<Zebedee> を動作させていても、コマンドラインで
+明示的にホスト名を指定する必要がある(または
+B<L<redirecthost|/item_redirecthost>>キーワードを使用)。それを
+B<localhost>として参照してはいけない。クライアントシステムでは
+B<Zebedee>を次のように起動して、ポート10000番経由のマルチユーストンネル
+を構築する。
zebedee 10000:ftpserverhost:ftp
-FTP¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
+FTPサーバに接続するには、次のようなコマンドを使用する。
ftp clienthost 10000
-¤¯¤É¤¤¤è¤¦¤À¤¬¡¢B<localhost> ¤Ç¤Ê¤¯¥í¡¼¥«¥ë¥¯¥é¥¤¥¢¥ó¥È¤Î¥Û¥¹¥È̾¤ò»È¤¦¤³¤È¡£
-¤â¤·¡¢windows¤Îɸ½àFTP¥¯¥é¥¤¥¢¥ó¥È¤Î¤è¤¦¤Ë¡¢
-¤¢¤Ê¤¿¤ÎFTP¥¯¥é¥¤¥¢¥ó¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ý¡¼¥È¤ò»ØÄê¤Ç¤¤Ê¤¤»þ¤Ï¡¢
-¥×¥í¥°¥é¥à¤ÎÃæ¤Ç(FTP¥»¥Ã¥·¥ç¥ó¤ÎÃæ¤Ç)
-"C<open clienthost 10000>" ¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤¤ë¡£
-¤â¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤ÇFTP¥µ¡¼¥Ð¤¬Î©¤Á¾å¤¬¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-B<Zebedee> ¤ò¤³¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Æ¤â¤è¤¤¡£
+くどいようだが、B<localhost> でなくローカルクライアントのホスト名を使うこと。
+もし、windowsの標準FTPクライアントのように、
+あなたのFTPクライアントがコマンドラインでポートを指定できない時は、
+プログラムの中で(FTPセッションの中で)
+"C<open clienthost 10000>" というコマンドを使うことができる。
+もし、クライアントマシンでFTPサーバが立ち上がっていなければ、
+B<Zebedee> をこのように起動してもよい。
zebedee ftp:ftpserverhost:ftp
-¤³¤ì¤À¤ÈFTP¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ï¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤Ç¤¤ë¡£
+これだとFTPクライアントプログラムは次のように起動できる。
ftp clienthost
-FTP¤Î¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤È¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤¬Æ±¤¸½ê¤«¤éÍè¤Æ¤¤¤ë¤«
-¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ëFTP¥µ¡¼¥Ð¤¬¤¢¤ë¤¬¡¢¤½¤¦¤¤¤¦¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¾åµ¤Î¼êË¡¤Ï
-¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£B<wu-ftpd> ¤Î¤è¤¦¤Ê¥á¥¸¥ã¡¼¤ÊFTP¥µ¡¼¥Ð¤Ï¤³¤ÎÅÀ¤Ë
-¤Ä¤¤¤Æ¸·¤·¤¯¥Á¥§¥Ã¥¯¤òÆþ¤ì¤ë(¥»¥¥å¥ê¥Æ¥£Ì̤«¤é¤Ï˾¤Þ¤·¤¤¤³¤È¤À¤¬¡Ä)¡£
-¤â¤·¡¢¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤ÏÌÀ¤é¤«¤Ë¤¦¤Þ¤¯¤¤¤¯¤Î¤Ë¡¢
-¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤äÆɤ߽Ф·¤Ç¼ºÇÔ¤·¤¿¤ê¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë¤Ê¤é¡¢
-¤½¤Î¥µ¡¼¥Ð¤¬¤³¤³¤ò¸·¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ë¥¿¥¤¥×¤À¤Ã¤¿¡¢¤È¤¤¤¦¤³¤È¤À¡£
+FTPのコントロールコネクションとデータコネクションが同じ所から来ているか
+どうかチェックするFTPサーバがあるが、そういうサーバに対しては上記の手法は
+うまくいかない。B<wu-ftpd> のようなメジャーなFTPサーバはこの点に
+ついて厳しくチェックを入れる(セキュリティ面からは望ましいことだが…)。
+もし、サーバへの接続は明らかにうまくいくのに、
+ファイルのリストや読み出しで失敗したりハングアップするなら、
+そのサーバがここを厳しくチェックするタイプだった、ということだ。
-¤³¤ÎÌäÂê¤ò¹îÉþ¤¹¤ë¤Î¤ò½õ¤±¤ë¤¿¤á¤Ë¡¢B<ftpgw.tcl> ¤È¤¤¤¦FTP¥²¡¼¥È¥¦¥§¥¤¤Î
-¥¹¥¯¥ê¥×¥È¤¬ B<Zebedee> ¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥×¥í¥°¥é¥à¤Ï¥Õ¥ê¡¼¤ËÆþ¼ê²Äǽ¤Ç¤¢¤ëTcl¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¸À¸ì
-(http://www.scriptics.com»²¾È)¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¡¢
-FTP¤Î¥ê¥¯¥¨¥¹¥È¤òÃæ·Ñ¤·¤ÆºÆÁ÷¿®¤·¡¢¥µ¡¼¥Ð¤«¤éB<Zebedee> ¤Î¸ºß¤ò±£¤¹¡£
-¤³¤ì¤Ï B<Zebedee> ¥µ¡¼¥Ð¤ÈƱ¤¸¥Þ¥·¥ó¤ÇÁö¤é¤»¤ëɬÍפ¬¤¢¤ë¡£
-FTP¥µ¡¼¥Ð¤âƱ¤¸¥Þ¥·¥ó¤ÇÆ°¤¤¤Æ¤¤¤ë¤Ê¤é¡¢Ã±¤Ë¤³¤¦µ¯Æ°¤¹¤ì¤Ð¤è¤¤¡£
+この問題を克服するのを助けるために、B<ftpgw.tcl> というFTPゲートウェイの
+スクリプトが B<Zebedee> パッケージには含まれている。
+このプログラムはフリーに入手可能であるTclスクリプティング言語
+(http://www.scriptics.com参照)で書かれていて、
+FTPのリクエストを中継して再送信し、サーバからB<Zebedee> の存在を隠す。
+これは B<Zebedee> サーバと同じマシンで走らせる必要がある。
+FTPサーバも同じマシンで動いているなら、単にこう起動すればよい。
tclsh ftpgw.tcl
-¤³¤ì¤Ç¥²¡¼¥È¥¦¥§¥¤¤Ï¥Ý¡¼¥È2121¤ÇÂÔ¤Á¼õ¤±¤ë¡£ÌÀ¤é¤«¤Ë¡¢¼ÂºÝ¤Î»ÈÍѤǤϤ³¤ì
-¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çµ¯Æ°¤·¤¿¤¤¤À¤í¤¦¡£¤½¤ì¤«¤é¡¢B<Zebedee>¥µ¡¼¥Ð¤ò
+これでゲートウェイはポート2121で待ち受ける。明らかに、実際の使用ではこれ
+をバックグラウンドで起動したいだろう。それから、B<Zebedee>サーバを
zebedee -s -r 2121
-¤È¤·¤Æµ¯Æ°¤¹¤ë¡£
+として起動する。
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ëɬÍפϤʤ¤
-(¤·¤¿¤±¤ì¤Ð¤·¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤¬)¡£
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï¤³¤¦¤¹¤ë¡£
+このケースではローカルホスト名を指定する必要はない
+(したければしてもかまわないが)。
+クライアント側ではこうする。
zebedee 2121:ftpserverhost:2121
-¤½¤ì¤«¤é¤³¤¦¤¹¤ë¡£
+それからこうする。
ftp clienthost 2121
-¤³¤Á¤é¤Ç¤Ï¡¢¤³¤Î¾ì¹ç¤Ç¤â¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È̾¤ò»È¤¦¡£
+こちらでは、この場合でもクライアントホスト名を使う。
-¤³¤ÎÀßÄê¤Ç¤Ï¡¢FTP¤Î¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤Ï¥È¥ó¥Í¥ë¤µ¤ì¤ë¤¬¡¢
-¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤Ë¤Ï°ìÀڱƶÁ¤òÍ¿¤¨¤Ê¤¤¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤ÎFTP¥¯¥é¥¤¥¢¥ó¥È¤¬¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð¡¢
-B<ftpgw.tcl> ¤Ç¥Ç¡¼¥¿¥Á¥ã¥ó¥Í¥ë¤â°ÂÁ´¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-Netscape Navigator ¤ä WindowsÍѤÎWS_FTP¤Ê¤É¤Ï¤½¤ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
+この設定では、FTPのコントロールコネクションはトンネルされるが、
+データコネクションには一切影響を与えない。
+もし、あなたのFTPクライアントがパッシブモードをサポートしていれば、
+B<ftpgw.tcl> でデータチャンネルも安全にすることができる。
+Netscape Navigator や Windows用のWS_FTPなどはそれをサポートしている。
-¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤Î¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤ò°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-¤Þ¤º¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤Ë»È¤¦¥Ý¡¼¥ÈÈÖ¹æ¤ÎÈϰϤòÁª¤Ð¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤ÎÎã¤Ç¤Ï¡£30000¤«¤é30100ÈÖ¤ò»È¤¦¤â¤Î¤È¤¹¤ë¡£
-¤Þ¤º¡¢B<ftpgw.tcl> ¤ò µ¯Æ°¤¹¤ë»þ¤Ë¡¢¤³¤Î¥Ý¡¼¥ÈÈϰϤò»ØÄꤹ¤ë¤¿¤á¤Ë¡¢
-B<-p>¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¡£
+パッシブモードのデータコネクションを安全にするためには、
+まずデータコネクションに使うポート番号の範囲を選ばなくてはいけない。
+この例では。30000から30100番を使うものとする。
+まず、B<ftpgw.tcl> を 起動する時に、このポート範囲を指定するために、
+B<-p>オプションを使用する。
tclsh ftpgw.tcl -p 30000-30100
-B<Zebedee>¥µ¡¼¥Ð¤Ï¤³¤Î¤è¤¦¤Ëµ¯Æ°¤¹¤ë¡£
+B<Zebedee>サーバはこのように起動する。
zebedee -s -r 2121,30000-30100
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤¦¤À¡£
+クライアントはこうだ。
zebedee 2121,30000-30100:ftpserverhost:2121,30000-30100
-Netscape¤ò»È¤Ã¤Æ¥³¥ó¥È¥í¡¼¥ë¥³¥Í¥¯¥·¥ç¥ó¤È¥Ç¡¼¥¿¥³¥Í¥¯¥·¥ç¥ó¤ò
-ξÊý°ÂÁ´¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤ÊURL¤òÆþÎϤ¹¤ë¡£
+Netscapeを使ってコントロールコネクションとデータコネクションを
+両方安全にアクセスするには、このようなURLを入力する。
ftp://username@clienthost:2121/
-¤³¤³¤ÇI<username>¤ÏFTP¥µ¡¼¥Ð¤Ç¤Î¥æ¡¼¥¶Ì¾¤Ç¤¢¤ë¡£
+ここでI<username>はFTPサーバでのユーザ名である。
=head1 CREDITS AND LEGALITIES