如何限制 dnsmasq 仅回复特定的客户端 DNS 请求?
Posted
技术标签:
【中文标题】如何限制 dnsmasq 仅回复特定的客户端 DNS 请求?【英文标题】:How can I restrict dnsmasq to only reply to specific client DNS requests? 【发布时间】:2013-12-04 15:26:52 【问题描述】:我正在考虑使用 dnsmasq 服务器轻松提供一些本地临时主机名,并为本地客户端提供递归 DNS。
但是,一旦将 dnsmasq 服务配置为递归 DNS 服务器,它似乎总是允许任何客户端查找 DNS 条目。
有没有办法将 dnsmasq 服务限制为仅允许来自本地客户端的请求,例如 192.168.0.0/16 和 127.0.0.0/8 甚至可能是一些选择的公共 IP?
我可以使用 iptables 来做到这一点,但如果我可以将与 DNS 相关的配置保留在 dnsmasq 本地会更好。
【问题讨论】:
【参考方案1】:您可以限制 dnsmasq 侦听的接口(例如您的本地网络):
这指定只监听 eth0:
interface=eth0
这指定仅监听特定地址(在本例中为 192.168.1.1):
listen-address:192.168.1.1
你也可以指定一个不监听的接口:
except-interface=eth1
您可以为多个界面重复该行。
修正
抱歉,我重新阅读了您的问题,但不相信我的回答特别有帮助,您希望限制对 dns 的访问(在 dnsmasq conf 中),而不是限制分发 dhcp 租约的地点/方式。我不知道如何在 dnsmasq conf 文件中执行此操作,所以我会让其他人回答。我会在这里留下我原来的答案,只是希望它对任何人都有用。
【讨论】:
ps。为了帮助自己,默认安装的文件 /etc/dnsmasq.conf (至少在我的 debian 机器上)包含很多示例,值得一读,如果有帮助的话。 感谢您的回答,尽管正如您所指出的,我仍然没有回答我原来的问题。 是的,不要将我的标记为已接受,如果有人知道你会希望得到回复。如果我发现了什么,我也会回来。以上是关于如何限制 dnsmasq 仅回复特定的客户端 DNS 请求?的主要内容,如果未能解决你的问题,请参考以下文章