Routing

OpenVPN 設置幫助 - 路由或橋接?

  • December 27, 2016

這是一個關於是否使用橋接或路由 OpenVPN 設置,以及如何設置連接的問題。

TLDR:

  • 一個主站點,多個衛星站點。所有站點都在同一個子網上。

    • 如果使用橋接模式,如何防止 VPN 上不需要的流量(頻寬/數據使用受到限制)。
    • 如果使用路由模式,如何將單個 IP 地址(不是子網)路由到特定的 VPN 端點?

背景:主題是一個污水處理廠,有幾個(3+)個遠端泵站。總部執行我們的 SCADA 系統,並擁有多個 PLC 和工作站。

每個遠端泵站都有一個或多個 PLC/PanelView 單元,目前所有遠端站點都利用 150MHz 無線電信號將遙測數據發送回主要位置。

由於無線電信號質量差和頻寬限制,我們希望將所有站點切換為使用 4G 蜂窩數據調製解調器。

為了安全和簡單,我認為最好的方法是在每個位置設置一個支持 OpenVPN 的路由器(目前使用執行 DD-WRT 最新版本的 Linksys E1200)並將它們配置為連接到總部的 OpenVPN 伺服器。

但是,有一個問題:所有遠端站點都使用與主站點相同的子網。這是由安裝收音機的供應商設置的,顯然是為了“讓事情變得簡單”,但這只是讓我們頭疼。我們無法更改 IP 地址映射,因為我們沒有針對某些設備的程式軟體,而且還需要在每個 PLC 中重新程式。所以我們被困在同一個子網上的所有站點。(192.168.100.x)

我的問題是:我應該為此設置使用路由還是橋接模式?

如果我使用橋接模式,我不希望 OpenVPN 橋接通過任何多餘的流量(廣播等),因為蜂窩調製解調器每月的數據傳輸限額有限。

如果我使用路由模式,如何強制 OpenVPN 僅路由適用於遠端站點的特定 IP 地址?

例如:主站點:使用 192.168.100.1 - 30,也是 40+

遠端站點 1:192.168.100.32-37 遠端站點 2:192.168.1.31 遠端站點 3:192.168.100.110-120、140

所以我們不能基於子網路由 - 但必須將單個 IP 路由到各個位置。

我將不勝感激有關此設置的任何建議。

我嘗試了使用具有 255.255.255.255 子網遮罩的指定路由的路由模式,但無法讓流量在一個站點和主要位置之間通過。OpenVPN 連接已成功建立,但無法在它們之間 ping。

您需要使用橋接設置(除非您能夠手動修改網路上所有主機/設備上的路由表)。

在正常設置中,指定在同一本地子網中的 IP 地址不會通過預設網關路由,因為該地址在介面上可直接訪問。ARP 將用於獲取目標主機的 MAC 地址,並且 IP 數據報將使用具有此 MAC 地址的乙太網幀直接發送到網路第 2 層上的目標。

這意味著路由 OpenVPN 設置不適用於您的問題。VPN 網關甚至不會“看到”任何流量。只有滿足以下所有條件,它才會發揮作用:

  • a) vpn 網關被定義為所有主機/設備上的預設網關
  • b) 目標 IP 地址在另一個子網上
  • c) 目的 IP 地址與到另一個網關的更具體的靜態路由不匹配

雖然阻止廣播是可能的,但如果所有廣播都被阻止,它將破壞橋接網路,因為橋接網路依賴於廣播。在乙太網網路上,ARP 用於廣播網路中端點的 MAC 地址。

阻止某些廣播iptables帶有模組 physdev並且可以pkttype使用。

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