HTMUX parameter == HTMUX=sv[:[hostList][:portList]] | HTMUX=cl:host:port | HTMUX=px:host:port -- 制限: CAPSKEY が必要 -- default: none
標準で、入ってくる接続だけでなく、HTMUX クライアントから出てゆく接続も HTMUX サーバー経由で達成されます。 これは、内部サーバーへ入ってくる要求を転送する DeleGate には不要でしょう。 例えば、このようなケースでは、CONNECT="direct:*:192.168.1.*" のように CONNECT パラメーターを使って、そのような接続を直接的に確立するように指定します。
例)
この例では、hostX は、プライベートアドレス 192.168.1.1 とグローバルアドレス xx.xx.xx.xx を持つマルチホームホストであることを表しています。 hostX 上の DeleGate は、HTMUX サーバーとして機能しています。 hostI 上の HTTP DeleGate と、hostJ 上の FTP DeleGate は、 HTMUX クライアントとして機能していて、hostX 上の HTMUX サーバー経由で、 (xx.xx.xx.xx に来た) 要求を遠隔で受け付けています。
一対の HTMUX サーバー/クライアントは、SockMux プロトコルによって多重化された 複数の並列接続をリレーする単一の持続的接続を使います。 この機能は、入ってくる接続がファイアーウォール上の制限をすり抜けでくるような 悪意を持った使われかたをされてはいけません。 ですので、この機能を有効にするには、CAPSKEY を導入する必要があります。 HTMUX で他に標準で無効になっているのは、 クライアントサーバー間の間接接続(NAT やプロキシー経由の接続)、 クライアントサーバー間の大きすぎる時間のずれ(初期値は300秒)、 クライアントサーバー間に挿入された SSL 暗号化です。
HTMUX のための間接接続を有効にするには2通りの方法があります。
ひとつは、CAPSKEY を導入して、間接 HTMUX 接続を有効にする。
もうひとつは、下記例のように HTMUX プロキシーを挟む事です。
例) HTMUX を HTMUX プロキシーとともにカスケードする
HTMUX クライアントサーバー間の持続的な接続は、双方向接続を搬送できますので、 それ上に一対のプロキシーを形成できます。 各プロキシーは、以下の例のようにローカルポートで要求を受け付けて遠隔のプロキシーに転送します。
例) HTMUX を対称性を持つプロキシーにして使う(もっとも簡単な汎用的な設定)
この例で、-P8080 はワイルドカードアドレス表現 "-P*:8080" と同じで、
ホスト上の全インターフェースのポート番号 8080 から受け付けます。
ですので、hostX 上の任意のインターフェース上のポート 8080 への要求は、
HTMUX クライアント(および HTTP プロキシー)としての hostX 上の DeleGate 経由
でサーバーに転送されます。
対称的に hostY 上の任意のインターフェース上のポート 8080 への要求は、
HTTP プロキシー(および hostX:9876 での HTMUX サーバ)としての hostX 上の
DeleGate 経由でサーバーに転送されます。
(今一度、標準でこの機能は無効になっており、有効にするには CAPSKEY
が必要です。)
サーバー側とクライアント側で使うポートは、-P または -Q オプションに "/local" と "/remote" 修飾子を使う事で別々に指定できます。 "/local" は、ポートをローカルホスト上で使う(HTMUX クライアントで)事を明示し、 "/remote" は、ポートをリモートホスト上で使う(HTMUX サーバー)事を明示します。 上記例の "-P8080" の指定は、"-P*:8080/remote,*:8080/local" と同じです。
例) HTMUX を双方向に使う
この例で、hostX と hostI 間で、 それぞれのホスト上の localhost:8081 への要求は、 対向に転送されます ("-Plocalhost:8081/remote,localhost:8081/local" と同じ)。 hostX と hostJ 間で、 hostX:8082 and hostJ:8083 は、対向に転送されます ("-PhostX:8082/remote,hostJ:8083/local" と同じ)。
例) HTMUX を外向けの要求にのみ使う。
これは、HTMUX を外向けの要求にのみ使う例です。 HTMUX パラメータがなくても動きますが、HTMUX により、サーバークライアント間では、 単一の持続的接続が使われます。 この HTMUX の使いかたは DeleGate がフォアグラウンド動作しているとき (-fv オプションを伴い、サービスやデーモンとしてではなく) に上記制限や CAPSKEY 無しで、標準で使えます。