选择性路由:如何在 Ubuntu Server 16.04.4 LTS 中通过 OpenVPN 路由特定端口的流量

选择性路由:如何在 Ubuntu Server 16.04.4 LTS 中通过 OpenVPN 路由特定端口的流量

我的家庭局域网组织如下:

  1. DHCP 由我的 ISP(调制解调器)提供的(非常)基本的调制解调器分配。
  2. 服务器运行 Plex Media Server(uid=plex以下简称 PMS)和 Transmission(以下简称uid=debian-transmissionPMS)。这里的操作系统是 Ubuntu Server 16.04,在我的(非常)老旧的 i5 Sony Vaio(SONY)PC 上无头运行(无 GUI)。
  3. 媒体存储在运行某种 Linux 的 NAS(NAS)上。安装和分配权限并不容易,但我做到了
  4. 高清本垒打将 OTA 电视频道传输至 PMS,PMS 在 LAN 内外重新分配频道。
  5. Roku 3 作为 PMS 的客户端,在我客厅的大电视上播放媒体(因为它还播放我常用的 Netflix 帐户中的媒体,所以它不能位于 VPN 后面,因为 Netflix 会识别这一点并返回错误)。
  6. 未来,PMS 将作为 IPTV/m3u 流的服务器,符合本指南。目前尚未运行,但很快就会运行。
  7. Transmission 通过 发送/接收种子port 20000,其网络界面在 上处于活动状态port 25000。Plex 通过 运行port 30000,我计划将其入站 IPTV/m3u 流量引导至port 35000

只要它位于同一个网络上并且我不尝试将任何东西放在 VPN 后面,一切就都能正常工作……这正是我想要做的。

尤其,我只想引导流量ports 20000 and 35000通过 OpenVPN:其余的都不应受到影响。特别是,通过端口 25000 和 30000 的流量不应受到影响,因为这会使通过 Web 界面操作服务器变得非常困难。

我拥有一个不错的 OpenVPN 帐户并且已经能够在TP-Link TL-WDR4300闪存DD-WRT(路由器)上对其进行测试。

我不是 IT 专家,只是一位资深的 Linux 爱好者,所以我需要帮助和指导,我花了几天时间进行学习。我找到了很多指南/教程:

  1. 如何指导所有流量通过 VPN:但是这太过分了(这也会让我的 Netflix 帐户无法使用);
  2. 如何引导所有流量特定用户通过 OpenVpn。又太多了:端口 25000 和 30000 必须不受影响并且我希望能够使用 Web 界面;
  3. 如何只将 SONY 放在 TP-Link 路由器后面,并指示 DD-WRT 对通过的流量进行选择性路由某些港口

第 3 项更接近我想要做的事情,但同样看起来太多了,因为它会使架构复杂化,使 PMS 难以与 HDHomeRun 对话。将 NAS 安装到 SONY 上并通过 SSH 连接到 SONY 和 NAS 也会受到负面影响。我非常担心将这种选择性路由委托给消费级路由器最终会显著降低连接速度:另一方面,SONY 的 i5 拥有所需的所有计算能力。并且,如果可能的话,为了节省能源并简化维护,我希望不使用额外的路由器。

有什么解决方案可以告诉 Ubuntu 16.04 仅通过 OpenVPN 引导某些端口的流量?...或者有什么可行的解决方法?

问题是,我希望有一款可以自动运行的产品,因为该系统也是由我的妻子和孩子作为最终用户来操作的。我无法设置不同的网络,并要求他们根据他们想看的电视节目或需要做的事情在它们之间切换。实施解决方案可能很复杂,但使用该系统应该很容易,毫不费力。

相关内容