dnsmasq - 使 dnsmasq 不是本地服务器?
问题描述
有没有办法配置dnsmasq
它只为来自远程系统的 DNS 请求提供服务?我想要的是(“互联网”是指在我的网络之外):
- 来自机器上程序的任何 DNS 请求
dnsmasq
只使用互联网 DNS 服务器并忽略dnsmasq
- 来自远程系统的指向
dnsmasq
机器的 DNS 请求会收到来自 的响应dnsmasq
,该响应可以是本地配置的响应,也可以是dnsmasq
已中继到 Internet DNS 服务器的响应 - 可以选择限制允许查询
dnsmasq
系统的远程服务器的 IP 地址。
仅供参考,我的用例需要在本地修补/响应来自嵌入式系统的请求,以增加远程服务器的弹性;我无法更改查询hostname
,因此我希望能够在本地欺骗 IP 地址,但只会影响来自我手动定向到本地 dnsmasq 服务器的这个嵌入式系统的特定查询。
解决方案
经过大量挖掘,我偶然发现了答案。实现这一目标所需的魔法咒语是:
$ echo DNSMASQ_EXCEPT=lo | sudo tee --append /etc/default/dnsmasq
$ sudo systemctl restart dnsmasq
查找 DNSMASQ_EXCEPT 以了解详细信息,但基本上这会停止dnsmasq
向lo
接口提供 DNS 服务。
推荐阅读
- database - 存储和提供无限的新闻提要
- azure-devops - 如何在c#中以编程方式在工作项的评论部分添加人员
- c - 不带字符串逐个字母地读取文本
- json - 从文件加载的 Unicode 文字打印表情符号
- php - 对我的 php 后端文件的 jQuery POST 查询返回错误 502:如果响应太长,则网关错误
- firebase - 用于 SDK 更改的 Firebase RSS 提要
- python-3.x - Python3 导入 - 运行本地与来自 pip 差异
- python - 如何安装模块'keras'?
- powershell - 在PowerShell中建立域和工作组计算机之间的远程连接
- typescript - 打字稿:更新一个类属性会自动导致另一个更新