SOCKS トンネリングは、Windows プラットフォーム上のアプリケーションのトンネリングに使用可能なメカニズムです。SOCKS トンネリングは、SOCKS4 または SOCKS5 クライアント プロトコルをサポートするアプリケーションを処理します。
ローカル ホスト上の特定のポートからリモート サーバ上の特定のポートまでのトンネリング (ポート転送) を設定する代わりに、ユーザのアプリケーションが使用できる SOCKS サーバを指定することができます。各アプリケーションは、localhost ポート上の SOCKS サーバを使用するように設定される点を除き、通常の方法で設定されます。SecureShell クライアント アプリケーションである SSH Tectia Client は、localhost のポートを開き、任意の SOCKS クライアント アプリケーションに対して SOCKS4 および SOCKS5 サーバを模倣します。
IMAP4、POP3、SMTP、HTTP などのサービスに接続するアプリケーションは、必要な情報を SOCKS サーバ (実際には SOCKS サーバを模倣している SSH Tectia Client) に提供します。SSH Tectia Client はこの情報を使用して、SecureShell サーバまでのトンネルを作成したり、受信および送信トラフィックをセキュアに中継したりします。
sshg3
をコマンドラインで使用した場合は、SOCKS トンネリング コマンドの構文は以下のようになります。
client$ sshg3 -L socks/[listen-address:]listen-port username@sshserver
各パラメータは以下の通りです。
[listen-address:]
は、リッスンされるクライアント上のインターフェイスを定義します (オプション引数)。
listen-port
は、クライアント上のポートの番号です。
sshserver
は、SecureShell サーバの IP アドレスまたはホスト名です。
たとえば、以下のコマンドは、クライアント上のポート 1234
から sshserver
までのローカル トンネルを設定します。アプリケーションは、クライアント上のポート 1234
で SOCKS サーバを使用するように設定されます。接続は、そのサーバから、アプリケーションによって要求された接続先ホストまでセキュアではない状態で転送されます。
sshclient$ sshg3 -L socks/1234 username@sshserver
SOCKS トンネルは、Connection Broker の設定ファイルで接続プロファイルに対して定義することもできます。ssh-broker-config.xml
ファイルからの例を以下に示します。
<profile id="id1" host="sshserver.example.com"> ... <tunnels> <local-tunnel type="socks" listen-port="1234" allow-relay="no" /> ... </tunnels> </profile>