Eu também gostaria de manter a capacidade de editar manualmente o arquivo hosts, pelo menos as 10 primeiras linhas.
#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
Ter essas entradas de hosts na parte inferior do / etc / hosts seria perfeito. Qual é a melhor maneira de fazer isso? Existe uma maneira melhor do que escrever 8 linhas de hosts manifestas?
# create a simple hostname and ip host entry
host { 'front-01':
ip => '192.168.1.103',
}
Pode haver grupos de servidores que precisam de IPs / nomes de host diferentes em seus / etc / hosts. Eu usaria um modelo, mas isso significa que as pessoas não podem mais fazer alterações manuais em seus / etc / hosts, pois seriam substituídas pelo modelo.
Use a funcionalidade augeaus incorporada ao fantoche. Você quer algo como
fonte
Um caso em que você pode optar por usar augeas para o arquivo / etc / hosts, além dos tipos de recursos de hosts - é para linhas de endereço IP duplicadas.
hospeda o tipo de recurso bastante felizmente permite linhas com os mesmos endereços IP. (Google it; onde há casos extremamente obscuros quando pode ser uma boa ideia.)
Mas se você não deseja endereços IP duplicados no arquivo / etc / hosts - os augeas podem ajudá-lo. hosts não ajuda em nada.
fonte
Apenas um método, sem código:
Use modelos ou o que quer que atualize um arquivo
/etc/hosts.puppet
com linhas de início e fim clarase tenha um script de shell como dependência que corta esse segmento
/etc/hosts
e o substitui pelo conteúdo de/etc/hosts.puppet
.Observe que isso tem uma condição de corrida quando os usuários editam o arquivo e a execução do fantoche o altera. Como alternativa, instrua seus usuários a editar um arquivo
/etc/hosts.user
e/etc/hosts
criar ambos os arquivos sempre que houver alterações.fonte