it-swarm.com.de

Wie kann ich der von dhclient in CentOS erstellten resolv.conf zusätzliche Suchdomänen hinzufügen?

Wenn meine virtuelle CentOS-Maschine gestartet wird, verwendet sie DHCP, um eine IP-Adresse abzurufen. Außerdem wird die Datei resolv.conf mit den vom DHCP-Server bereitgestellten DNS-Einstellungen überschrieben. Der DHCP-Server stellt keine Suchdomänen bereit. Ich möchte, dass dhclient beim Schreiben eine Liste mit Suchdomänen erstellt. Wie kann ich dhclient dafür konfigurieren?

31
Martin Hilton

Keiner von denen hat funktioniert, aber der letzte war der nächste. Verwenden Sie für Red Hat 6 DOMAIN anstelle von SEARCH wie im obigen Beispiel, und der Speicherort der Datei ist unterschiedlich.

Ich habe die Datei /etc/sysconfig/network-scripts/ifcfg-eth0 geändert

und verändert

DOMAIN=domain.com

zu

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

und es hat alles geklappt.

30
Dean Hiller

Sie können auch so einen String zu /etc/dhcp3/dhclient.conf hinzufügen

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

Beachten Sie, dass diese Methode auch mit Debian Lenny und Squeeze funktioniert.

11

Am Ende habe ich es geschafft, das herauszufinden. Ich habe eine Zeile wie die folgende zu /etc/dhclient-eth0.conf hinzugefügt

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

Dies ist hauptsächlich ein Hinweis für RHEL7, um die Anzahl der Versuche und Fehler zu verringern. Deans Antwort auf die Verwendung von DOMAIN = "domain1.exmaple.com domain2.example.com" in /etc/sysconfig/network-scripts/ifcfg-device.conf funktioniert. Ein interessanter Hinweis ist, dass die Domäne des Hosts, die die Verbindung von DHCP erhält, immer dem Suchpfad vorangestellt wird, auch wenn Sie sie nicht in DOMAIN = oder später in eine Liste für DOMAIN = aufnehmen. Es sieht so aus, als ob/sbin/dhclient-script eine Reihe von logischen Elementen enthält, die damit zusammenhängen.

Bei meinen Tests stellte ich fest, dass Philips Vorschlag, /etc/dhcp/dhclient-device.conf zu verwenden, auch funktioniert, obwohl es dabei ein merkwürdiges Verhalten gibt, das höchstwahrscheinlich auf die gleiche Logik in/sbin/dhclient-script zurückzuführen ist, die dies versucht Dinge bewegen. Beispielsweise wird die Domain des Hosts an erster Stelle stehen, wenn die Arbeit nicht wie erwartet abgelöst oder vorangestellt wird. Als Randnotiz zu dieser Methode ist /var/lib/NetworkManager/dhclient-device.conf die generierte NetworkManager-Datei, die vom Client verwendet wird. Wenn Sie eine Datei in/etc/dhcp/haben, die eingelesen wird, wird sie oben in die Datei eingefügt und unten werden einige zusätzliche Optionen hinzugefügt.

3
Matt Pie

Für alle, die Fedora/Red Hats ziemlich undurchsichtigen Stapel von Skripten durchgehen, lautet die Antwort, zumindest auf dem neuesten AMI von Amazon, /etc/dhclient-eth0.conf (und nicht der leere Ordner von/etc/dhcp /). Die Datei ist nicht vorhanden und muss erstellt werden

2

Die /etc/dhclient-eth0.conf Antwort oben hat bei mir nicht funktioniert. Ich habe kein /etc/dhcp3 -Verzeichnis, daher habe ich nicht gedacht, dass dies auch funktionieren würde.

Nach der Überprüfung der /sbin/dhclient-script-Datei (die /etc/resolv.conf auf meinem Centos 5.6-System erstellt) habe ich die folgende SEARCH-Zeile zu /etc/sysconfig/networking/devices/ifcfg-eth0: hinzugefügt.

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

Dann:

# 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

Unter CentOS 6 verwende ich die folgende Datei, um meine bevorzugte DNS-Suchdomäne hinzuzufügen:

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

Diese Datei ist die erste, die in /etc/sysconfig/network-scripts/ifup-eth überprüft wird:

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

Siehe auch https://serverfault.com/questions/231076/configuring-dhcp-on-rhel-6

2
Philip Durbin

In Fedora 19 füge die nächsten Zeilen zu /etc/dhcp/dhclient.conf hinzu

# /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";
}

Funktioniert einwandfrei mit NetworkManager. Details siehe: # man dhclient.conf

1
Ruslan K

Zum DHCP-Server hinzufügen conf (isc dhcpd):

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

Wobei domain1.com usw. die Domänensuffixe sind, die auf jedem Client zur Datei resolv.conf hinzugefügt werden sollen.

0
LinuxUser

Da ich diese Antwort nicht sehe und sie bei mir funktioniert hat (während die anderen dies nicht taten), lautet sie hier: /etc/resolvconf/resolv.conf.d/base genauso bearbeiten wie Sie /etc/resolv.conf. Sie müssen resolvconf installiert haben.

0
appas