在 NetworkManager 中配置通过连接共享启动的 dnsmasq 实例

在 NetworkManager 中配置通过连接共享启动的 dnsmasq 实例

我有一台运行 Ubuntu 12.04 的笔记本电脑,它使用 NetworkManager 通过 eth0 接口将其 wifi 连接共享给另一台机器。这似乎是由 dnsmasq 完成的。

现在我需要在另一台机器上设置 PXE/TFTP 启动,因此我想配置通过 NetworkManager 生成的 dnsmasq 实例,为 PXE/TFTP 添加几行。如何完成?它似乎忽略了 /etc/dnsmasq.conf。

先前的答案似乎表明配置已硬编码到 NetworkManager 中。情况仍然如此吗?如果是这样,是否有一种简单的方法可以实现我在这里尝试做的事情?我想我可以禁用 NetworkManager 中的网络共享并手动进行设置,但如果可能的话,我宁愿将所有这些都放在一个地方进行管理。

编辑:确实,dnsmasq 配置似乎仍然硬编码在 NetworkManager 中。请参阅来源这里。在我看来,在这里简单地指定一个备用 dnsmasq.conf 文件是一个更好的解决方案,但我确信还存在一些我没有考虑到的问题。

答案1

Dnsmasq 不“共享连接”。NetworkManager 控制的 dnsmasq 的作用是路由 DNS 流量。

您无法在 Precise 中配置 NetworkManager 控制的 dnsmasq 进程。在 Quantal 中,您可以通过 /etc/NetworkManager/dnsmasq.d/ 中的文件对其进行配置。请参阅 dnsmasq(8)。

另一种可能性是使用独立 dnsmasq 服务器,该服务器即使在 Precise 中也是完全可配置的。要在 Precise 中同时运行独立 dnsmasq 和 NM-dnsmasq,您需要为独立 dnsmasq 提供“except-interface=lo”选项。这在 Quantal 中不是必需的。

相关内容