在路由器上使用靜態路由繞過 VPN 動態 IP?

在路由器上使用靜態路由繞過 VPN 動態 IP?

我已經搜尋過論壇,但由於網路不是我的專業領域,我不知道這個問題是否已明確回答,所以我希望這不是重複的。

我目前有一台 TL-WR841N 路由器,配置了 VPN 提供者提供的 WAN 動態 IP 位址。目前,我在路由器中設定的 IP 是允許從 Netflix 進行串流媒體播放的 IP。但是,這會阻止 Amazon Prime Video 運作。

先前,我聯繫了 TP-Link,詢問是否有辦法允許某些裝置繞過 VPN,轉而使用我的真實 IP 位址來存取串流內容。具體來說,我想告訴路由器除了遊戲機之外我的所有裝置都應該透過 VPN 連線。有人告訴我這是不可能的。所以我做了一些研究,一位朋友提到了一些關於靜態路由的內容,我的路由器非常有能力做到這一點。

據我了解,靜態路由將允許目標 IP 位址繞過 VPN,如果是這樣的話,它適合我的情況,因為我只想在啟動 VPN 時能夠存取所有串流媒體。我需要靜態路由嗎?亞馬遜發布了其 IP 範圍列表,但數量超過 1000 個。如果靜態路由確實是答案,我是否需要為所有已發布的 IP 新增一個案例?或者有更好的方法來實現我所需要的嗎?

答案1

TL-WR841 只是一台具有 TP-Link 提供的 UI 的 Linux 電腦。

如果您在其上使用 VPN,它將有兩個網路介面(一個用於 VPN,一個用於 ISP 的 WAN)。 Linux有路由規則,可以依照目的IP位址決定使用哪個介面(也就是所謂的「靜態路由」)。 Linux還有一個東西叫做策略路由您可以在其中根據來源位址進行路由。

因此,如果您將路由器設定為透過 DHCP(有時稱為「靜態 DHCP」)始終為所有設備指派相同的 IP 位址,則可以使用該 IP 位址來識別設備,並進行對應的路由。

現在的問題是如何設定。如果 TP-Link 說您無法透過裝置進行路由,他們可能沒有用於策略路由的 UI。如果您確實有「靜態路線」的使用者介面,當然可以按目的地進行路線。

另一種方法是使用不同的韌體(例如 OpenWRT)重新刷新路由器。您必須小心一點,TL-WR841N 基於不同版本的非常不同的硬件,對於某些類型(主要是較舊的硬體)它可以工作,對於某些類型它可以工作。

一旦您擁有設備的完全存取權限,您就可以配置您想要的一切,包括按來源位址進行政策路由。不過,您需要熟悉 Linux 命令列才能執行此操作。

還有其他韌體變體,例如 DD-WRT(基於 OpenWRT,相同的硬體限制),具有更用戶友好的 UI。這裡是策略路由的 DD-WRT wiki 頁面。如果我理解正確的話,它確實有一些 UI 支持,但您可能仍然需要為 VPN 編寫腳本(但我沒有在 DD-WRT 上這樣做,所以我的解釋可能是錯誤的)。

可以將路由器重新刷新到原始 TP-Link 韌體(在第一次刷新之前下載或儲存),以便您進行實驗。

編輯

對於靜態路由:我不知道TP-Link UI是什麼樣子的,但一般來說,您需要目標IP位址的集合,例如與Amazon Prime Video相關的所有IP位址(可以涉及多個伺服器,並且他們可以使用多個IP 位址進行負載平衡)。這些可能是單一位址,在這種情況下,您需要分別為 /32 的網路遮罩。 255.255.255.255。或者可能是完整的 IP 範圍,例如 Amazon 公用 IP 範圍,在這種情況下,您可以使用不同的網路遮罩將它們分組在一起。

網關(下一躍)將是您要路由的連線(WAN 或 VPN)的閘道。查找介面應該會為您提供網關。設定連線時,WAN 和 VPN 的網關可能會發生變化,因此可能很難靜態分配此網關。

答案2

以下文章提供了使用標準韌體實現目標的詳細過程:
如何將 PS3 或 PS4 放入 DMZ

我總結如下:

  • 為控制台指定一個靜態 IP 位址設定 > 網路設定。該位址應該在您的本地網路範圍內,可能類似於192.168.0.X,但請確保它不在 DHCP 位址範圍內。

  • 以管理員身分登入路由器,然後搜尋名為 的選項DMZ。輸入您先前為控制台提供的 IP 位址作為 DMZ 的 IP 位址。

  • 在控制台上,再次在網路設定中選擇網路連線測試
    如果成功,您的 NAT 類型可能會顯示「2」。

這應該會將您的控制台直接連接到互聯網,實際上繞過 VPN。它的成功也取決於您的路由器如何處理同時指定的 VPN 和 DMZ。

欲了解更多詳情,請參閱上面的文章。

答案3

這是一組無序的答案:

我遇到的問題是它確實允許靜態路由。我只是不確定如何正確設定(例如,目標 IP 是什麼、子網路遮罩是什麼、網關是什麼?)。

在路由中,目標 IP + 遮罩(或 IP/前綴長度)定義了您想要到達的內容、特定位址或範圍。網關定義如何您將到達它,即將資料包傳遞到的「下一跳」。

您的路由器將在某處有一個頁面顯示所有內容積極的路線(靜態和動態)。其中您將看到 0.0.0.0/0(掩碼 0.0.0.0)的路由,也稱為「預設」路由,因為它與任何位址相符。這是您的路由器通常用於存取 Internet 的路由,其網關/下一跳將是屬於您的 ISP 的某個路由器位址。

啟動 VPN 連線將新增更多路由 – 當 VPN 用於 Internet 存取時,它將新增一條第二0.0.0.0/0 路由,但這次使用 VPN 伺服器的位址作為網關(或根本沒有位址,只有介面名稱)。

如果同一個封包符合多個路由,則具有最長前綴(或網路遮罩中最多「1」位元)的路由將具有最高優先權。 (例如,遮罩=255.255.255.0 路由將優先於遮罩=0.0.0.0 路由。)如果存在多個具有相同目的地+遮罩的路由,則使用「metric」參數設定優先權。

因此,當 VPN 處於活動狀態時,您有兩個 0.0.0.0/0 的「預設」路由,但 VPN 路由具有更高的優先權(更低的度量),因此所有 Internet 存取都會透過 VPN。要針對特定目的地覆寫它,您需要新增一條帶有該目的地的新路由,並從 ISP 的主要預設路由複製網關參數。

具體來說,我想告訴路由器除了遊戲機之外我的所有裝置都應該透過 VPN 連線。有人告訴我這是不可能的。

這對於常規 IPv4 路由來說確實是不可能的。

(儘管在 Linux 上將會可以使用常規 IPv6 路由,因為 IPv6 路由還可以在來源上匹配,而不僅僅是目的地。不幸的是,這並未針對 IPv4 實現,而且無論如何您都不會在 TP-Link 的設定畫面中找到它。

然而,@dirkt 提到的「策略路由」功能是可能的。策略路由插入一個額外的步驟常規路由 – 它允許您建立多個獨立的路由表並定義何時使用哪個表的規則。

例如,你可以定義來自遊戲機的資料包將使用表 1(其中包含常規 ISP 的預設路由),來自其他裝置的資料包將使用表 2(其中包含 VPN 的預設路由)。

亞馬遜發布了其 IP 範圍列表,但數量超過 1000 個。如果靜態路由確實是答案,我是否需要為所有已發布的 IP 新增一個案例?

是的,使用標準路由,您需要列出所有目的地。

策略路由改變了這種情況,因為它允許設備根據其他參數(例如來源位址或正在使用的協定/連接埠)做出路由決策。

相關內容