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.


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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.