Я предполагаю, что у Вас есть много разных подходов здесь. AFAIK, dhclient.conf не поддерживает переменное расширение, поскольку Вы перечислили. Таким образом, это оставляет две очевидных опции:
Опция 1. ужасно, это получит Вас мимо этого препятствия, но будет трудно поддержать. Перед знанием этого Вы будете регулярно писать сценарии для входа в систему во все машины, которые займут много времени, будут подвержены ошибкам (например, как Вы обрабатываете вниз хосты корректно и возвращаетесь позже) и трудно поддержать.
Опция 2. определенно, что я рекомендовал бы, и я рекомендую марионетке как его намного более гибкое и простое в использовании относительно cfengine, все же относительно сформировавшегося.
Вот Ваша декларация (не протестирована)
class dhcp-client {
file { "/etc/dhclient.conf":
content => template("dhclient.conf")
}
}
И шаблон:
other dhclient.conf stuff
send "<%= fqdn %>"
и конфигурация узла:
node default {
include dhcp-client
}