Pytanie zostało zadane w zeszłym roku, wiem, ale chciałem tylko dodać dwa centy: dlaczego nie użyć locate dhclient.conflub find / -iname dhclient.conf -print? lub nawet prostsze, ale brudniejsze locate dhclientlublocate dhcp
Sergiy Kolodyazhnyy
Odpowiedzi:
10
Sztuczka, której często używam, to spojrzenie na wynik tego polecenia, tutaj uruchamiam je na CentOS 6, ale powinno ono mieć zastosowanie również w przypadku RHEL:
Jeśli zauważysz w wynikach, plik, którego szukasz, jest wywoływany /etc/dhcp/dhclient-eth0.conf, a nie dhclient.conf. Ale to tylko część historii. Jeśli zamierzasz wprowadzić dodatkowe ustawienia dhclientpodczas uruchamiania, zapoznaj się z oficjalną dokumentacją RHEL 6 tutaj, zatytułowaną: 14.3. Konfigurowanie klienta DHCP .
Również jeśli zajrzysz na stronę manuala dhclient, zauważysz ten bit dla -cfprzełącznika:
-cf <config-file>
Path to the client configuration file. If unspecified, the default
/etc/dhcp/dhclient.conf is used.
Tak więc plik dhclient.confnie jest plikiem, którego prawdopodobnie szukasz, jest to dowolny interfejs, na którym działasz dhclient, w tym przypadku eth0, więc plik będzie dhclient-eth0.conf.
Kopać głębiej
Jeśli spojrzeć na skryptach startowych dla sieci będziesz prawdopodobnie natknąć tym pliku /etc/sysconfig/network-scripts/ifup-eth. Zajrzenie do środka może pokazać ci, co się dzieje, jeśli jesteś zainteresowany:
...
# allow users to use generic '/etc/dhclient.conf' (as documented in manpage!)
# if per-device file doesn't exist or is empty
if [ -s /etc/dhcp/dhclient-${DEVICE}.conf ]; then
DHCLIENTCONF="-cf /etc/dhcp/dhclient-${DEVICE}.conf";
elif [ -s /etc/dhclient-${DEVICE}.conf ]; then
DHCLIENTCONF="-cf /etc/dhclient-${DEVICE}.conf";
else
DHCLIENTCONF='';
fi;
...
Możesz więc utworzyć własny dhclient.confplik i usunąć interfejs, który został stworzony przez system.
RHEL 6 i nowsze wersje domyślnie używają NetworkManager, który tworzy konfigurację dhclient w locie.
Znajdziesz plik, /var/lib/NetworkManager/dhclient-*.confale nie możesz go zmienić, ponieważ jest on generowany automatycznie. Sprawdź dokumentację NetworkManager dotyczącą ustawiania różnych flag.
Jeśli wyłączysz NetworkManagera, zastosowanie ma odpowiedź karty SIM.
W przypadku nowej instalacji RHEL 7.5 plik /etc/dhcp/dhclient.conf nie istnieje, ale jeśli utworzysz go z wybranymi opcjami, wydaje się, że działa. Założę się, że to działa również dla RHEL 6.
locate dhclient.conf
lubfind / -iname dhclient.conf -print
? lub nawet prostsze, ale brudniejszelocate dhclient
lublocate dhcp
Odpowiedzi:
Sztuczka, której często używam, to spojrzenie na wynik tego polecenia, tutaj uruchamiam je na CentOS 6, ale powinno ono mieć zastosowanie również w przypadku RHEL:
Jeśli zauważysz w wynikach, plik, którego szukasz, jest wywoływany
/etc/dhcp/dhclient-eth0.conf
, a niedhclient.conf
. Ale to tylko część historii. Jeśli zamierzasz wprowadzić dodatkowe ustawieniadhclient
podczas uruchamiania, zapoznaj się z oficjalną dokumentacją RHEL 6 tutaj, zatytułowaną: 14.3. Konfigurowanie klienta DHCP .Również jeśli zajrzysz na stronę manuala
dhclient
, zauważysz ten bit dla-cf
przełącznika:Tak więc plik
dhclient.conf
nie jest plikiem, którego prawdopodobnie szukasz, jest to dowolny interfejs, na którym działaszdhclient
, w tym przypadkueth0
, więc plik będziedhclient-eth0.conf
.Kopać głębiej
Jeśli spojrzeć na skryptach startowych dla sieci będziesz prawdopodobnie natknąć tym pliku
/etc/sysconfig/network-scripts/ifup-eth
. Zajrzenie do środka może pokazać ci, co się dzieje, jeśli jesteś zainteresowany:Możesz więc utworzyć własny
dhclient.conf
plik i usunąć interfejs, który został stworzony przez system.źródło
RHEL 6 i nowsze wersje domyślnie używają NetworkManager, który tworzy konfigurację dhclient w locie.
Znajdziesz plik,
/var/lib/NetworkManager/dhclient-*.conf
ale nie możesz go zmienić, ponieważ jest on generowany automatycznie. Sprawdź dokumentację NetworkManager dotyczącą ustawiania różnych flag.Jeśli wyłączysz NetworkManagera, zastosowanie ma odpowiedź karty SIM.
źródło
W przypadku nowej instalacji RHEL 7.5 plik /etc/dhcp/dhclient.conf nie istnieje, ale jeśli utworzysz go z wybranymi opcjami, wydaje się, że działa. Założę się, że to działa również dla RHEL 6.
źródło