當 VPN 連接到本機網路時,VirtualBox Vagrant 無法存取

當 VPN 連接到本機網路時,VirtualBox Vagrant 無法存取

我有一個 Vagrant 配置的虛擬機器在我的家庭網路上的 Windows 10 電腦上運行。我已成功配置 Vagrant 公共橋接網路設置,以便我可以從該網路上的其他電腦(而不僅僅是主機)存取該來賓虛擬機。例如,我在筆記型電腦上工作,並且可以毫無問題地透過 SSH 連線到達賓虛擬機 IP。

這一切都很有效,直到我嘗試從網路外部存取它時執行相同的操作。我的路由器支援 VPN 連接,因此我對其進行了設置,並且能夠使用私有 IP 存取網路上的所有其他設備(例如,我在虛擬機器外部運行的某些本地網路伺服器是可存取的)。我能夠存取 Windows 10 主機,但當我嘗試存取來賓虛擬機器 IP 時,它掛起。

我認為 VPN 可能會將我置於一個單獨的子網路中(例如,來賓 VM IP 是192.168.29.125,當在 VPN 上時,我的筆記型電腦會被分配類似的內容192.168.0.35)。有沒有人知道如何允許網路上的設備透過 VPN 連接存取橋接網路來賓虛擬機器?我能夠存取主機,但無法存取該主機上執行的來賓虛擬機器。

相關 Vagrant 文件

    # 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 的 IP 類似於 192.168.29.130

我之前嘗試使用 VPN 並在這些連接埠上連接到 192.168.29.130,但它只是超時。我添加瞭如下行:

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

然後,我將連接定向到主機 PC,然後主機將這些連接轉發到虛擬機器。因此,它不會轉發到 192.168.29.130ssh [email protected]ssh [email protected]

相關內容