我一直在谷歌上搜索解决方案,也尝试了一些方法,但找到的解决方案不太合适。另外,如果这里不适合提问,请告诉我。
目前,我的网络设置如下:
- 使用 PiHole 作为 DNS 的个人设备。例如,本地 LAN 192.168.1.0
- 具有受国家/地区限制/感知的应用程序和内容的设备。例如 192.168.1.10
- 家庭网关为 192.168.1.1,使用 PiHole 作为 DNS。例如 192.168.1.2
Personal PCs ______ Raspberry Pi --- PiHole DNS (Docker)
(and other stuff) \ |
\ |
Device that \ |
Must use a VPN ---------- Home Router ---- Internet
此特定设备具有 IP/DNS/网关设置,但没有 VPN/代理配置,但我想在 PiHole 之后强制通过 VPN 来使用其所有网络(因此,PiHole 仍将是此设备的 DNS)。我如何使用 Docker 容器或 VM 来实现这一点,同时保持网络的其余部分不变?
简而言之,我正在努力实现这一目标:
_ Force Internet Traffic through VPN _
/ while using PiHole as DNS sink \
/ \
Device that _____/ Raspberry Pi --- VPN Container (OpenVPN Client)
Must use a VPN \ | |_ PiHole DNS (Docker)
\ |
Personal PCs \ |
(and other stuff) ------- Home Router ---- Internet
当然,我可以通过购买带有 VPN 配置的路由器并让此设备通过此路由器连接到互联网来实现这一点。但我知道有一种通过软件实现的方法。
因此,这里的问题如下:
- 我对 Linux 上的网络不太熟悉。您能告诉我哪里有关于这个主题的更全面(且最新)的资源吗?
- 如果我设置了一个带有桥接网络和 OpenVPN 客户端的 Docker 容器,是否可以使用 IPTables/UFW 规则来实现这一点?或者我应该为此启动一个功能齐全的路由器操作系统?
- 我的路由器没有可配置的 LAN 路由。只有 WAN/LAN 路由。
有没有办法通过 IP 强制执行或从给定的 MAC 路由包?
先感谢您!