我有一些主机有明确管理的resolv.conf
文件。我还有其他依赖 NetworkManager 的人,它可以做很多事情,包括编写resolv.conf file
.
是否有一致的方法来使用 Puppet 管理这些信息,例如我可以在某个模块中从语义上描述 DNS 服务器和搜索顺序,然后根据主机的配置方式期望发生正确的事情?
如果做不到这一点,是否有一个模块可以连接到 NetworkManager 来执行我想要的操作?写出一个显式resolv.conf
文件是相当简单的,所以如果我走这条路,我不需要任何帮助。
答案1
当您使用 NetworkManager 时,它通常会进行管理,/etc/resolv.conf
因此您不想直接使用 puppet 进行管理。相反,您想要管理有点依赖于发行版的配置文件。
但是配置的上游默认格式存储在/etc/NetworkManager/system-connections
该目录中,您可以在该目录中删除新的配置文件,例如使用 puppet。另一种方法是让它通过 API 与 NetworkManager 对话(无论是直接通过 D-Bus 还是通过libnm
, 甚至nmcli
)。
仍然可以dns=none
在主要部分中进行设置/etc/NetworkManager/NetworkManager.conf
并resolv.conf
自行处理。