web-dev-qa-db-fra.com

Comment puis-je ajouter des domaines de recherche supplémentaires au resolv.conf créé par dhclient dans CentOS

Lorsque ma machine virtuelle CentOS démarre, elle utilise DHCP pour obtenir une adresse IP. Il remplace également resolv.conf par les paramètres DNS fournis par le serveur DHCP. Le serveur DHCP ne fournit aucun domaine de recherche, je voudrais donc que dhclient mette une liste des domaines de recherche lorsqu’il l’écrit. Comment puis-je configurer dhclient pour faire cela?

31
Martin Hilton

Aucun de ceux qui ont travaillé, mais le dernier était le plus proche. Pour Red Hat 6, utilisez DOMAIN au lieu de SEARCH comme dans l'exemple ci-dessus et l'emplacement du fichier est différent.

J'ai modifié le fichier /etc/sysconfig/network-scripts/ifcfg-eth0

et changé

DOMAIN=domain.com

à

DOMAIN="domain.com sub.domain.com"

et tout a fonctionné.

30
Dean Hiller

Vous pouvez aussi ajouter une chaîne à /etc/dhcp3/dhclient.conf comme ceci

prepend domain-search "domain1.com", "domain2.com";

Notez que cette méthode fonctionne également avec Debian Lenny et Squeeze.

11
Vyacheslav Gusev

J'ai réussi à résoudre ce problème à la fin. J'ai ajouté une ligne comme celle-ci à /etc/dhclient-eth0.conf

append domain-name "example.com";
7
Martin Hilton

Ceci est principalement une note pour RHEL7 afin de réduire les essais et les erreurs. La réponse de Dean consistant à utiliser DOMAIN = "domain1.exmaple.com domain2.example.com" dans /etc/sysconfig/network-scripts/ifcfg-device.conf fonctionne. Une note intéressante est le domaine de l'hôte que la connexion obtient de DHCP est toujours ajouté au début du chemin de recherche, même si vous le laissez en dehors de DOMAIN = ou si vous le placez plus tard dans une liste pour DOMAIN =. Il semble que/sbin/dhclient-script contient une série de logique liée à cela.

Lors de mes tests, j’ai trouvé que la suggestion de Philip d’utiliser /etc/dhcp/dhclient-device.conf fonctionnait également, bien qu’il existe un comportement étrange avec cela, probablement dû à cette même logique dans/sbin/dhclient-script qui tente de: déplacer les choses. Par exemple, si vous ne remplacez ni ne prévoyez pas de travail comme prévu, le domaine de l'hôte sera le premier. Remarque supplémentaire sur cette méthode, /var/lib/NetworkManager/dhclient-device.conf est le fichier NetworkManager généré et est utilisé par le client. Si vous avez un fichier dans/etc/dhcp/qui est lu, vous le verrez collé en haut du fichier et quelques options supplémentaires seront ajoutées ci-dessous.

3
Matt Pie

Pour ceux qui parcourent la pile de scripts plutôt opaque de Fedora/Red Hat, la réponse, du moins sur la dernière AMI d’Amazon, est /etc/dhclient-eth0.conf (et non le dossier vide de leurre situé dans/etc/dhcp /). Le fichier n'est pas présent et devra être créé

2
Dr David C Crooke

La réponse /etc/dhclient-eth0.conf ci-dessus n'a pas fonctionné pour moi. Je n'ai pas de répertoire /etc/dhcp3, donc je ne pensais pas que cela fonctionnerait non plus.

Après avoir examiné le fichier /sbin/dhclient-script (qui crée /etc/resolv.conf sur mon système Centos 5.6), j'ai ajouté la ligne SEARCH ci-dessous à /etc/sysconfig/networking/devices/ifcfg-eth0:.

DEVICE=eth0 
BOOTPROTO=dhcp
HWADDR=08:00:24:61:17:AC 
ONBOOT=yes
TYPE=Ethernet
SEARCH="example.com sub1.example.com sub2.example.com"

Ensuite:

# ifdown eth0
# ifup eth0
#  cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search example.com sub1.example.com sub2.example.com
nameserver 10.1.0.11
2
BabarOnWheels

Sur CentOS 6, j'utilise le fichier suivant pour ajouter mon domaine de recherche DNS préféré:

[root@beamish ~]# cat /etc/dhcp/dhclient-eth0.conf 
interface "eth0" {
    supersede domain-search "dns1.example.com";
}
[root@beamish ~]# getenforce 
Enforcing
[root@beamish ~]# ls -lZ /etc/dhcp/dhclient-eth0.conf 
-rw-r--r--. root root system_u:object_r:bin_t:s0   /etc/dhcp/dhclient-eth0.conf
[root@beamish ~]#

Ce fichier est le premier qui est vérifié dans /etc/sysconfig/network-scripts/ifup-eth:

if [ -s /etc/dhcp/dhclient-${DEVICE}.conf ]; then
   DHCLIENTCONF="-cf /etc/dhcp/dhclient-${DEVICE}.conf";

Voir aussi https://serverfault.com/questions/231076/configuring-dhcp-on-rhel-6

2
Philip Durbin

Dans Fedora 19, ajoutez les lignes suivantes à /etc/dhcp/dhclient.conf

# /etc/dhcp/dhclient.conf

interface "p2p1"
{
    supersede domain-name-servers 8.8.8.8, 8.8.4.4;
    append domain-name " mydomain.net example.com";
}

Travaillez bien avec NetworkManager. Détails voir: # man dhclient.conf

1
Ruslan K

Ajoutez à la conf du serveur DHCP (isc dhcpd):

option domain-name "domain1.com domain2.net domain3.org";

Où domain1.com, etc. sont les suffixes de domaine que vous souhaitez ajouter au fichier resolv.conf sur chaque client.

0
LinuxUser

Puisque je ne vois pas cette réponse et que cela a fonctionné pour moi (contrairement aux autres), la voici: éditez /etc/resolvconf/resolv.conf.d/base de la même manière que vous le feriez avec /etc/resolv.conf. Vous aurez besoin de resolvconf installé.

0
appas