在 Debian 上从 VPN 隧道中排除本地客户端

在 Debian 上从 VPN 隧道中排除本地客户端

因此,我最近在我的网络上设置了一个 Debian 服务器,以便通过 OpenVPN 路由我的所有互联网流量。我使用了设置 iptables 的指南(但我没有设置终止开关。)

现在,我的问题是,Netflix 显然已经决定,如果您使用 VPN,您将不再被允许流式传输任何内容。因此,我想要做的是让我的主要流媒体客户端 Chromecast 不使用 VPN 隧道。

网络布局:

  • 路由器:192.168.0.1
  • Pi-Hole DNS:192.168.0.3(我认为这不相关,但无论如何)
  • VPN网关:192.168.0.4
  • Chromecast:192.168.0.155(有效静态)

通过让路由器始终为 Chromecast 提供相同的地址,我成功地为 Chromecast 提供了静态 IP。

VPN 网关通过 DHCP 在客户端上设置,由于 Chromecast 不允许我手动设置网关(这可以解决我所有的问题),所以我必须通过其他方式解决这个问题。

所以我想要做的是通过非加密连接路由所有 Chromecast 流量,有没有相对简单的方法可以做到这一点?

我在网上寻找解决方案,但我找到的只是 Pfsense、DD-WRT、Merlin 等的修复程序,我不知道如何使它们适应我的 Debian 服务器。

任何帮助都将受到赞赏。

答案1

好的,我使用基于策略的路由解决了这个问题。

对于那些试图做类似事情的人来说,我只需要在中设置一个新表/etc/iproute2/rt_tables

添加一条指向我的路由器的流量路由:

ip route add default via 192.168.0.1 dev eth0 table custom_table

然后添加一条规则,将上述路由应用于来自 Chromecast 的任何流量。

ip rule add from 192.168.0.155 lookup custom_table

编辑: 好吧,虽然这个方法有效,但它似乎会大大降低 Chromecast 的网络速度。我想我必须让我的智能电视能够观看 Netflix,因为它允许我手动设置网关。

相关内容