这是一个关于是否使用桥接或路由OpenVPN设置,以及如何build立连接的问题。
TLDR:
背景:这个主题是一个有多个(3+)远程泵站的污水处理厂。 主要办公室运行我们的SCADA系统,并有多个PLC和工作站。
每个远程泵站都有一个或多个PLC / PanelView单元,目前所有的远程站点都利用150MHz的无线电信号将遥测数据发送回主要位置。
由于无线电信号质量差和带宽限制,我们希望切换所有站点来使用4G蜂窝数据调制解调器。
为了安全和简单,我认为最好的方法是在每个位置(目前使用运行DD-WRT最新版本的Linksys E1200)build立一个支持OpenVPN的路由器,并configuration它们连接到总部的OpenVPN服务器。
但是,有一个问题:所有远程站点使用与主站点相同的子网。 这是安装收音机的供应商设置的,显然是为了“保持简单”,但这只是我们头痛的问题。 我们不能更改IP地址映射,因为我们没有用于某些设备的编程软件,而且还需要在每个PLC中重新编程。 所以我们坚持所有的网站在同一个子网。 (192.168.100.X)
我的问题是:我应该使用路由或桥接模式进行此设置?
如果我使用桥接模式,我不希望OpenVPN网桥通过任何多余的stream量(广播等),因为蜂窝调制解调器有限的每月数据传输津贴。
如果我使用路由模式,如何强制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路由到各个位置。
我将不胜感激这个设置的任何build议。
我尝试使用具有255.255.255.255子网掩码的指定路由的路由模式,但无法获取一个站点与主要位置之间的通信。 OpenVPN连接已成功build立,但无法ping通。
您需要使用桥接设置(除非您能够手动修改networking上所有主机/设备上的路由表)。
在正常的设置中,注定在同一本地子网中的IP地址不会通过默认网关进行路由,因为该地址在接口上可直接访问。 ARP将用于获取目标主机的MAC地址,IP数据报将直接使用具有此MAC地址的以太网帧发送到networking层2上的目的地。
这意味着一个路由的OpenVPN安装程序将无法解决您的问题。 VPN网关甚至不会“看到”任何stream量。 只有满足以下所有条件才能起作用:
虽然阻止广播是可能的,如果所有的广播都被阻塞,它将会破坏桥接networking,因为桥接networking依靠广播。 在以太网networking上,ARP用于广播networking中端点的MAC地址。
要阻止某些广播 ,可以使用带有模块 physdev
和pkttype
iptables
。