Como gerar automaticamente o resolv.conf no Centos 6.5


8

Acabei de instalar o CentOS 6.5 e configurei os seguintes arquivos:

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

DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst

Quando eu reinicio o computador, ifconfig eth0mostra um endereço IP, mas o resolv.confarquivo está vazio. Tudo o que diz dentro é search IM. Não há nenhum nameserverslistado no arquivo.

No entanto, após a inicialização, se eu fizer dhclient -rpara liberar o endereço IP e digitar dhclient eth0para obter um endereço IP, resolv.confserá preenchido corretamente com meus servidores de nomes DNS.

Por que isso não está acontecendo automaticamente nos meus arquivos de configuração? Eu pensei que dhcpativado no meu ifcfg-eth0arquivo deveria cuidar disso.

A documentação do CentOS diz que a configuração NETWORKING=yesinicia a rede no momento da inicialização: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html .

Qualquer ajuda é apreciada.


Retire o .IMnome do host e tente algo diferente de localhost ou omita-o completamente.
slm

Aliás o script responsável por definir o arquivo junto com todo o dispositivo eth0 é feito por aqui: /etc/sysconfig/network-scripts/ifup-eth.
slm

Respostas:


3

Defina NM_CONTROLLED=noe pare o daemon do Network Manager e evite que seja reiniciado durante as inicializações:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off

Agora preencha seu /etc/resolv.confarquivo de acordo com suas necessidades.

Caso contrário, defina NM_CONTROLLED=yese deixe o daemon do NetworkManager em execução. Nesse caso, adicione até duas entradas DNS no ifcfg-eth*arquivo como, por exemplo:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

Isso preencherá o /etc/resolv.confarquivo para você.


1
O resolv.confarquivo ainda deve estar sendo atualizado independentemente da situação. Eu tenho muitos sistemas sem cabeça sem o NetworkManager que obtêm seu conteúdo do servidor DHCP muito bem. Então, algo mais está aqui em cima.
slm

1
Quando o NetworkManager está sendo usado, ele é responsável pela atualização /etc/resolv.confusando os dados do DHCP. Quando não está sendo usado, o networkserviço é executado, dhclientque por sua vez é responsável por escrever o arquivo /etc/resolv.conf.
Pavel Šimerda

1
Independentemente do seu uso de "irregular", terei que discordar de você; > PEERDNS - initscripts interpretam PEERDNS = no para significar "nunca toque em resolv.conf". O NetworkManager o interpreta como "nunca adicione servidores de nomes automáticos (DHCP, PPP, VPN etc.) ao resolv.conf". Forneça a PEERDNS=yeslinha ao /etc/sysconfig/network-scripts/ifcfg-arquivo específico para atualizar automaticamente o /etc/resolv.confarquivo.
ILMostro_7 24/10/2015

0

Na NM-SETTINGS-IFCFG-RH ()página de manual:

PEERDNS - initscripts interpretam PEERDNS = no para significar "nunca toque em resolv.conf". O NetworkManager o interpreta como "nunca adicione servidores de nomes automáticos (DHCP, PPP, VPN etc.) ao resolv.conf".

Forneça a linha PEERDNS = yes ao arquivo / etc / sysconfig / network-scripts / ifcfg- para atualizar automaticamente o arquivo /etc/resolv.conf.

    PEERDNS=yes

Além disso, se você não deseja que a interface seja controlada com o NetworkManager, adicione a seguinte linha:

    NM_CONTROLLED=no

No entanto, a primeira linha deve ser suficiente, independentemente de a interface ser controlada pelo NetworkManager ou não.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.