将8.8.8.8的DNS请求redirect到局域网内的本地DNS

我有一个本地networking(10.0.0.0/24)与一个网关(我将它称为G,IP 10.0.0.1),一个设备(我将它称为N,IP 10.0.0.31)直接将DNS请求到8.8 .8.8完全忽略DNS的DHCP设置,另一台设备运行我的DNS服务器(我将称之为D,IP 10.0.0.2)。 G和D都运行Linux,我可以完全改变他们的configuration,无论我想要什么。 相反,我不能以任何方式改变N的行为,除了通过DHCP分配一个不同的IP地址。

现在,我想将来自N的8.8.8.8的DNS请求redirect到D,所以D可以处理这些请求,并将DNS结果提供回N,而N没有注意到任何事情。 我认为,由于本地networking及其网关处于完全控制之下,并且由于没有涉及DNS的SSL或encryption,这应该是可行的。

那么,我怎么能做到这一点?

Remeber 8.8.8.8是一个任播地址。 基本上,Google可以做同样的事情来维护一个服务于8.8.8.8stream量的盒子。

在DNS服务器上指定IP地址8.8.8.8作为附加地址,如有必要,可以添加一个路由,直接将8.8.8.8/32stream量指向您的DNS服务器。