Muszę sprawdzić ustawienia DHCP klienta, których spodziewam się w pliku /etc/dhcp/dhclient.conf
, ale nie ma takich plików.
Jaka jest lokalizacja tego pliku w RHEL 6, w wersji 64-bitowej?
Muszę sprawdzić ustawienia DHCP klienta, których spodziewam się w pliku /etc/dhcp/dhclient.conf
, ale nie ma takich plików.
Jaka jest lokalizacja tego pliku w RHEL 6, w wersji 64-bitowej?
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:
$ ps -eaf | grep dhcli
root 1044 1 0 Jan17 ? 00:00:00 /sbin/dhclient -1 -q -cf /etc/dhcp/dhclient-eth0.conf -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
root 3771 3738 0 19:00 pts/0 00:00:00 grep dhcli
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 dhclient
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:
-cf <config-file>
Path to the client configuration file. If unspecified, the default
/etc/dhcp/dhclient.conf is used.
Tak więc plik dhclient.conf
nie 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
.
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.conf
plik 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-*.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.
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