ゲストとMacを、細い扉一つでつながれた二つの別ネットワークとして扱います。仮想マシンはVPNクライアントと独自のインターネット経路を保ち、Macはホスト専用アダプターと一つの転送ポートだけでちょうど一つのサービスに届きます。ほかの何も通してはいけません。後の手順は前の手順が保たれている前提なので、手順は順番に進め、どれかが失敗したら止めてください。

何かを変える前に二つの経路を記録する

ゲストでは、ipconfig /allがVPNの通信を運ぶアダプターと、仮想ネットワークのDHCPから受け取ったアドレスを表示します。Macでは、ハイパーバイザーがそのセグメント用に作った仮想インターフェースを記録します(VMware Fusionではホスト専用デバイスは通常vmnet1、Parallelsは独自の名前です)。仮想ネットワークを作り直すとホスト専用サブネットは頻繁に再割り当てされるので、そこで誰がアドレスを配るのかを確認し、すべて書き留めてください。仮想マシンのネットワークモードは、記憶ではなくハイパーバイザーで確認します。インターネット側アダプターには共有またはNATモード、Mac側アダプターにはホスト専用モードという構成が、これらの手順の前提です。

二つのアダプター、二つの目的です。一つのアダプターがMacとインターネットの両方を担うように混ぜると、細い扉がルーティングされた経路になります。

まずゲスト自身のVPNを確認する

Windowsの中でクライアントを起動し、ベンダーが文書化しているどのテストでもよいので、終了することを確認します。壊れたトンネルの上に重なった転送の問題は原因が二つあり、役に立つエラーメッセージを出さないので、ゲストだけでプライベートサービスに届くまで先へ進まないでください。ゲストの内側からサービスが解決するプライベートアドレスを記録します。転送ルールが名指しすべきは、そのアドレスだけです。

クライアントがフルトンネルを押し通す場合、ホスト専用アダプターは依然としてローカルトラフィックを運びますが、プライベートな宛先がトンネルに取り込まれてアドレスが変わる状態になっていないか確認してください。分割トンネルのプロファイルにすると簡単になり、VPNの所有者に頼む価値があります。

ホスト専用側を追加し、単独でテストする

ゲストにホスト専用アダプターを接続し、ほかが使っていないサブネットで静的アドレスを与え、Macからpingできることを確認します。そのアドレスは両方を生き延びる必要があるので、VPNを接続した状態と切断した状態の両方でテストしてください。トンネルが上がっている間だけ応答するゲストには、まだ見つけていないルーティングの問題があります。

Windowsは新しいアダプターをパブリックネットワークとして分類することがあり、その場合デフォルトで受信トラフィックがブロックされます。ほかの何かをデバッグする前にプロファイルを設定してください。

サブネットではなく、ポートを一つ転送する

一般的なIP転送よりも、転送するポートを一つに絞るほうがよいです。Windowsにはnetsh interface portproxyがあり、待ち受けポートを宛先のホストとポートへ転送しますが、IP Helperサービスが動いている必要があります。

listenaddressは常にホスト専用アドレスに設定します。省略するとすべてのインターフェースにバインドされ、仮想マシンがたまたま乗っているどのネットワークにもサービスが晒されます。ホスト専用インターフェースとその一つのポートに限定したファイアウォール規則を追加し、待ち受けと許可を一致させてください。プロキシを理解するアプリケーションなら、接続を終端しMacへの戻り経路を必要としない小さなプロキシをゲストの内側に置くほうがよい場合もあります。構造上、閉じたまま失敗するので、プロトコルが許すならプロキシを選んでください。

検証してから切り戻しを書く

Macからプライベート名を解決し、目的の操作を実行し、そのあとゲストのVPNを止めて、操作が黙って元に戻るのではなく失敗することを確認します。最後の確認が、経路が自分で作ったものであることを証明します。ゲートウェイがどの識別子を見ているのか、誰が転送を使ってよいのかを記録します。

切り戻しは、portproxyのエントリ削除、ファイアウォール規則の削除、ホスト専用アダプターの取り外しという三つの手順で書きます。必要になる前に一度実行し、そのあとゲスト自身のVPNがまだ動くことを確認します。共有の転送点はアクセスを一つのゲストに集中させるので、組織が各Macの個別登録を求めるなら、ここで止めて代わりにそのモデルを使ってください。次の人がまた探し直したくはないので、いずれにせよアドレスとポートは変更記録に入れてください。

関連記事