![是否有其他 Dnsmasq 类型的程序可以返回客户端特定的表?](https://linux22.com/image/638646/%E6%98%AF%E5%90%A6%E6%9C%89%E5%85%B6%E4%BB%96%20Dnsmasq%20%E7%B1%BB%E5%9E%8B%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%8F%AF%E4%BB%A5%E8%BF%94%E5%9B%9E%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%89%B9%E5%AE%9A%E7%9A%84%E8%A1%A8%EF%BC%9F.png)
我们正在使用 Dnsmasq,我们有几个运行良好的条目。我们正在寻找的是为特定 IP 地址返回不同的配置文件。
即:每当 ip1.2.3.4
连接时,它都会使用此表:
address=/widgits.com/2.2.2.2
address=/x.widgits.com/2.2.2.22
每当 ip2.3.4.5
连接时,它都会使用这张表:
address=/widgits.com/3.3.3.3
address=/x.widgits.com/3.3.3.33
除了修改 dnsmasq 之外,还有其他选择吗?
更新:只是想补充一下,我们有超过 10,000 个 IP 地址(在 asme 接口上),将被分成两组,并且我们每天最多有 300 个更改需要实时完成。
答案1
您正在描述 BIND 中名为视图的功能。
view 子句允许 BIND 根据访问它的主机提供不同的功能
在此获取更多信息:http://www.zytrax.com/books/dns/ch7/view.html
更多信息可能在这里:http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software
答案2
您最好的选择似乎是-y
(或--localise-queries
)选项。从文档:
返回来自 /etc/hosts 的 DNS 查询的答案,这些答案取决于接收查询的接口。如果 /etc/hosts 中的名称有多个与之关联的地址,并且这些地址中至少有一个与查询发送到的接口位于同一子网,则仅返回该子网上的地址。这允许服务器在 /etc/hosts 中拥有与其每个接口相对应的多个地址,并且主机将根据它们所连接的网络获取正确的地址。目前此功能仅限于 IPv4。