我试图强制我局域网上的所有主机使用特定的 DNS 服务器来过滤某些材料,但是我遇到了问题。
过去我在尝试配置路由器的 DHCP 以将所需的 DNS 服务器分配给主机时遇到过问题,因为一些用户只是学会了在计算机上设置自己的 DNS 服务器(例如 Google 的 8.8.8.8)。
目前,我有一个 ARP 中毒脚本,可以将所有流量从网关路由器重定向到我的机器。同时,我有第二个 python 脚本侦听端口 53 流量,因此我可以拦截 DNS 查找数据包,将目标 IP 从原始 DNS 服务器修改为所需的 DNS 服务器,然后将它们发送到新的 DNS 服务器。
我是否以正确的方式思考这个问题?
有没有更简单的方法可以强制用户使用某个 DNS 服务器?
似乎我什至没有在我的机器上获得端口 53 的任何流量,即使该端口的防火墙是打开的,所以当用户尝试解析时我什至没有机会查看 DNS 请求数据包dns查找,更不用说修改数据包了。
这不像在路由器上设置端口规则那么简单,因为这可能在 LANS 上实现,路由器没有非常复杂的防火墙设置,而且我不想总是强制所有主机使用指定的 DNS 服务器-- 我想要一个将某些设备列入白名单的选项。
我非常感谢任何反馈或帮助。谢谢!
注意:这最初是在 Security Stack Exchange 上发布的,但是建议我也在这里询问。