![没有 Wireguard “代理” 的内部 DNS](https://linux22.com/image/775787/%E6%B2%A1%E6%9C%89%20Wireguard%20%E2%80%9C%E4%BB%A3%E7%90%86%E2%80%9D%20%E7%9A%84%E5%86%85%E9%83%A8%20DNS%20.png)
问题:Wireguard 会混淆 DNS 请求,因此通过 VPN 连接的设备的所有 DNS 查询都被视为来自 Wireguard 服务器。这可以防止我设置每个设备的 DNS 白名单/黑名单。
尽管可以通过 VPN 访问该 IP,但在 Wireguard 配置文件中输入内部 DNS 服务器的 IP 作为 DNS 也不起作用(无法解析任何内容)。
我是否需要将 DNS 服务器设置为 Wireguard 客户端之一才能使其工作?如果 DNS 和 Wireguard 托管在同一 IP 下的同一服务器上,该如何正确执行此操作?
设置 客户端设备:一些蹩脚的半过时的 Android 服务器:Rasbperry Pi,带有 Raspbian,在 Docker 内部托管 PiHole 和 Wireguard。
完整故事: 我的家庭网络中设置了 Wireguard VPN。一切运行正常,我只需打开一个端口即可访问所有内容,不用保护所有应用程序,太好了。
其中一个优点是内部 DNS 服务器 PiHole,它具有直接访问权限(没有路由器充当中间 DNS),因此服务器可以单独查看所有设备,这使我可以调整每个设备的白名单。这对我来说是一个重要的功能,因为我不得不使用一些编写糟糕的应用程序,当某些 Google 间谍服务不可用时,这些应用程序就会崩溃。在本地网络内,一切都运行良好,PiHole 可以很好地区分每个设备,但一旦通过 VPN 连接,PiHole 就会将 DNS 请求视为来自 Wireguard 服务器。
答案1
我可能在这里进行了自定义,所以如果有的话请原谅我,但在我的设置中至少每个设备都会获得一个可在本地网络上路由的 IP(在某种程度上,它是一个单独的子网但可访问)。
在这种情况下,我可以从 LAN 内部 ping 所连接设备的 WireGuard IP,并且这些 IP 由其 WireGuard 配置修复。
因此,您需要做的就是将其在 LAN 上的本机 IP 和其 WireGuard IP 与相关规则关联起来。
如果您没有获得可路由的可 ping 的 IP,请告诉我,我可以找出生成它们的 WireGuard 配置。如果它们位于 WireGuard 上的 nat 后面,那么就永远不可能按设备进行过滤。