仮想IPと仮想ループバック
注:これらの機能は,サポートされているWindowsサーバーマシンでのみ有効です。操作系统Windowsデスクトップマシンでは使用できません。
微软社の仮想IPアドレス機能により,セッションごとに動的に割り当てられるIPアドレスを公開アプリケーションで使用できます。Citrixの仮想ループバック機能を使用すると、ローカルホスト(デフォルトで127.0.0.1)と通信するアプリケーションで、ローカルホストの範囲内(127.*)で固有の仮想ループバックアドレスが使用されるように構成できます。
CRM(客户关系管理)やCTI(计算机电话集成)などの特定のアプリケーションでは,アドレス割り当て,ライセンス付与,識別,またはそのほかの目的でIPアドレスが使用されるため,セッションに固有のIPアドレスまたはループバックアドレスが必要です。また,一部のアプリケーションでは静的なポートにバインドされるため,マルチユーザー環境でそのアプリケーションの追加インスタンスを起動しようとすると,そのポートが使用済みなので起動に失敗します。これらのアプリケーションがXenApp環境で正しく動作するためには,クライアントデバイスごとに異なるIPアドレスが使用される必要があります。
仮想知识产权と仮想ループバックは、それぞれ独立した機能です。これらの機能のいずれかまたは両方を使用できます。
使用する機能に応じて、管理者は以下の操作を行います。
- 微软社の仮想知识产权機能を使用するには、窗户サーバー上で仮想知识产权を有効にして構成します。(Citrix)ポリシーの設定は必要ありません。)
- 思杰公司の仮想ループバック機能を使用するには、思杰公司ポリシーで2.つの設定項目を構成します。
仮想 知识产权
Windowsサーバー上で仮想IP機能を有効にすると,セッション内で動作する各アプリケーションで固有のアドレスが使用されるように構成できます。ユーザーは,これらのアプリケーションを,ほかの公開アプリケーションと同じように使用することができます。以下のいずれかの動作をするプロセスでは,仮想IPアドレスを設定します。
- ハードコードされた(固定された)传输控制协议ポート番号を使用する。
- 窗户ソケットを使用し、固有の知识产权アドレスまたは固定された传输控制协议ポート番号を使用する。
アプリケーションで仮想IPアドレスが必要かどうかを判断するには,次の手順に従います。
- 微软社のWebサイトから,TCPViewツールを入手します。このツールを使用すると,特定のIPアドレスおよびポートを使用しているすべてのアプリケーションを一覧表示できます。
- TCPViewの[选项]メニューで,[解决地址]を無効にします。これにより,一覧にホスト名ではなくアドレスが表示されるようになります。
- 対象となるアプリケーションを起動して,使用されているIPアドレスとポート,およびそれらのポートを開いているプロセスの名前をTCPViewで確認します。
- サーバーの知识产权アドレス0.0.0.0または127.0.0.1を使用するプロセスを構成します。
- そのアプリケーションの追加インスタンスを起動して、別のポート上で同じ知识产权アドレスが使用されないことを確認します。
微软リモートデスクトップ(RD)のIP仮想化のしくみ
仮想知识产权アドレスを使用するには、窗户サーバー上でこの機能を有効にする必要があります。
たとえば,Windows Server 2008 R2環境でサーバーマネージャーを使用し,[リモートデスクトップサービス]> [RDセッションホストの構成]の順に展開してRD IP仮想化機能を有効にします。次に、IPアドレスをDHCP(动态主机配置协议:動的ホスト構成プロトコル)サーバーによりセッションごとまたはプログラムごとに動的に割り当てるように設定を行います。手順については,微软社のドキュメントを参照してください。
この機能を有効にすると,セッション起動時にサーバーは,DHCPサーバーから動的に割り当てられたIPアドレスを要求します。
研发IP仮想化機能によって、セッションごとまたはプログラムごとに、リモートデスクトップ接続に知识产权アドレスが割り当てられます。複数のプログラムに知识产权アドレスを割り当てる場合、これらのプログラム間でセッションごとの知识产权アドレスが共有されます。
アドレスが割り当てられたセッションでは,绑定,closesocket,连接,WSAConnect, WSAAccept, getpeername, getsockname、sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfoの各コールに対して,システムのプライマリIPアドレスではなく仮想アドレスが使用されます。
リモートデスクトップセッションのホスト環境で微软のIP仮想化機能を使用すると,アプリケーションとWinsockコールとの間に”フィルター”コンポーネントを挿入することで,アプリケーションと特定のIPアドレスがバインドされます。IPアドレスがバインドされると,アプリケーションはそのアドレスだけで要求を待ち受けるようになります。アプリケーションのTCPリスナーまたはUDPリスナーは自動的に仮想IPアドレス(または仮想ループバックアドレス)にバインドされ、アプリケーションからの接続はその仮想アドレスから開かれます。
窗户ポリシーにより制御されるGetAddrInfo()など、アドレスを返すファンクションでローカルホスト知识产权アドレスが要求されると、返された知识产权アドレスがそのセッションの仮想知识产权アドレスに変換されます。このようなファンクションでローカルサーバーの知识产权アドレスを取得しようとするアプリケーションには、セッション固有の仮想知识产权アドレスだけが渡されます。このようにしてアプリケーションに渡された知识产权アドレスは、後続のソケットコール(绑定や连接など)で使用されます。
アプリケーションでは,アドレス0.0.0.0で,リスナー用のポートのバインドが必要になる場合があります。このようなアプリケーションで静的なポート番号が使用されると,競合が発生するため,複数のインスタンスを起動できなくなります。仮想IPアドレス機能では,0.0.0.0へのファンクションコールが特定の仮想IPアドレスに変換されます。これにより,セッションごとに異なるアドレス上のポートが使用されるため,同じポート番号を使用する複数のアプリケーションを実行できるようになります。このファンクションコールは,仮想IPアドレス機能が有効なICAセッションでのみ変換されます。たとえば,すべてのインターフェイス(0.0.0.0)と特定のポート(9000など)にバインドするアプリケーションの2つのインスタンスが,それぞれ異なるセッションで実行される場合,VIPAddress1:9000とVIPAddress2:9000にバインドされるため,競合が起きません。
仮想ループバック
思杰公司ポリシーで仮想知识产权ループバック機能を有効にすると、各セッションで通信に独自のループバックアドレスが使用されるようになります。アプリケーションが温索克呼び出しでローカルホストのアドレス(デフォルトで127.0.0.1)を使用する場合、仮想ループバック機能により、127.0.0.1が127.X.X.X(X.X.Xはセッション身份证件に1.を足したものです)に置き換えられます。たとえば、セッション身份证件が7.の場合は127.0.0.8になります。セッション身份证件が4.オクテットを超える場合(つまり255を超える場合)は、127.0.1.0のように次のオクテットに繰り上げられます。また、最大値は127.255.255.255です。
以下のいずれかの動作をするプロセスでは,仮想ループバックを設定します。
- 窗户ソケットのループバック(本地主机)アドレス127.0.0.1を使用する。
- ハードコードされた(固定された)传输控制协议ポート番号を使用する。
プロセス間通信でループバックアドレスを使用するアプリケーションでは、仮想ループバックアドレスポリシー設定を使用します。追加の構成は必要ありません。仮想ループバックは仮想知识产权に依存しないため、窗户サーバーの構成は不要です。
- 仮想IPループバックサポートこのポリシー設定を有効にすると,各セッション固有の仮想ループバックアドレスが使用されるようになります。このチェックボックスは,デフォルトでオフになっています。この機能は,(仮想IPループバックプログラム一覧]ポリシー設定で指定したアプリケーションにのみ適用されます。
- 仮想知识产权ループバックプログラム一覧このポリシー設定では、仮想知识产权ループバック機能を使用するアプリケーションを指定します。この設定は、[仮想 知识产权ループバックサポート]ポリシー設定が有効になっている場合のみ適用されます。
関連機能
次のレジストリ設定により,仮想ループバックが仮想IPよりも優先されるようになります(優先ループバック機能)。ただし,以下の点に注意してください。
- 優先ループバックはWindows Server 2008 R2とWindows Server 2012 R2でのみサポートされます。
- 仮想IPアドレスと仮想ループバックの両方の機能を有効にする場合にのみ,優先ループバック機能を使用してください。そうしないと,意図しない結果が生じる可能性があります。
- レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、オペレーティングシステムの再インストールが必要になる場合もあります。レジストリエディターの誤用による障害に対して、シトリックスでは一切責任を負いません。レジストリエディターは、お客様の責任と判断の範囲でご使用ください。また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。
アプリケーションのホストサーバー上で,打开注册表を実行します。
- HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP(32ビットマシンではHKEY\本地\计算机\软件\ Citrix\VIP)
- 値の名前:PreferLoopback種類:REG_DWORD,値のデータ:1
- 値の名前:PreferLoopbackProcesses種類:REG_MULTI_SZ,データ:プロセスの一覧>