Raspberry Pi 作为一半网络的 VPN 客户端

Raspberry Pi 作为一半网络的 VPN 客户端

我想根据以下拓扑连接网络,除了在 Pi 上安装 OpenWRT 然后设置静态地址之外,我真的不知道从哪里开始。这个想法是在 Pi 上运行 VPN 客户端(Windscribe、NordVPN 或 ExpressVPN),并将所有来自 的流量路由到eth1互联网,通过 VPN,然后到 ISP 的路由器,但仍保留连接到eth0和 的设备之间的本地连接eth1。我担心将eth0的接口设置为 WAN 会触发不必要的防火墙规则,阻止真正的流量,因为我希望能够在 Pi 上使用 SSH 和 Web 服务器。任何帮助都值得感激。谢谢!

拓扑:

目标网络拓扑图,由一台 PlayStation 4 组成,该 PlayStation 4 通过接口 eth 1 上的 Raspberry Pi 设备连接,该接口是 VPN 直通,通过接口 eth 0 连接到 ISP 路由器。连接到它的是 DHCP 客户端,其中列出了 2 台 PC 和一台电视的示例。ISP 路由器也是一个无线接入点。ISP 路由器连接到互联网。

答案1

为了实现这一点,你必须 1)牺牲 LAN 设备访问权限(因为 VPN 旨在拦截你的连接,并通过他们的网络传输所有流量,绕过你的网络。虽然半隧道 VPN 确实存在,但它会破坏保护所有流量和隐藏 IP 地址的目的)或 2)使用某种功能,例如Windscribe 的代理网关。对于前者,您可以使用本指南(只需替换eth0eth1wan0即可eth0)。您可能需要某种高级订阅才能使用某些提供商的外部客户端,因此请留意这一点。

此处显示的图表显示了如何实现连接抱歉,图标选择不当,Visio 的模板库中没有太多 PlayStation。

答案2

不完全同意@garretstand。

当然,这样做并不简单,但如果您可以接受设备位于同一个 LAN 但不同的网段上,那么只要您可以接受非对称路由,您就可以无需任何代理来执行此操作。

限制在于,虽然 SSH 和通过 IP 访问设备可以工作,但是依赖 LAN 进行网络发现的设备(如文件共享和打印机共享)将无法工作 - 尽管您应该能够指定 IP 地址并使其正常工作。

真正需要的知识是将 Pi 设置为路由器。您需要启用 IP 转发(但不是 NAT)并使用其默认网关设置 VPN。

接下来将 eth0 设置为不同的非重叠子网,并将 Pi 配置为 eth1 后面设备的 DHCP 服务器

诀窍是给 Pi 上的 eth0 分配一个静态 IP,并设置路由器来转发 eth1 的流量,并指定 Pi eth0 IP 作为网关。

这样,来自 eth1 后面设备的流量将路由到 eth0 区域,因为本地网络有一条比 VPN catchall 更具体的路由。来自路由器后面设备的流量将把 eth1 后面设备的流量发送到路由器,路由器将知道通过静态路由将它们转发到 Pi。

值得指出的是,大多数 SOHO 路由器只会对 WAN 接口进行 NAT,因此您的 2 个子网上的流量不会被阻止。

相关内容