我只是一个小问题。
我的 DNS 服务器由我们的 DHCP 服务器 (Microsoft Windows 2003 R2 SP2) 更新。
我的客户是 Debian Linux Distro 的,我必须修改我的 DHCLIENT.CONF 文件以发送他的完整合格主机名。
但是我有大约 1600 台计算机,我不想一个一个地修改每个客户端,那么,我可以在 Config 文件上使用系统变量吗?
示例:
#DHCLIENT CONF;
其中 $hostname 变量是在 BASHRC 上为 hostname -f 命令写入的别名。
send "$hostname"
如果您需要更多信息,请告诉我。
dhclient 的前沿 (4.2.x) 版本通过提供 gethostname() 函数来支持这一点。
因此,使用最新的 dhclient alpha,您可以在 dhclient.conf 中放入类似的内容
Ubuntu 在他们的 dhclient 版本中有一个补丁可以让你做
它将用正确的主机名替换它。
Redhat 修补他们的 dhclient 以提供 -H 和 -F(-H = 发送主机名,-F = 发送 fqdn.fqdn)命令行选项。所以在 Redhat 上你可以运行
它会发送正确的主机名。
不过,我不知道 Debian 有什么可用的 - 你可能想看看用 Ubuntu 补丁修补你的 dhclient
我想你在这里有很多不同的方法。AFAIK,dhclient.conf 不支持您列出的变量扩展。所以剩下两个明显的选择:
选项 1. 很丑陋,它会让你越过这个障碍,但很难维护。在不知不觉中,您将定期编写脚本来登录所有机器,这将花费很长时间,容易出错(例如,您如何优雅地处理主机并稍后返回)并且难以维护。
选项 2. 绝对是我会推荐的,我会推荐 puppet,因为它相对于 cfengine 更加灵活和易于使用,但相对成熟。
这是您的清单(未经测试)
和模板:
和节点配置:
非常感谢大家(你们俩),我发现了一个名为 Puppet 的巨大工具,并提高了我的脚本技能。
主题已解决。