DNSMasq - 针对特定 MAC 地址的不同响应

DNSMasq - 针对特定 MAC 地址的不同响应

有人知道我可以设置单独的主机文件或从 DNSMasq 向网络上的特定 PC 发送不同的响应吗?

具体来说,如果我想在 MAC ab:cd:00:01:02:03 上阻止我孩子的计算机上的 YouTube、Facebook 等,我的想法是在 DNSMasq 主机文件中添加条目,例如:

127.0.0.1 facebook.com、youtube.com

但我不想为整个家庭阻止这些,只想为他/她的计算机阻止这些。

感谢您的任何建议。

答案1

DNSMasq 条件能力主要依赖于其标记机制,仅与其 DHCP 端相关。

一种解决方案是首先使用 DNSMasq 的 DHCP 端标签哪个主机是“孩子”,哪个主机是“成人”:

# grownup network
dhcp-host=11:22:33:44:55:66,host01,192.168.1.11,infinite,set:grownup
dhcp-host=66:55:44:33:22:11,aa:bb:cc:dd:ee:ff,host02,192.168.1.12,infinite,set:growup

# child network
dhcp-host=ab:cd:00:01:02:03,child01,192.168.1.21,infinite,set:child

因此,有条件地设置dhcp-option将特定 DNS 解析链归因于“成年”主机(假设10.10.10.110.10.10.2是您的 DNS 服务器,并且192.168.1.2是您的 DNSMasq 框 IP 地址):

# options
dhcp-option=tag:grownup,option:dns-server,10.10.10.1,10.10.10.2
dhcp-option=tag:child,option:dns-server,192.168.1.2

从那里,“成年”主机将直接通过您的 ISP DNS 进行解析,而“儿童”主机将使用 DNSMasq 解析链(或位于 DNSMasq 盒子上的任何其他 DNS 服务器)。

最后添加几个host-record或一个addn-hosts选项:

host-record=www.facebook.com,127.0.0.1

有关 DNSMasq 的更多信息:

相关内容