Substitui o nome do host DHCP no RHEL5 / CentOS / Amazon Linux

5

Estou executando o Amazon Linux (baseado no RHEL5) no EC2.

Eu tenho meu próprio nome de domínio apontando para o IP elástico da instância. A Amazon atribui automaticamente à instância um nome de host genérico (e não visível na Internet) via DHCP.

Esse nome de host somente interno interrompe o envio de email, pois o servidor SMTP deseja ver um nome de host real (e público). Posso corrigir e-mails executando manualmente o comando "hostname" para definir o nome do host público real.

Eu configurei HOSTNAME em / etc / sysconfig / network, mas o nome do host DHCP parece substituir isso.

Existe uma maneira boa / correta de definir meu hostname e sempre ignorar o que o DHCP tem a dizer sobre isso, enquanto ainda usa o DHCP?

Eu posso pensar em muitas coisas kludgy para fazer (executar um script que desfaz o que o DHCP faz, ou qualquer outra coisa), mas imaginando se há uma configuração real em algum lugar para forçar o nome do host.

    
por Havoc P 29.11.2010 / 14:49

6 respostas

2

A resposta de Mike soa melhor e provavelmente funcionará, mas se causar problemas, você sempre poderá usar uma marreta. :)

Adicionar

/bin/hostname HOSTNAME

Para

/etc/rc.local

:)

    
por 03.12.2010 / 22:32
7

Tente isso ... Editar

/etc/sysconfig/network-scripts/ifcfg-eth0

Em seguida, adicione

DHCP_HOSTNAME=host.domain.com

Veja se isso esclarece.

    
por 29.11.2010 / 14:59
5

Para o Centos 6 e, portanto, para o Redhat 6, você perderá continuamente o nome do host que deseja que seu host seja conhecido localmente, sempre que você receber um novo IP ou reinicialização, enquanto estiver usando o DHCP. (Redhat 5 / Centos 5 info também abaixo)

(o que pode ser difícil se você fizer backups de scripts ou algo semelhante, contando com um nome de host estático)

Se você usar o dhclient e continuamente tiver seu nome de localhost desejado sobrescrito (esquecido) pelo nome de host fornecido pelo DHCP, continue a ler.

Para forçar um nome de host local (e ainda permitir que o DHCP ofereça o IP desejado), é necessário modificar (ou criar) o arquivo /etc/dhcp/dhclient-eth0.conf .

(substitua a string eth0 pela interface de rede pela qual você está recebendo o seu nome de host sobrescrito, eth0 funciona para a maioria)

Para minha configuração, esse simples filecontent funciona:

interface "eth0"  
   {    
     supersede host-name "myworkbox";  
   }

e salvo em /etc/dhcp/dhclient-eth0.conf .

Se você tiver o Redhat 5 / Centos 5, tente fazer o mesmo, mas a localização do arquivo deve ser /etc/dhclient-eth0.conf .

Você verá por que isso ocorre vendo a seção que faz referência dhclient-${DEVICE}.conf no arquivo /etc/sysconfig/network-scripts/ifup

Se você precisar obter um endereço IP específico, precisará revisar a página de manual do dhclient.

    
por 08.11.2012 / 16:13
4

Para o CentOS 7 AMI, defina um nome de host estático comentando as linhas:

- set_hostname
- update_hostname

em /etc/cloud/cloud.cfg . O caractere de comentário do YAML é # .

Isto é, além de definir o nome do host normalmente.

    
por 13.11.2014 / 01:11
1

Basta adicionar

PEERDNS="no"

em / etc / sysconfig / network-scripts / ifcfg-ethX (testado no CentOS 6)

    
por 18.02.2013 / 16:32
0

A adição do /etc/dhcp/dhclient-eth0.conf (para o AWS AMI (CentOS)) com conteúdo:

interface "eth0"  
{    
  supersede host-name "myworkbox";  
}

pareceu funcionar bem (se estiver usando o dhcp, é claro). Obrigado!

    
por 13.04.2017 / 17:10