Dhclient и Dhcpcd реальная разница

13

Я не могу понять разницу только с справочными страницами. Я вижу, что такое демон, а другой - клиент, но что это означает практически при использовании команд? Кроме того, в чем разница между клиентом и демоном в этом случае, не только терминами (клиент и демон), но и функционально? РЕДАКТИРОВАТЬ: Как разделить задачи, если клиент обновляет информацию о клиенте, какова цель демона. Я говорю о клиентском демоне в этом случае dhcpcd, а не dhcpd. Оба устанавливаются по умолчанию с некоторыми версиями Linux и, похоже, разделяют обязанности клиента dhcp.

NAME dhcpcd - демон клиента DHCP

Name
dhclient - Dynamic Host Configuration Protocol Client 
rubixibuc
источник

Ответы:

17

ISC предоставляет dhclient, и, таким образом, он служит своего рода ссылкой. Более легкий dhcpcd несколько более современный. И dhcpcd, и dhclient являются полностью работоспособными демон-клиентами DHCP. Dhclient не является "одноразовой" утилитой:

человек больной

-w Продолжить работу, даже если широковещательные интерфейсы не найдены. Обычно DHCP-клиент завершает работу, если он не может определить какие-либо сетевые интерфейсы для настройки. (...)

Это больше похоже на поведение по умолчанию dhcpcd.


DHCP был своего рода движущейся целью, и различные поставщики (в частности, Microsoft) вводили различные отклонения от стандарта.

кто-то
источник
2

Debian предлагает dhcpcdпакет. Описание упаковки гласит:

Simple configuration: supports executions of a script when the IP address changes.

dhclientобычно используется следующим образом: dhclient -v eth0или аналогичным образом - в результате будет отправлена ​​широковещательная рассылка eth0, и, если сервер DHCP ответит, он применит полученную информацию eth0. Затем он выйдет. После этого он не будет контролировать интерфейс. Я не использовал, dhcpcdно я предполагаю, что это его цель.

Вы будете использовать, dhclientесли что-то напутает, и вы хотите получить новый IP-адрес с DHCP-сервера вручную. Хороший инструмент, и поэтому многие дистрибутивы включают его, я полагаю.

LawrenceC
источник
2

dhclient - это однократный клиент - он обращается к серверу один раз и только один раз, чтобы запросить или подтвердить IP-адрес клиента.

Напротив, dhcpcd работает в фоновом режиме и активно управляет повторными запросами после истекшего срока аренды и т. П. Без необходимости повторного вызова.

Кстати, не путайте dhcpcd и dhcpd. Последний является сервером dhcp - то есть он раздает адреса сетевым устройствам, когда настроен для этого. Как правило, вы не будете использовать dhcpd на компьютере, если вы не используете этот конкретный компьютер для управления IP-адресами всей сети.

uSlackr
источник
2
Downvoting: я не согласен. Я видел, как dhclient продолжает работать и обрабатывает обновления аренды DHCP. Возможно, ваша информация верна для некоторой версии программного обеспечения dhclient, но не для ISC dhclient (которая обычно является эталонной версией). Попробуйте проверить, что работает после того, как dhclient, кажется, сделал свое дело. Вы можете обнаружить, что, несмотря на то, что он вернул терминал обратно в командную строку, он все еще работает.
TOOGAM
2

Похоже, что ISC dhclient не является одноразовым клиентом. Это страница руководства говорит:

The DHCP client will normally run in the foreground until it has 
configured an interface, and then will revert to running in the 
back-ground.

Вы можете использовать флаг -1, чтобы попросить dhclient попытаться получить IP-адрес только один раз, а затем выйти из него при ошибке. С man-страницы:

The -1 flag cause dhclient to try once to get a lease.  If it 
fails, dhclient exits with exit code two.
Владимир
источник