强制 DNS 用于网络流量

强制 DNS 用于网络流量

有没有办法强制计算机使用特定的 DNS?即使计算机定义了我不想要的 DNS 地址,它的所有 DNS 流量都将使用特定的 DNS 进行解析。我想我是想说有没有办法模拟代理,而不是制作代理。

我这样做的原因是我使用 OpenDNS 进行网络过滤,但要绕过该过滤,唯一需要做的就是在 Windows 中输入不同的 DNS 服务器。

一个想法可能是以某种方式使用强制门户来阻止网络流量,直到用户拥有正确的 DNS 服务器。但我不知道如何使用强制门户来检查 DNS 设置...

任何想法都很好。谢谢。

答案1

如果您希望 LAN 上的计算机仅允许使用特定的 DNS 服务器,则需要在防火墙上阻止 UDP 端口 53 向所有 IP 地址的传出,并添加规则以明确允许“允许”DNS 服务器的 IP。

如果您的用户想要绕过这个问题,他们只需运行 VPN 隧道到异地盒子并从那里获取 DNS。您也可以尝试阻止它,但他们只会用另一种方式与您抗争。(毕竟,如果您真的想,您可以通过 DNS 隧道传输 IP!呵呵……)

你的努力并非毫无意义,但如果你想停止,你将不得不打一场军备竞赛,从定义上讲,没有人能够获胜所有人。阻止对 J 的 DNS 查询。随机 DNS 服务器将阻止普通人。

答案2

如果您愿意,只有管理员组的成员才能更改网络适配器设置。通过 DHCP 分配 DNS 地址并使其成为标准用户,这样就没问题了。

答案3

最好的用户体验是劫持 anysourceip:53 到你的 :53 并使用防火墙规则转发请求。

如果您封锁端口 53,使用自定义 DNS 的最终用户将无法获得域名解析,这可能会导致糟糕的用户体验。而如果您重定向它,他们将无需致电客户支持或 IT 管理员即可上网。这将减少支持时间,如果这需要花钱,那么它将节省资金。

如果你在 /ip 防火墙 nat 中使用 microtik

add chain=dstnat action=dst-nat to-addresses=192.168.88.1 to-ports=53 protocol=tcp dst-port=53 
add chain=dstnat action=dst-nat to-addresses=192.168.88.1 to-ports=53 protocol=udp dst-port=53 

来源:http://wiki.mikrotik.com/wiki/Force_users_to_use_specified_DNS_server

答案4

您需要阻止除您打算使用的服务器之外的所有服务器的 DNS(端口 53)。

我能想到的最简单的解决方案是在备用电脑(系统要求非常低)上安装 IPCop、SmoothWall、Monowall、pfSense(全部免费)之类的软件,然后运行实际的代理。

这基本上就是您想要做的...模拟代理而不创建代理。;-)

安装 IPCop 之类的程序非常轻松,它内置了 Squid 代理,您可以免费添加 URLFilter,然后将整个程序作为透明代理运行。问题解决了。

但除此之外...您要做的是阻止除 OpenDNS 服务器之外的所有 IP 的端口 53。

正如 Evan 提到的,这不会使事情变得不可能......但它会阻止大多数人。;-)

希望这可以帮助。

相关内容