如何使用 Puppet 配置网络设置?

How do I use puppet to configure network settings?

我已经编写了一个模块,可以在我的系统上配置网络设置,但我无法应用清单,因为在应用清单之前,它会 "facter ipaddress" 查找和显示全局事实。

这是否意味着为了应用 puppet 清单我们必须配置 IP?

所以我有一个没有配置 IP 地址的系统,我想使用 puppet 为我配置 IP 地址,为此我要求用户输入我保存在 .csv 文件中的 IP 地址,然后我正在使用模板来配置 if-eth0 文件。模板将执行 extlookup 以填充模板中的字段,最终在清单中调用模板。所以问题是,在 puppet 应用任何东西之前,它无法 运行 并出现以下错误

事实 ip 地址无法解析 IP,原因是匿名

我不确定实际问题(如果确实需要 IP)。但是,如果我理解正确,您可以尝试以下两种解决方法之一:

  1. 启用 DHCP

这样当你的系统启动时会花费更多的时间(假设网络上没有 DHCP 服务)。将发生超时,在大多数情况下,这会导致默认 IP(169.254.Y.Z 如果我记得的话)。在这种情况下,您可能需要在应用静态 IP 之前 stop/kill dhcp 客户端进程或重新启动接口以获取新配置。

  1. 分配默认静态 IP

如果您知道无论如何都会应用 puppet 配置(可能是 rc.local 中的调用?),您可以使用静态 IP(即 10.1.1.10)配置接口以避免出现错误消息.这是暂时的,因为一旦 puppet 运行,就会应用正确的配置。

希望对您有所帮助,

安德烈亚斯