
私の自宅ネットワーク上の 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]