Como substituir o nome do host que o DHCP configura em uma caixa do CentOS7 no AWS? [duplicado]

7

O título quase diz tudo. Eu tenho uma VM no EC2 executando o CentOS 7. Ele usa o DHCP, que parece ser um requisito do EC2. O DHCP continua sobrescrevendo o nome do host na reinicialização, não importa o que eu tente. Eu não vou enumerá-lo, mas eu tentei praticamente todas as sugestões aqui: Substituir o nome do host DHCP no RHEL5 / CentOS / Amazon Linux , bem como aqueles encontrados em vários outros sites que as pesquisas do Google apareceram. Eu não entendo se é a versão do sistema operacional ou ambiente AWS / EC2, mas não posso alterar o nome do host e fazê-lo ficar entre as reinicializações. Mesmo brute forçando via /etc/rc.d/rc.local (adicionando "/ bin / hostnamectl set-hotname foo.bar.baz" não funcionou. Eu não posso acreditar que outros usuários da AWS / EC2 não tenham percebido isso Por favor ajude.

Atualização: Isso também não funciona: link Ou seja, adicionando um registro DNS A para o caixa no Route53 da AWS (e verificar se funciona), e configuração HOSTNAME = foo.bar.baz em / etc / sysconfig / network (verificação após uma reinicialização) também é fútil.

Atualização 2: Uma pergunta semelhante foi respondida por Fedora 20 . A solução aceita também envolveu a reconfiguração do cloud-init, embora de uma maneira diferente. Além disso, não ficou claro que essa questão / solução se aplica a outras distros. Assim, eu sinto que minha pergunta provavelmente deveria permanecer para os outros rodando o CentOS e procurando por ele dessa maneira (sim, eu sei que o Fedora e o CentOS são irmãos, mas nem todos procuram por todos os sinônimos quando procuram por soluções).

    
por JJC 18.11.2014 / 03:29

2 respostas

7

Tudo bem. Eu gastei provavelmente um total de cinco horas sobre este problema antes de chegar a uma resposta. @ A sugestão do Sirex para desinstalar o cloud-init foi a pista. Essencialmente, o cloud-init é um serviço integrado à maioria das imagens do EC2 (AMIs), incluindo o AMI Linux e o CentOS. O sistema faz muitas coisas (google it), e é provavelmente útil para certos provisionamento e manutenção. Assim, hesito em simplesmente desativá-lo. Mas, também parece estar definindo o nome de host do EC2. Portanto, para substituir isso pelo seu nome de host preferido, basta fazer isso:

(1) crie um arquivo chamado algo como 99 _... cfg (eu chamei o meu 99_hostname.cfg) e escreva o seguinte conteúdo nele:

#cloud-config
hostname: foo
fqdn: foo.bar.baz

substituindo "foo" e "foo.bar.baz" pelo seu nome de host e nome de domínio totalmente qualificado, é claro.

(2) Coloque este arquivo em /etc/cloud/cloud.cfg.d/99_hostname.cfg

(3) Certifique-se de que o contexto de permissão / proprietário / selinux do arquivo (se você tiver a aplicação do SELinux) esteja configurado corretamente por meio destes comandos:

sudo su -
cd /etc/cloud/cloud.cfg.d/
chown root: 99_hostname.cfg
chmod 644 99_hostname.cfg
chcon system_u:object_r:etc_t:s0 99_hostname.cfg

(4) Reinicialize sua VM e o novo nome de host deve ser definido. Se você não confiar em seu prompt bash, poderá verificar isso, por exemplo, executando um dos seguintes procedimentos:

hostnamectl

ou

cat /etc/hostname
    
por 26.11.2014 / 04:10
2

desinstalar o cloud-init.

Isso me levou mental pela primeira vez: -)

Ainda procurando tempo para descobrir como fazer com que o cloud-init defina o nome do host como esperado (a partir de uma tag ou algo semelhante) - não cheguei até aqui ainda.

    
por 25.11.2014 / 23:46