首页 > 解决方案 > 使 dnsmasq 不是本地服务器?

问题描述

有没有办法配置dnsmasq它只为来自远程系统的 DNS 请求提供服务我想要的是(“互联网”是指在我的网络之外):

  1. 来自机器上程序的任何 DNS 请求dnsmasq只使用互联网 DNS 服务器并忽略dnsmasq
  2. 来自远程系统的指向dnsmasq机器的 DNS 请求会收到来自 的响应dnsmasq,该响应可以是本地配置的响应,也可以是dnsmasq已中继到 Internet DNS 服务器的响应
  3. 可以选择限制允许查询dnsmasq系统的远程服务器的 IP 地址。

仅供参考,我的用例需要在本地修补/响应来自嵌入式系统的请求,以增加远程服务器的弹性;我无法更改查询hostname,因此我希望能够在本地欺骗 IP 地址,但只会影响来自我手动定向到本地 dnsmasq 服务器的这个嵌入式系统的特定查询

标签: dnsmasq

解决方案


经过大量挖掘,我偶然发现了答案。实现这一目标所需的魔法咒语是:

$ echo DNSMASQ_EXCEPT=lo | sudo tee --append /etc/default/dnsmasq
$ sudo systemctl restart dnsmasq

查找 DNSMASQ_EXCEPT 以了解详细信息,但基本上这会停止dnsmasqlo接口提供 DNS 服务。


推荐阅读