ローカルネットワークにVPN接続するとVirtualBox Vagrantにアクセスできなくなる

ローカルネットワークにVPN接続するとVirtualBox Vagrantにアクセスできなくなる

私の自宅ネットワーク上の Windows 10 マシンで Vagrant 構成の VM を実行しています。Vagrant パブリック ブリッジ ネットワーク設定は正常に構成されているため、ホストだけでなく、そのネットワーク上の他のマシンからそのゲスト VM にアクセスできます。たとえば、ラップトップで作業していても、問題なくゲスト VM IP に SSH 接続できます。

これはすべて、ネットワークの外部から同じことにアクセスしようとするまで、うまく機能します。ルーターは VPN 接続をサポートしているので、それを設定して、プライベート IP を使用してネットワーク上の他のすべてのデバイスにアクセスできます (たとえば、VM の外部で実行しているローカル Web サーバーにアクセスできます)。Windows 10 ホスト マシンにはアクセスできますが、ゲスト VM IP にアクセスしようとするとハングします。

VPN によって別のサブネットに配置されている可能性があります (たとえば、ゲスト VM の IP が で192.168.29.125、VPN 上ではラップトップに のようなものが割り当てられます192.168.0.35)。VPN 接続を介してネットワーク上にあるデバイスがブリッジ ネットワークのゲスト VM にアクセスできるようにする方法について、何かアイデアをお持ちの方はいらっしゃいますか? ホスト マシンにはアクセスできますが、そのホストで実行されているゲスト VM にはアクセスできません。

関連する Vagrantfile

    # Set up shared folders for local syncing
    override.vm.network 'private_network', :ip => IP_ADDRESS[:rails]

    # Windows and accessible on the network
    override.vm.network 'public_network'

答え1

他にもこの問題に気付いた人がいたら、私は最終的に、ホストに接続を誘導し、Vagrant ファイルでポート転送を有効にすることでこの問題を解決しました。

たとえば、SSH とアプリの SSL ポート (22 と 3443) を開きたいと考えました。

私のホストIPは192.168.29.125のような感じでした

私のVagrantは192.168.29.130のようなIPを取得しました

以前、これらのポートで 192.168.29.130 に VPN 接続しようとしましたが、タイムアウトしてしまいました。次のような行を追加しました。

config.vm.network "forwarded_port", guest: 22, host: 22
config.vm.network "forwarded_port", guest: 3443, host: 3443

次に、接続をホストPCに向け、その接続をVMに転送します。つまり、192.168.29.130に転送されるのではなく、ssh [email protected]ssh [email protected]

関連情報