Comment générer automatiquement resolv.conf sur Centos 6.5

8

Je viens d'installer CentOS 6.5 et de configurer les fichiers suivants:

/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

Lorsque je redémarre l'ordinateur, ifconfig eth0affiche une adresse IP mais le resolv.conffichier est vide. Tout ce qu'il dit à l'intérieur est search IM. Il n'y en a pas nameserversdans le fichier.

Cependant, après le démarrage, si je fais dhclient -rpour libérer l'adresse IP, puis tapez dhclient eth0pour obtenir une adresse IP, resolv.confest correctement rempli avec mes serveurs de noms DNS.

Pourquoi cela ne se produit-il pas automatiquement à partir de mes fichiers de configuration? Je pensais que l' dhcpactivation de mon ifcfg-eth0fichier devrait s'en occuper.

La documentation de CentOS indique que le paramétrage NETWORKING=yesdémarre la mise en réseau au démarrage: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html .

Toute aide est appréciée.

user1527227
la source
Supprimez le .IMnom d'hôte et essayez autre chose que localhost, ou omettez-le complètement.
slm
Par ailleurs le script responsable de la mise en place du fichier ainsi que l'ensemble du dispositif eth0 est fait d'ici: /etc/sysconfig/network-scripts/ifup-eth.
slm

Réponses:

3

Définissez NM_CONTROLLED=noet arrêtez le démon Network Manager et empêchez-le de redémarrer pendant le démarrage:

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

Remplissez maintenant votre /etc/resolv.conffichier en fonction de vos besoins.

Sinon, définissez NM_CONTROLLED=yeset laissez le démon NetworkManager en cours d'exécution. Dans ce cas, ajoutez jusqu'à deux entrées DNS dans le ifcfg-eth*fichier comme, par exemple:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

Cela remplira le /etc/resolv.conffichier pour vous.

JRFerguson
la source
1
Le resolv.conffichier doit toujours être mis à jour indépendamment. J'ai de nombreux systèmes sans tête sans NetworkManager qui obtiennent très bien leur contenu à partir du serveur DHCP. Il y a donc autre chose ici.
slm
1
Lorsque NetworkManager est utilisé, il est responsable de la mise /etc/resolv.confà jour à l'aide des données de DHCP. Lorsqu'il n'est pas utilisé, le networkservice s'exécute dhclientqui, à son tour, est responsable de l'écriture du /etc/resolv.conf.
Pavel Šimerda
1
Indépendamment de votre utilisation de "irréfléchi", je devrai être en désaccord avec vous; > PEERDNS - les scripts de démarrage interprètent PEERDNS = no pour signifier "ne jamais toucher resolv.conf". NetworkManager l'interprète comme disant "ne jamais ajouter de serveurs de noms automatiques (DHCP, PPP, VPN, etc.) à resolv.conf". Fournissez la PEERDNS=yesligne au /etc/sysconfig/network-scripts/ifcfg-fichier spécifique pour mettre à jour automatiquement le /etc/resolv.conffichier.
ILMostro_7
0

Depuis la NM-SETTINGS-IFCFG-RH ()page de manuel:

PEERDNS - les scripts de démarrage interprètent PEERDNS = no pour signifier "ne jamais toucher resolv.conf". NetworkManager l'interprète comme disant "ne jamais ajouter de serveurs de noms automatiques (DHCP, PPP, VPN, etc.) à resolv.conf".

Fournissez la ligne PEERDNS = yes au fichier / etc / sysconfig / network-scripts / ifcfg- spécifique pour mettre à jour automatiquement le fichier /etc/resolv.conf.

    PEERDNS=yes

De plus, si vous ne souhaitez pas que l'interface soit contrôlée avec NetworkManager, ajoutez la ligne suivante:

    NM_CONTROLLED=no

Cependant, la première ligne doit être suffisante, que l'interface soit contrôlée par NetworkManager ou non.

ILMostro_7
la source