Мне нужно проверить настройки DHCP клиента, которые я ожидаю в файле /etc/dhcp/dhclient.conf
, но там нет таких файлов.
Каково расположение этого файла в RHEL 6 на 64-битной версии?
Мне нужно проверить настройки DHCP клиента, которые я ожидаю в файле /etc/dhcp/dhclient.conf
, но там нет таких файлов.
Каково расположение этого файла в RHEL 6 на 64-битной версии?
Ответы:
Хитрость, которую я часто использую, заключается в том, чтобы взглянуть на вывод этой команды, здесь я запускаю ее на CentOS 6, но она также должна быть применима и к вам на 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
Если вы заметили в выводе, файл, который вы ищете, называется /etc/dhcp/dhclient-eth0.conf
, а не dhclient.conf
. Но это только говорит вам часть истории. Если вы намереваетесь ввести дополнительные настройки dhclient
при запуске, обратитесь к официальной документации RHEL 6 здесь, под названием: 14.3. Настройка DHCP-клиента .
Также, если вы обратитесь к странице справочника, dhclient
вы заметите этот бит для -cf
переключателя:
-cf <config-file>
Path to the client configuration file. If unspecified, the default
/etc/dhcp/dhclient.conf is used.
Таким образом, файл dhclient.conf
- это не файл, который вы, скорее всего, ищете, а тот интерфейс, на котором вы работаете dhclient
, в данном случае eth0
, так что файл будет dhclient-eth0.conf
.
Если вы посмотрите на сценарии запуска для работы в сети, вы, скорее всего, натолкнетесь на этот файл /etc/sysconfig/network-scripts/ifup-eth
. Заглянуть внутрь может показать вам, что происходит, если вы заинтересованы:
...
# 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;
...
Таким образом, вы можете создать dhclient.conf
свой собственный файл и удалить интерфейс, который был специально создан для вас системой.
RHEL 6 и новее по умолчанию использует NetworkManager, который создает конфигурацию dhclient на лету.
Вы найдете файл в, /var/lib/NetworkManager/dhclient-*.conf
но вы не можете изменить этот файл, поскольку он создан. Проверьте документацию NetworkManager о том, как установить различные флаги.
Если вы выключите NetworkManager, то ответ сима будет применяться.
В новой установке RHEL 7.5 файл /etc/dhcp/dhclient.conf не существует, но если вы создадите его, содержащий только те параметры, которые вам нужны, это, похоже, сработает. Держу пари, что это работает и для RHEL 6.
locate dhclient.conf
илиfind / -iname dhclient.conf -print
? или еще проще, но грязнееlocate dhclient
илиlocate dhcp