Расположение dhclient.conf

12

Мне нужно проверить настройки DHCP клиента, которые я ожидаю в файле /etc/dhcp/dhclient.conf, но там нет таких файлов.

Каково расположение этого файла в RHEL 6 на 64-битной версии?

user2799508
источник
Вопрос был задан в прошлом году, я знаю, но я просто хотел добавить свои два цента: почему бы не использовать locate dhclient.confили find / -iname dhclient.conf -print? или еще проще, но грязнее locate dhclientилиlocate dhcp
Сергей Колодяжный

Ответы:

10

Хитрость, которую я часто использую, заключается в том, чтобы взглянуть на вывод этой команды, здесь я запускаю ее на 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свой собственный файл и удалить интерфейс, который был специально создан для вас системой.

SLM
источник
5

RHEL 6 и новее по умолчанию использует NetworkManager, который создает конфигурацию dhclient на лету.

Вы найдете файл в, /var/lib/NetworkManager/dhclient-*.confно вы не можете изменить этот файл, поскольку он создан. Проверьте документацию NetworkManager о том, как установить различные флаги.

Если вы выключите NetworkManager, то ответ сима будет применяться.

lzap
источник
1

В новой установке RHEL 7.5 файл /etc/dhcp/dhclient.conf не существует, но если вы создадите его, содержащий только те параметры, которые вам нужны, это, похоже, сработает. Держу пари, что это работает и для RHEL 6.

Эрик Шафто
источник