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?
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é.
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.
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";
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.
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éé
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
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
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
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.
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é.