Networking

設置通過 vpn 路由本地流量的伺服器,同時仍然能夠直接訪問網際網路

  • March 7, 2016

目標是設置一個本地伺服器,通過不受控制的遠端 vpn 服務路由本地流量,同時仍然能夠直接訪問網際網路(不是通過 vpn 隧道)並通過該直接連接提供服務。

它應該看起來像這樣:

在此處輸入圖像描述

注意:在本地伺服器和網際網路之間還有另一個帶調製解調器的路由器。

使此網路設置正常工作的最簡單(最好?)方法是什麼?

我打算通過簡單的 ip 轉發設置本地路由器和本地伺服器之間的連接。

現在的問題是,只要我將伺服器的 openvpn 客戶端連接到遠端服務,所有伺服器的流量都會通過 vpn 隧道路由,因此沒有直接的網際網路連接可用。我的第一個想法是設置一個虛擬機(lxc 容器或其他東西)並在 vm 中執行 vpn 客戶端和本地網路的東西。以便 vm 接收來自本地路由器的所有傳入流量並通過 vpn 隧道傳輸。據我了解,這不應該影響物理伺服器的網路連接,應該允許它向網際網路提供服務。在我開始嘗試設置之前(我在網路方面沒有太多經驗),有沒有更簡單或更好的方法來做到這一點?我會感謝每一個建議。

編輯:假設連接到網際網路的介面是 eth0,連接到本地路由器的介面是 eth1。另一個想法是創建一個虛擬介面 eth0:0 並將其指定為 openvpn 的本地端點,然後強制任何來自 eth1 的流量通過 eth0:0。不過,我不確定如何強制流量通過 eth0:0(可能通過添加路由)。

您需要修改伺服器上的路由表。

您沒有說它是 linux 還是 windows 伺服器,但您提到 lxc 建議使用 linux。

使用 netstat 命令列出您的路由表(命令:’netstat -r’ 適用於幾乎所有作業系統)

您可能會看到有一條預設路由(到 0.0.0.0/0)通過 VPN 提供程序推送所有流量,該 VPN 提供程序由 vpn 軟體在啟動時添加。您可以使用 route 命令(路由添加和路由刪除)刪除此路由並添加您自己的路由,以便僅通過 VPN 推送選定的流量。

引用自:https://serverfault.com/questions/547378