CentOS7: o Network Manager está usando o domínio de pesquisa errado

2

Com o Network Manager no Red Hat 7, estou vendo um problema em que o domínio de pesquisa antigo / errado está sendo usado depois de alterar o nome do host. No /etc/resolv.conf, vejo:

# Generated by NetworkManager
search **ec2.internal** d.sample.com
nameserver 172.31.0.2

Quando digito hostname , vejo minha saída desejada:

[root@testing01 ~]# hostname
testing01.d.sample.com

Mas, em vez de substituir os domínios de pesquisa, é acrescentar o novo nome de domínio aos domínios de pesquisa. Eu quero me livrar completamente do ec2.internal e dar a esse domínio o machado por completo. A edição do arquivo /etc/resolv.conf é diretamente prejudicada pelo Network Manager. Eu não quero desabilitar o Network Manager, e prefiro não desabilitar o gerenciamento do /etc/resolv.conf do NM, a menos que seja absolutamente necessário.

Então, 1) Por que o NM continua revertendo meu domínio de pesquisa e 2) como posso consertar isso usando apenas as ferramentas nmcli ou de linha de comando?

    
por James Shewey 12.01.2017 / 02:03

2 respostas

2

Depois de algumas horas pesquisando, consegui resolver isso. Acontece que isso estava sendo definido via DHCP:

nmcli -f ip4 device show eth0
IP4.ADDRESS[1]:                         172.31.53.162/20
IP4.GATEWAY:                            172.31.48.1
IP4.DNS[1]:                             172.31.0.2
IP4.DOMAIN[1]:                          ec2.internal

Consegui substituir IP4.DOMAIN [1] ao substituir o valor de pesquisa ipv4.dns da interface de rede:

nmcli connection modify uuid \'nmcli connection show --active | grep 802-3-ethernet | awk '{print $(NF-2)}' | tail -n 1' ipv4.dns-search d.sample.com

Ou, mais simplesmente,

nmcli connection modify System\ eth0 ipv4.dns-search "d.sample.com"

Então você tem que reiniciar o NetworkManager

systemctl restart NetworkManager.service

Também descobri que, como estava trabalhando com uma instância do Amazon, Eu precisava atualizar meu arquivo cloud.cfg.

    
por 12.01.2017 / 08:23
2

O arquivo /etc/resolv.conf sempre será sobrescrito quando houver uma alteração ou atualização na rede. Você pode controlar o que está escrito editando arquivos na pasta /etc/resolvconf/resolv.conf.d/ ... ou seja, o arquivo head .

Coloque isso no arquivo /etc/resolvconf/resolv.conf.d/head :

nameserver 172.31.0.2
search testing01.d.sample.com

Agora, esse será o cabeçalho do /etc/resolv.conf sempre que for atualizado.

Atualizar

Para sistemas baseados em Redhat, use estas etapas:

Edite seu script de rede, localizado em: /etc/sysconfig/network-scripts . Você verá uma entrada para os dispositivos de rede detectados (isto é, ifcfg-eth0 para o adaptador de rede eth0 ).

Edite este arquivo ( /etc/sysconfig/network-scripts/ifcfg-eth0 ):

Anexe esta linha:

DOMAIN=sample.com

Execute também este comando:

$ sudo hostnamectl set-hostname --static "testing01.d.sample.com"

Você provavelmente terá que reinicializar o sistema para que as alterações entrem em vigor.

    
por 12.01.2017 / 02:16