![如何在 VMWare ESXi 上透過另一台電腦 (Windows) 上的 VPN 路由來自一台電腦 (Linux) 的所有連線?](https://rvso.com/image/1552361/%E5%A6%82%E4%BD%95%E5%9C%A8%20VMWare%20ESXi%20%E4%B8%8A%E9%80%8F%E9%81%8E%E5%8F%A6%E4%B8%80%E5%8F%B0%E9%9B%BB%E8%85%A6%20(Windows)%20%E4%B8%8A%E7%9A%84%20VPN%20%E8%B7%AF%E7%94%B1%E4%BE%86%E8%87%AA%E4%B8%80%E5%8F%B0%E9%9B%BB%E8%85%A6%20(Linux)%20%E7%9A%84%E6%89%80%E6%9C%89%E9%80%A3%E7%B7%9A%EF%BC%9F.png)
我有一個特殊的問題,一個軟體只能在 Linux 上運行,但必須透過只能在 Windows 上運行的 VPN 用戶端連接到遠端伺服器。
對於實體硬件,我假設我可以在 Linux 機器和 Windows 機器之間運行一條乙太網路電纜,並在 Windows 機器和路由器之間運行第二條乙太網路電纜。 (不知道這是否有效,但聽起來應該如此)。
如何使用兩台虛擬機器在 VMWare ESXi 虛擬機器管理程式上完成此操作?
我發現了一些可能對我有幫助的文章,但我想要一些關於此事的專業知識。
https://www.privateinternetaccess.com/forum/discussion/1389/pia-tunnel-a-virtual-machine-vpn-tunnel
https://www.privateinternetaccess.com/forum/discussion/21459/pia-and-vmware-worsktation
https://protechgurus.com/configure-lan-routing-windows-server-2016/
- https://redmondmag.com/articles/2015/04/23/windows-server-as-a-network-router.aspx
答案1
儘管我同意這是一個壞主意,但您似乎確信這是適合您情況的最佳解決方案。就我個人而言,我會收集所有不同的 VPN 用戶端。照這樣說...
首先,您需要在執行 VPN 用戶端的 Windows 電腦上啟用路由和遠端存取。您擁有的「設定區域網路路由」連結應該可以幫助您實現這一點。
然後,您需要設定一條路由,透過預期介面(VPN 適配器)引導 VPN 網路/主機的流量。如果您不知道哪些流量,可以使用預設路由來路由所有流量。在 Windows 機器上進行設定後,您需要將 Linux 機器上的預設閘道位址設定為 Windows 機器上 LAN 適配器的 IP 位址。
雖然您可以使用命令列在 Windows 上設定路由,但如果您使用 Nirsoft NetRouteView 等 GUI 工具,可能會更容易上手:
https://www.nirsoft.net/utils/network_route_view.html
確保您以管理員身份運行此命令,否則您最終會感到頭痛;)它將允許您查看/編輯/刪除現有路線並建立新路線。僅供參考,如果您有多個預設路由 (0.0.0.0),則度量值最低的路由是優先的路由。因此,您可能必須相應地調整路線的指標。
如果這是經常使用/永久的設置,您可以按原樣保留 Linux 盒子配置,並在 Windows 盒子上添加其他路由來處理各種 VPN 隧道的流量。當您將路線「持久化」時,它們將透過重新啟動來保存。當電腦重新啟動時,非持久的路由將會遺失。您也可以在設定路由時指定路由的適配器(介面)。例如,您可以為 VPN-A 和 VPN-B 設定路由,當 VPN-A 連接而 VPN-B 未連接時,VPN-B 的路由本質上將被忽略,流量將透過 VPN-A 路由。
答案2
發文者遇到的情況是需要使用VPN連接到他的多個客戶端。他從客戶那裡收到 VPN 軟體,這些軟體幾乎總是在 Windows 下使用。不幸的是,他的程式是在 Linux 上編寫和運行的。
發文者要求的解決方案是使用 Windows 虛擬機器作為 VPN 的路由器,因此在 Windows 下執行 VPN 用戶端並從 Linux 主機連接到它。
該解決方案並非在所有情況下都有效,因為許多公司都有強制使用 VPN 的壞習慣,因此連接的虛擬機器將與主機網路隔離,並且無法路由請求。 (幸運的是,沒有防火牆可以中斷虛擬機器桌面與主機上執行的 VMWare 的連線。)
一個可能的解決方案是使用 Linux 用戶端作為 VPN。大多數適用於 Linux 的 VPN 用戶端都是免費的,但即使不是,客戶端也會為產品付費,因此如果您確實堅持的話,可以為您提供 Linux 用戶端。這是迄今為止最簡單的解決方案。
第二種解決方案是反轉架構。我建議購買一台 Windows 電腦並在其上安裝各種 VPN 用戶端。然後可以將 Linux 程式安裝在將使用主機網路的 Linux VM 中。該解決方案甚至適用於強制 VPN。
第三種解決方案依賴於這樣一個事實:現代虛擬機器管理程序現在支援嵌入式虛擬機器管理程序,這是在虛擬機器中運行的虛擬機器管理程序。這種架構有點牽強,涉及到您的 Linux 託管 Windows VM,其嵌入式虛擬機器管理程式運行包含您的產品的嵌入式 Linux VM。即使對於強制 VPN,該解決方案也適用,但您必須權衡其優缺點。它可能會迫使您使用目前正在使用的產品之外的另一種 VMWare 產品。我承認我不知道這個解決方案是否真的可行。