テレワーク・在宅勤務が広がって、大企業でお勤めの方などはCisco AnyConnectを用いたVPN接続を利用されている方も多いのではないでしょうか。私の勤務先はCiscoAnyConnectでVPN接続+VMware Horizon ClientでのVDIの組み合わせになっています。
そんな在宅勤務環境ですが、自宅ではHyper-V上の仮想マシンからCisco AnyConnect + VMware Horizon Clientを利用して接続しています。その理由は
- TeamsやWebex、Zoom等のWeb会議用に、PCからのインターネット接続は維持したい
- AnyConnectでVPN接続すると、VDI以外のアプリケーションからもすべての通信がVPN経由になりインターネットに接続できないのが困る
- そのくせVDI環境(=イントラ環境)からはTeams, Zoomは接続不可そもそもWeb会議はVDI環境からの接続は非推奨(社内NWへの負荷を避ける目的)だったりするので、Web会議の都度VPNとVDIの接続断、再接続がおっくう
- 自宅のPCに、証明書やAnyConnect、VMwareなどのアプリケーションはできれば入れたくない。でも、会社から貸与されるPCを自宅に持って帰るのは手続きが煩瑣だったり紛失等が不安だからいや。
といったものです。とにかくやりたいことは、
- 自宅PCの慣れたKVM環境(特にデュアルディスプレイは大事)でかつ、インターネット接続は可能な状態で会社のVDIも利用したい
これにつきます。私はHyper-Vの仮想マシン上に、テレワーク用の環境を構築することでこれらをかなえています。
Hyper-V(拡張セッション)上でAnyConnectのVPN接続を利用する
ここで唐突に、拡張セッションというキーワードがでてきました。Hyper-Vの仮想マシンに接続する際基本モードではなく「拡張セッションモード」を使いたい理由は、ローカルのリソース(特に今回はデュアルディスプレイとマイク音声)を利用したいためです。
基本モードでは、デュアルディスプレイに接続していても、セカンダリディスプレイを利用することができません。VMware HorizonのVDI環境でデュアルディスプレイを利用するには、接続環境(すなわち仮想マシン)でデュアルディスプレイが利用できる必要があります。
拡張セッションが実は悩みの原因に
この拡張セッションはリモートデスクトップの技術を利用したものといわれています。
Hyper-V上でAnyConnectのVPN接続を利用する。一見単純なことのようにみえますが、前述のようにVPN接続後すべての通信がVPN接続に仕向けられる場合、このリモートデスクトップ接続を利用した拡張セッションが災いするのです。VPN接続完了後はホストOSからの通信もできなくなり、Hyper-Vの拡張セッションに接続できなくなってしまいます。
VPN接続後もデフォルトゲートウェイとしてVPN接続を利用しない構成になっていれば悩まないのですが、企業側のポリシーとして配布される構成ファイルにVPN接続をデフォルトゲートウェイとして利用する設定がされていると、利用者側ではこれを回避することはできません。
また、アプリケーション版のAnyConnectでは拡張セッションを利用する場合、リモートデスクトップクライアントからのVPN接続を許容するポリシーが明示的に必要なようです。
企業から貸与するPCでの利用を考慮すると、このポリシーは致し方ないと思っています。貸与PCは当然社内でも利用されることが想定され、ローカル上に機密情報が保存されていることがありえます。
基本的に社内ネットワークへの接続しか許容しない前提で運用されていることから、VPN接続時もインターネット利用は不要という考え方も合理性があります。
しかし自宅PCでの仮想環境利用では、そもそも仮想環境からホストへの社内情報持ち出しはできないようになっているために自宅PCでの利用が許諾されているのでしょう。
その場合、ホストでVPN/VDI接続時にインターネットに接続できないことは、使い勝手の面でデメリットのほうが目立ってしまいます。
Hyper-V拡張セッションの利用と、any connectのVPN接続を両立させるには
ポイントは、以下の2つです
Microsoft storeからany connectアプリを入手して利用する
多くの場合会社からVPN/VDI接続用のアプリケーションが配布されていると思いますが、往々にして古いバージョンで止まっている場合があります。Hyper-Vの拡張セッションを利用する場合、Microsoft storeからUWPアプリのany connectを入手して利用します。
UWP版any connectのVPN接続の設定は、WindowsのVPN接続管理画面から設定します。[VPN接続を追加する]を押下すると、
[VPNプロバイダー]欄でAnyConnectが選択肢に表示されるようになります。
Hyper-VゲストOSにネットワークアダプターを追加する
VPN接続確立後にもホストOSからの通信を可能とするため、ゲストOSにネットワークアダプターをもう1つ追加します。
まずHyper-Vの設定から、[仮想スイッチマネージャー]を押下し、[新しい仮想ネットワークスイッチ]を押下します。
ホストOSとゲストOSの通信を可能とするものであればよいので、[内部]スイッチでよいでしょう。
仮想スイッチを追加したら、仮想マシンにも[ハードウェアの追加]からネットワークアダプターを追加し、[仮想スイッチ]で先ほど追加した[内部]接続用の仮想スイッチを指定します。
以降は、Hyper-Vやリモートデスクトップクライアントから仮想マシンに接続して、AnyConnectによるVPN接続を確立しても、仮想マシンとのセッションが切断されずに使い続けることができます。
(参考)最新のVMware Horizon Clientを利用する
古いバージョンのVMware Hoizon Clientだと、UWP版のAnyConnectで確立したVPNから、Horizonサーバーに接続できないケースがありました。
Horizonサーバーのバージョンに合わせて最新のHorizonクライアントを入手して利用することをお勧めします。
コメント