VirtualBox NAT の背後でゲスト VPN がつながらない理由
ゲストのブラウザーは動くのに VPN は動きません。外側のプロトコルが NAT の通すものに合っていなければならないからです。まずやり取りを、次にアダプターのモードを確認します。
仮想マシン内のブラウザーは動作するのに、同じゲスト上の VPN クライアントはデータを運べません。ゲストに接続性があるのは明らかですから、障害は VPN の外側プロトコルが求めるものと、仮想 NAT が通すものの間にあります。結果を決める条件は三つです。どのプロセスが VPN を所有しているか、外側のやり取りが回線上でどう見えるか、アダプターのモードが思い込みどおりかどうかです。自分が変えられる条件を名指しすることが、決定のすべてです。
ネットワークを責める前に VPN のプロセスを特定する
まず VPN がゲスト内で動くのかホスト上で動くのかを決めます。二つの配置は違う形で失敗するからです。ゲスト内のクライアントは、ゲストのアダプターとその背後の変換を通して独自の外側接続を組み立てます。ホストの VPN はホストとハイパーバイザーのポリシーに従ってゲストの通信を捕まえますが、これは独自の規則を持つ別の捕捉点です。両方が同時に動いて証拠を混ぜることがあるので、どちらかに触れる前に、この通信を運ぶべきなのはどちらかを特定します。
何かを変える前に、今のゲストのアダプターモードを書き留めます。その一つの値が、この後の大半を説明します。後で誰もが最初に尋ねるのもそこです。
外側のやり取りが互換性を決める
VirtualBox のネットワークガイドは、ここで重要な NAT の制限を挙げています。TCP と UDP 以外のプロトコルは通さず、GRE は非対応とされ、PPTP は影響を受ける例として示されています。PPTP は制御のやり取りに TCP、データに GRE を使うため、制御接続は成功してもデータ経路は同じ境界を越えられません。これは二つの別の証拠であり、通信の運搬について語っているのは一方だけです。ファイアウォール規則で TCP ポート 47 を許可することは、IP プロトコル 47 を許可することと同じではなく、この二つはしばしば混同されます。
この制限は、NAT という言葉を使うあらゆる機器ではなく、この NAT の配置に結び付けておきます。物理ルーターは GRE を平然と通すのに、仮想 NAT はそれを落とすことがあり、別のハイパーバイザーは何を転送するかを自分で決めます。組織が TCP か UDP の内側で承認済みの転送手段を用意しているなら、その経路にはその対応クライアントとプロファイルを使います。互換性はいくつもある要件の一つであり、サーバーの信頼もアカウントの許可も機能するプライベート経路も確立しません。
ブリッジが実際に変えるもの
ブリッジは、ゲストの MAC アドレスを変換の背後に隠すのではなく、物理セグメントに渡します。するとゲストはそのセグメントにサービスする任意の DHCP サーバーからアドレスを取り、そのアドレスに対して ARP に応答し、上流のスイッチからはもう一つのポートとして見えます。これが仮想の変換経路を取り除くわけで、古い手順がブリッジを勧める理由もまさにそこにあります。同時にほかの三つも変わります。アドレス指定はハイパーバイザーではなくローカルセグメントから来るようになり、露出とはゲストがそのセグメントに見えることであり、受け入れはスイッチのポートとそのポリシー次第です。どれも変更を断る理由になり得ますが、VPN プロトコルの話ではありません。
ブリッジングは不足しているプラグインを入れたり、入手できない秘密エージェントを供給したり、認証の拒否を直したりはしません。時代遅れのプロトコルを良い選択に変えることもなく、運用者に保守された代替があるなら、決定はハイパーバイザーを変えることではなくそれを使うことです。ポート転送はまったく別の第三の役割で、内向きのサービスを公開するだけで、外向きクライアントの外側プロトコルには何もしません。
二つのトンネル、二つの証拠の筋
ゲスト VPN は、内側のアドレスやプライベート経路が問題になる前に、ゲストのインターフェースから相手までの使える経路を必要とします。ホスト VPN がある場合、それは独自のポリシーでその外側のやり取りを中継したり遮断したりすることがあり、ゲストの内側トンネルは外側が成功してから始まります。どちらの層の到達範囲も、接続済みのアイコン一つやホストのブラウザーの公開アドレスからは読み取れません。
最後のエラーではなく最初のエラーを残します。最も早い失敗が層を名指しするからです。対応済みのネットワーク配置を一度に一つだけ変え、同じゲストプロファイルと同じ資格情報を使います。そうして初めて比較が意味を持ちます。失敗から、壊れた段階を決めます。ローカル統合、転送、認証、トンネル確立後のリソースアクセスのどれかです。それぞれ担当が違い、ハイパーバイザーの問題は一つだけです。
実際に妨げているのはどの条件か
ここまでで決定は、答えの異なる三つの問いに絞られます。外側プロトコルが TCP と UDP の外にあるなら、制約は NAT モードであり、進む道はブリッジか承認済みの TCP/UDP 転送です。外側のやり取りは完了するのにデータ経路が通らないなら、制約は二つ目の証拠で見たものと同じです。トンネルは上がるのにリソースが応答しないなら、問題はすでにハイパーバイザーを越えてルーティングかポリシーに移っています。
答えはアダプターモードと並べて書き留めます。そうしないと次の人が同じ午後を繰り返します。修正の後はゲスト内で実際のアプリケーションと名前解決を試し、それから再接続して失敗時のポリシーを確かめます。トンネル越しに動くウェブページは、ウェブの経路が動くことだけを示します。それはその瞬間に感じるより小さな主張です。