如何阻止发往 dlink 路由器上的 Google DNS 服务器的传出数据包?

如何阻止发往 dlink 路由器上的 Google DNS 服务器的传出数据包?

我有dlink DIR 600L,现在我想配置我的路由器防火墙,以阻止通过 TCP/UDP 和端口 53 (DNS) 向 Google DNS 服务器 (8.8.8.8 和 8.8.4.4) 发送数据包,这样我就可以使用 Chromecast 在美国境外观看 Netflix

您只需在路由器防火墙上设置两条规则,即可阻止向 Google DNS 服务器(8.8.8.8 和 8.8.4.4)发送 TCP/UDP 和端口 53(DNS)的数据包。这样,Chromecast 将在尝试访问 Google DNS 服务器时超时,并将回退到路由器定义的 DNS 服务器,您的 Netflix 或 Hulu 将再次正常工作!

换句话说,这就是我的目标是:

我需要的是一个能够过滤传出连接的路由器,我见过的每个路由器都可以作为内置防火墙的一部分来实现这一点 没有需要刷写支持iptables的备用固件(比如openwrt)。

请注意,我不是在寻找解决方案,例如将 DNS 请求路由到虚假网关,该解决方案需要了解 IP 地址 ( 192.168.x.x),但对于这个问题而言,这是不可知的。

知道我该怎么做吗?如果 dlink 路由器无法处理这个问题,请建议消费级路由器(例如 tp link、ASUS、Netgear 等,但没有 dd-wrt ​​或 tomato 固件路由器)可以做到这一点。请注意,我没有查看 iptables 解决方案。

资源:

  1. 你可以找到一个 dlink 模拟器这里. 用户名:Admin,密码:空白

答案1

不确定您是否能找到在消费级路由器上实现此目的的解决方案。本质上,您需要一个服务器位于连接中间,或者代理位于中间并拦截所有发往 Google DNS 服务器的流量并重建数据包以重定向到备用目的地。

我确信您查看了 Windows HOSTS 文件,并意识到它只会取代 DNS 请求,但这对您没有帮助。

看起来你需要在服务器和路由器之间放置一台 Linux 或 Server 2003+ 机器。查看 IPv4 到 IPv4 接口 PortProxying。

http://technet.microsoft.com/en-us/library/cc731068%28v=ws.10%29.aspx

答案2

您链接到的 D-Link DIR-600 用户手册在第 39 页描述了路由器的防火墙。

手册页太简短,不确定,但您应该能够设置防火墙规则来阻止这些 IP 地址。

答案3

听起来你只是想阻止传出的 UDP 到 8.8.8.8 和 8.8.4.4,如果你的系统 DNS 没有设置为那样,你应该能够做到这一点(猜测 Chromecast 坚持首先使用 Google 的 DNS 服务器?不知道)

您可能也想阻止 TCP,我不记得了,但 Google 可能也会在这些 IP 上接受 TCP 回复。

手动的您发布的第 39 页就是您所需要的。

  • 启用 SPI
  • 不用担心 DMZ
  • 您需要制定 4 条规则,设置为拒绝,一条用于协议 UDP,IP 地址 8.8.8.8,UDP 8.8.4.4,TCP 8.8.8.8 和 TCP 8.8.4.4。(如果它允许您为协议指定“Both”,则意味着 TCP 和 UDP,您只需要两条)
  • 端口范围应仅为 53,或 53 到 53(如果它坚持要求您指定两个数字)
  • 保存设置并重启路由器
  • cmd.exe通过在路由器后面的系统上打开并输入来进行验证nslookup google.com 8.8.8.8- 它应该会失败。

答案4

您不需要知道本地网络中的任何特定 IP 地址,就可以将这些地址路由到虚假网关。

维基百科

在 Internet 协议版本 4 中,地址 0.0.0.0 是一个不可路由的元地址,用于指定无效、未知或不适用的目标。

该领域中使用的典型实现是路由目标主机(8.8.8.8, 8.8.4.4 0.0.0.0

这被称为空路由

相关内容