Tomato 雙 VLAN(其中一個是 VPN 隧道)

Tomato 雙 VLAN(其中一個是 VPN 隧道)

我正在努力讓我的家庭網路設定與 Tomato 一起使用兩個 Wi-Fi SSID。我的路由器是雙頻 NETGEAR NIGHTHAWK 路由器,到目前為止,Tomato 在其上運作良好,VPN 功能也是如此。唯一的缺點是,當 VPN 處於活動狀態時(當您選擇透過 Tomato 介面啟動時),它將 VPN 隧道應用於我設定的兩個 SSID。是否有某種方法可以只將 VPN 應用於這些 SSID 之一?這樣,透過更改我的無線網絡,我就可以脫離路由器上運行的 VPN 隧道。

這可能嗎?

答案1

我最近在我的家庭網絡 Tomato (shibby) v138 上實現了類似的功能。這是一個圖表: 番茄區域網路圖

在開始 VPN 設定之前,我最初在同一個 SSID 上使用 2.4GHz 和 5GHz 網絡,我們稱之為「公共」。內部網路將設備分配給範圍 192.168.1.2-254 的位址。這就是您在圖表上半部分看到的內容。

以下是我為新增透過 VPN 路由的新子網路所做的變更:

  1. 在下面基本/網路/區域網,我新增了一個名為“br1”的新橋。我給它的 IP 位址為 192.168.2.1,網路遮罩為 255.255.255.0,啟用了 DHCP,IP 範圍為 192.168。2.2-254。
  2. 在下面進階/虛擬無線,我新增了兩個新的虛擬無線介面wl0.1和wl1.1,分別用於2.4GHz和5GHz介面。兩者都分配給新網橋“LAN1 (br1)”。我給了兩個相同的新 SSID,例如「私人」。如果您願意,您也可以為他們提供與公共網路不同的密碼。
  3. 在下面VPN 隧道/OpenVPN 用戶端/基本,我設定了VPN用戶端(我的VPN提供者是Private Internet Access,所以我遵循本指南)。我還啟用了“從 WAN 啟動”,這樣它就會自動啟動。
  4. 在下面VPN 隧道/OpenVPN 用戶端/進階,我設定了「忽略重定向網關」選項,以便用戶端不會將所有內容路由到 VPN。
  5. 在下面VPN 隧道/OpenVPN 用戶端/路由策略,我檢查了“透過 VPN 重新導向”,並新增了一行類型為“來自來源 IP”且值為“192.168.2.0/24”的行,以便新子網路上的所有主機都透過 VPN 進行路由。

此時,我可以啟動 VPN 用戶端,然後拿起無線設備,連接到「專用」網路並確認我的面向互聯網的 IP 在 VPN 後面,然後連接到「公共」並串流 Netflix/Amazon Prime視訊不會出現地理限制錯誤。

現在,您可以根據需要將每個裝置設定為連接到任一 SSID。在我們家裡,為電視機提供 Netflix 串流服務的媒體串流媒體保留在公共網路上。我的手機和筆記型電腦連接到專用網路。在大多數情況下,您應該選擇其中之一 - 您不希望設備任意自動連接到其中任何一個。

選用附加功能

連線:如果您希望實體乙太網路連接埠透過 VPN 連接,您可以在下方新增新的 VLAN進階/VLAN並將其指派給新橋 (br1)。此時,如果需要,您可以將路由器上的一個或多個實體乙太網路連接埠移至安全 VLAN。我沒有,所以只有無線客戶端才能加入我的私有子網路。

內部路由:執行上述步驟後,您可能會發現公網和私網的用戶端無法相互通訊。像上面那樣設定 VPN 用戶端的路由策略會新增以下規則:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 311

tomato的防火牆腳本。這標記了源自 192.168.2.0/24 網路的每個封包,並且所有帶有標記 311 的封包都會透過 VPN 進行路由。這意味著「公共」子網路 (192.168.1.0/24) 上的任何裝置都無法透過內部網路與「私有」子網路上的裝置通信,因為雖然請求會通過,但回應會被轉移到VPN 又遺失了。就我而言,我希望能夠從專用網路上的伺服器存取檔案共享,因此我決定清除應發送到公共網路的任何內容的標記。我透過添加以下行來做到這一點:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j MARK --set-mark 0

管理/腳本/防火牆。您可以為要從專用網路轉送至路由器的任何連接埠新增類似的規則。

故障安全:也稱為“終止開關”,我添加了一些附加規則管理/腳本/防火牆其目的是防止私有網路中的任何內容進入未受保護的 WAN (vlan2)。這意味著,如果 VPN 由於某種原因出現故障,連接到專用網路的用戶端不會意外地透過未受保護的 WAN 介面進行通訊。

iptables -I FORWARD -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with icmp-host-prohibited 
iptables -I FORWARD -p tcp -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with tcp-reset

相關內容