Je voudrais également conserver la possibilité de modifier manuellement le fichier d'hôtes, au moins les 10 premières lignes.
#Public IP's - eth0
192.168.1.103 front-01
192.168.1.106 front-02
#Private IP's - eth1
192.169.40.201 priv0-0
192.169.40.202 priv0-1
192.169.40.207 priv1-0
192.169.40.208 priv1-1
#Virtual IP's - eth0:1
192.169.50.202 vip-01
192.169.50.205 vip-02
Avoir ces entrées d'hôtes au bas de / etc / hosts serait parfait. Quelle est la meilleure façon de procéder? Existe-t-il un meilleur moyen que d'écrire le manifeste de 8 lignes d'hôtes?
# create a simple hostname and ip host entry
host { 'front-01':
ip => '192.168.1.103',
}
Il peut y avoir des groupes de serveurs qui nécessitent des adresses IP / noms d'hôtes différents dans leurs / etc / hôtes. J'utiliserais un modèle, mais cela signifie que les gens ne peuvent plus effectuer de modifications manuelles dans leur / etc / hosts car ils seraient écrasés par le modèle.
Utilisez la fonctionnalité d'augeaus intégrée à la marionnette. Tu veux quelque chose comme
la source
Un cas où vous pouvez choisir d'utiliser augeas pour le fichier / etc / hosts, en plus des types de ressources d'hôtes - est pour les lignes d'adresse IP en double.
héberge très facilement le type de ressource autorise les lignes avec les mêmes adresses IP. (Google it; où sont des cas extrêmement obscurs où cela peut être une bonne idée.)
Mais si vous ne voulez pas d'adresses IP en double dans votre fichier / etc / hosts - alors augeas peut vous aider. hôtes n'est d'aucune aide pour cela.
la source
Juste une méthode, sans code:
Utilisez des modèles ou tout ce qui met à jour un fichier
/etc/hosts.puppet
avec des lignes de début et de fin claireset avoir un script shell en tant que dépendance qui coupe ce segment
/etc/hosts
et le remplace par le contenu de/etc/hosts.puppet
.Méfiez-vous que cela a une condition de concurrence lorsque les utilisateurs modifient le fichier et que le jeu de marionnettes le modifie. Sinon, demandez à vos utilisateurs de modifier un fichier
/etc/hosts.user
et de construire à/etc/hosts
partir des deux fichiers chaque fois que l'un change.la source