如何将出站 DNS 流量重定向到不同的地址

如何将出站 DNS 流量重定向到不同的地址

我正在尝试重定向本地网络上的所有出站 DNS 请求。我有一些由电脑、手机等组成的设备。我将如何进行重定向(例如:www.domain.com至 192.168.1.80)。

基本上是欺骗www.domain.com到 192.168.1.80,这样网络上的任何人都无法连接到www.domain.com

答案1

两种解决方案专门回答您的问题:

修改主机文件以反映您的愿望,文件本身中有有关如何使用此文件的示例。

配置本地DNS服务器来进行解析,大多数情况下,路由器可以作为DNS服务器。

如何配置所述 DNS 服务器将取决于哪个软件处理该服务器,假设您的路由器使用dnsmasq,因为这对于小型路由器很常见,您需要在配置文件中添加此行。

address=/www.domain.com/192.168.1.80

如果您的计划是阻止连接到该域,您可以考虑使用它,因为这将使 DNS 服务器回复该域不存在。

server=/www.domain.com/

但最好的方法是在路由器上创建一个 netfilter 规则,以丢弃任何进出该域 IP 的内容,这与您的问题不同。

iptables -A INPUT -s SERVICE_IP_HERE -j DROP
iptables -A OUTPUT -d SERVICE_IP_HERE -j DROP

如果这是 IPv6,则需要替换iptablesip6tables.如果域同时使用两者,则必须为两个堆栈创建规则。

答案2

  1. 配置本地 DNS 服务器:在 127.0.0.1:53 上设置 dnsmasq

  2. 配置网络过滤器: iptables -t nat -A POSTROUTING -p udp --dport 53 -j REDIRECT

相关内容