2010-02-19 10:35:31 +0000 2010-02-19 10:35:31 +0000
35
35

Jak mogę dodać dodatkowe domeny wyszukiwania do resolv.conf utworzonego przez dhclient w CentOS?

Kiedy moja maszyna wirtualna CentOS uruchamia się, używa DHCP, aby uzyskać adres IP. Nadpisuje również resolv.conf ustawieniami DNS dostarczonymi przez serwer DHCP. Serwer DHCP nie dostarcza żadnych domen wyszukiwania, więc chciałbym, aby dhclient umieścił listę domen wyszukiwania, kiedy ją zapisuje. Jak mogę skonfigurować dhclienta aby to robił?

答案 (10)

32
32
32
2012-08-27 13:16:49 +0000

Żaden z nich nie zadziałał, ale ostatni był najbliższy. Dla Red Hat 6, Użyj DOMAIN zamiast SEARCH jak w powyższym przykładzie, a lokalizacja pliku jest inna.

Zmodyfikowałem plik /etc/sysconfig/network-scripts/ifcfg-eth0

i zmieniłem

DOMAIN=domain.com

na

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

i wszystko zadziałało.

11
11
11
2011-03-29 14:44:49 +0000

Możesz także dodać łańcuch do /etc/dhcp3/dhclient.conf w następujący sposób

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

Zauważ, że ta metoda działa także z Debianem Lenny i Squeeze.

7
7
7
2010-02-19 16:46:58 +0000

W końcu udało mi się to rozpracować. Dodałem linię jak poniżej do /etc/dhclient-eth0.conf

append domain-name "example.com";
4
4
4
2014-09-17 18:03:56 +0000

Jest to głównie uwaga dla RHEL7, aby zmniejszyć liczbę prób i błędów. Odpowiedź Deana ](https://superuser.com/a/466912/500826) z użyciem DOMAIN="domain1.exmaple.com domain2.example.com" w /etc/sysconfig/network-scripts/ifcfg-device.conf działa. Interesującą uwagą jest domena hosta, którą połączenie dostaje z DHCP, jest zawsze poprzedzona ścieżką wyszukiwania, nawet jeśli pominiesz ją z DOMAIN= lub umieścisz ją później na liście dla DOMAIN=. Wygląda na to, że /sbin/dhclient-script ma całą masę logiki z tym związanej.

W moich testach odkryłem, że sugestia Philipa używania /etc/dhcp/dhclient-device.conf również działa, chociaż jest jakieś dziwne zachowanie z tym, najprawdopodobniej z powodu tej samej logiki w /sbin/dhclient-script, która próbuje przenieść rzeczy wokół. Na przykład, ani supercede ani prepend nie działają zgodnie z oczekiwaniami, domena hosta będzie pierwsza. Jako uwaga poboczna do tej metody, /var/lib/NetworkManager/dhclient-device.conf jest wygenerowanym plikiem NetworkManagera i jest używany przez klienta. Jeśli masz plik w /etc/dhcp/, który zostanie wczytany, zobaczysz go wklejonego na górze pliku i kilka dodatkowych opcji dodanych poniżej.

2
2
2
2012-01-04 15:11:33 +0000

W systemie CentOS 6 używam następującego pliku, aby dodać moją preferowaną domenę wyszukiwania DNS:

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

Ten plik jest pierwszym, który jest sprawdzany w /etc/sysconfig/network-scripts/ifup-eth:

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

Zobacz także: redhat - Configuring DHCP on RHEL 6 - Server Fault

2
2
2
2011-06-02 15:45:35 +0000

Powyższa odpowiedź /etc/dhclient-eth0.conf nie zadziałała dla mnie. Nie mam katalogu /etc/dhcp3, więc nie sądziłem, że to też może zadziałać.

Po zbadaniu pliku /sbin/dhclient-script (który tworzy /etc/resolv.conf na moim systemie Centos 5.6), dodałem poniższą linię SEARCH do /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"

Następnie:

# 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
2
2
2013-09-20 20:16:29 +0000

Dla każdego, kto przechodzi przez Fedorę / Red Hat’s raczej nieprzejrzysty stos skryptów, odpowiedzią, przynajmniej na najnowszym AMI Amazona, jest /etc/dhclient-eth0.conf (a nie pusty folder wabika w /etc/dhcp/ ). Plik ten nie jest obecny i będzie musiał zostać utworzony

1
1
1
2013-11-22 08:29:07 +0000

W Fedorze 19 dodaj następne linie do /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";
}

Działa dobrze z NetworkManagerem. Szczegóły zobacz: # man dhclient.conf

0
0
0
2012-08-27 15:32:39 +0000

Dodaj do conf serwera dchp (isc dhcpd):

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

Gdzie domain1.com,etc… są sufiksami domen, które chcesz dodać do pliku resolv.conf na każdym kliencie.

0
0
0
2015-05-26 02:13:19 +0000

Ponieważ nie widzę tej odpowiedzi i zadziałała ona dla mnie (podczas gdy inni nie), oto ona: edytuj /etc/resolvconf/resolv.conf.d/base w taki sam sposób, w jaki edytowałbyś /etc/resolv.conf. Będziesz potrzebował zainstalowanego resolvconf.