如何透過 VPN 連接到 VirtualBox 客戶作業系統?

如何透過 VPN 連接到 VirtualBox 客戶作業系統?

我有一個 Oracle Linux 來賓,在 Windows 7 主機上的 VirtualBox 中執行 Web 伺服器。我需要設定網路以便我可以做三件事:

  1. 主機可以透過瀏覽器和 ssh 連接到訪客
  2. 訪客可以透過主機的 VPN 與內部網路上的其他伺服器通信
  3. 客人可以使用外部互聯網

我閱讀了一些答案並嘗試了一些配置,結果如下:

橋接

  1. 主人無法聯絡客人
  2. 訪客無法透過 VPN 查看
  3. 客人可以上網

網路位址轉換

  1. 主人無法聯絡客人
  2. 訪客可以透過VPN看到
  3. 客人無法上網

僅主機

3個條件全部失敗。

NAT-網絡

  1. 主人無法聯絡客人
  2. 訪客可以透過VPN看到
  3. 客人無法上網

我還應該指出,有時主機透過 VPN 連接,而其他時候則只是直接插入公司網路。當直接插入時,橋接適配器滿足所有 3 個條件。理想情況下,無論是 VPN 還是直接連接,都會有一個配置滿足所有 3 個條件。

答案1

我有精確的同樣的問題,並解決了它,所以我很樂意詳細解釋問題和解決方案。

不涉及VPN

了解滿足您的要求所需的配置非常重要沒有涉及VPN。此外,此資訊假設主機和來賓上都沒有軟體防火牆幹擾。

如果沒有 VPN,通常可以透過在虛擬機器配置中建立兩個網路介面卡來解決此問題。

第一個適配器必須設定為NAT模式,使來賓能夠透過主機的網路介面存取網路資源(包括 Internet)。

適配器 1:NAT

第二個適配器必須設定為Host-only,以啟用主機和來賓之間的雙向通訊。

此適配器的設定比第一個適配器稍微複雜一些,因為它需要修改 VirtualBox 的全域網路首選項才能配置僅主機適配器(注意:這需要管理員權限)。

在 VirtualBox 中,轉到File -> Preferences -> Network.按一下Host-only Networks選項卡,然後按一下小+圖示新增適配器。系統將提示您提升 VirtualBox 的權限。

Adapter必須填寫該選項卡;它應該看起來像這樣(忽略標記為 的適配器#2;它用於不相關的事情):

網路偏好 1

伺服器選項卡上的值DHCP是可選的。如果您打算在來賓網路設定中硬編碼此適配器的 IP 位址,則不需要這些值。另一方面,如果您打算使用 DHCP,則這些值可能如下所示:

網路偏好 2

配置 VirtualBox 的最後一步是返回虛擬機器的網路配置並新增第二個適配器,該適配器引用我們剛剛建立的僅主機適配器:

適配器 2:僅主機

現在,在來賓作業系統中,必須將網路設定為使用這兩個網路介面。

在 Debian 或 Ubuntu GNU/Linux 上,配置非常簡單,只需修改/etc/network/interfaces為如下所示:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# The secondary network interface
auto eth1
iface eth1 inet static
     address 192.168.56.101
     netmask 255.255.255.0

(純粹主義者可能更喜歡使用/etc/network/interfaces.d目錄,但這超出了本解釋的範圍)

重新啟動來賓的網路服務,或者更簡單地說,重新啟動整個來賓虛擬機,一切都應該「正常運作」。

此時,應該能夠對來賓虛擬機器執行 ping 操作192.168.56.101並收到回應(前提是軟體防火牆沒有乾擾)。

同樣,人們應該能夠 ping 通位於 的主機10.0.2.2。這個IP位址似乎被「硬編碼」到VirtualBox的NAT實作中,或至少是透過一些不明顯的配置指令指定的,並且關於其來源的可用資訊很少。但是,唉,「它確實有效」。

鑑於此配置,您問題中概述的所有三個條件都已滿足。

輸入:VPN

但是,問題就在這裡。引入 VPN 會導致出現問題(取決於特定 VPN 及其配置)。

現代 VPN 能夠分割隧道,這是上述 VirtualBox 配置根據您的三個要求運行所必需的。出於(良好的)安全原因,分割隧道通常被禁用,這正是您(和我的)案例中的問題。

當您連接到VPN 時,VPN 用戶端(在我的例子中為Cisco AnyConnect 安全地行動用戶端,3.1.02026)檢查主機的路由表,記住它們,然後使用通常來自某些集中的值來覆蓋它們。

command.exe您可以透過開啟(在 Windows 上)自行檢查路由表:

C:\>route print

在連接到 VPN 之前,路由表包含允許此 VirtualBox 配置正常運作的關鍵條目。連接到 VPN 會導致這些條目被刪除,從而阻止主機和訪客之間的通訊。

(還有許多其他條目,我在這裡省略了,因為它們與此行為的根本原因無關。)

連接 VPN 之前:

     192.168.56.0    255.255.255.0         On-link      192.168.56.1    266
     192.168.56.1  255.255.255.255         On-link      192.168.56.1    266
   192.168.56.255  255.255.255.255         On-link      192.168.56.1    266
        224.0.0.0        240.0.0.0         On-link      192.168.56.1    266
  255.255.255.255  255.255.255.255         On-link      192.168.56.1    266

連接VPN後:

     192.168.56.1  255.255.255.255         On-link      192.168.56.1    266
        224.0.0.0        240.0.0.0         On-link      192.168.56.1    266
  255.255.255.255  255.255.255.255         On-link      192.168.56.1    266

VPN 用戶端刪除以下行:

     192.168.56.0    255.255.255.0         On-link      192.168.56.1    266
   192.168.56.255  255.255.255.255         On-link      192.168.56.1    266

如果沒有最後兩個條目,主機和訪客將無法通信,而這正是在 VPN 配置中停用分割隧道時的預期行為。

通常,這兩個命令將恢復這些路由:

C:\>route ADD 192.168.56.0 MASK 255.255.255.0 192.168.56.1 METRIC 266
C:\>route ADD 192.168.56.255 MASK 255.255.255.255 192.168.56.1 METRIC 266

但 VPN 用戶端仍然保持警惕:它攔截修改路由表的嘗試。我的客戶似乎允許第二個條目,但不允許第一個條目。 (它可能會定期鋪平兩者;我沒有對此進行測試。)

如果您的特定 VPN 及其附帶配置允許啟用分割隧道,它通常是這樣打開的:

Cisco VPN 用戶端:允許存取 LAN 資源

與 VPN 斷開連線後,行為良好的 VPN 用戶端將恢復連線之前的路由表。我的 VPN 用戶端似乎可以可靠地執行此操作,這是有益的,因為這意味著當我連接到 VPN 或從 VPN 中斷開連接時,不需要重新啟動來賓虛擬機器。在這種情況下,虛擬機器的輔助適配器會被重置,但它會自動且透明地重新取得其 IP 位址,幾乎立即恢復主機和來賓之間的通訊。更好的是,主機和來賓之間的 NFS 安裝(我使用的是 CIFS 安裝)在 VPN 連接/斷開操作中保持連接。

萬一您的 VPN 允許分割隧道,啟用它可能是一個簡單的問題,在這種情況下,我很想聽聽您是否「一切正常」。

答案2

我如何在來賓 Linux 電腦中使用 Windows 主機 VPN

1-) 開啟您的 VPN 設定。指定一些本機連接埠號碼。

VPN 設定

2-) 開啟您的虛擬機器設定。確保網路連接到 NAT。然後點擊高級和連接埠轉發

在此輸入影像描述

3-) 按一下新增規則並輸入您在 VPN 中指定的相同連接埠號

連接埠轉送

4-) 啟動您的虛擬機器。前往您的網路設定。選擇手動並在IP位址和我們先前指定的連接埠上輸入10.0.2.2(預設virtualbox NAT網關)。

Linux網路設定

5-) 開啟 Firefox 並造訪 whoer.net 並檢查您的 VPN 是否正常運作。全做完了

是誰

相關內容