我有一个本地网络 (10.0.0.0/24),其中有一个网关 (我将其称为 G,IP 为 10.0.0.1),一个设备 (我将其称为 N,IP 为 10.0.0.31),它直接向 8.8.8.8 发出 DNS 请求,完全忽略 DNS 的 DHCP 设置,还有另一个运行我的 DNS 服务器的设备 (我将其称为 D,IP 为 10.0.0.2)。G 和 D 都运行 Linux,我可以完全随意更改它们的配置。相反,我无法以任何方式更改 N 的行为,除非通过 DHCP 为其分配不同的 IP 地址。
现在,我想将来自 N 的 8.8.8.8 的 DNS 请求重定向到 D,这样 D 就可以处理该请求并将 DNS 结果返回给 N,而 N 不会察觉到任何变化。我认为,由于本地网络及其网关完全在我的控制之下,并且 DNS 不涉及 SSL 或加密,因此这应该是可行的。
那么,我该如何实现这一点呢?
答案1
记住,8.8.8.8
这是一个任播地址。基本上,您可以执行与 Google 维护其用于处理流量的盒子完全相同的操作8.8.8.8
。
将 IP 地址指定8.8.8.8
为 DNS 服务器上的附加地址,并且如果需要,可以添加一条路由,将8.8.8.8/32
流量定向到该 DNS 服务器。