web-dev-qa-db-ja.com

dhclientとdhcpcdの本当の違い

Manページだけでは違いがわかりません。デーモンとクライアントの違いはわかりますが、コマンドを使用すると、実際にはどういう意味ですか?また、この場合のクライアントとデーモンの違いは何ですか?(クライアントとデーモン)という用語だけでなく、機能的にも賢明ですか? 編集:クライアントがクライアントの情報を更新した場合のタスクの分割方法、デーモンの目的は何ですか。この場合、クライアントデーモンについて話しているのですが、dhcpcdではなくdhcpcdです。どちらもデフォルトでインストールされます。 Linuxの一部のバージョンでは、dhcpクライアントの役割を共有しているようです。

名前dhcpcd-DHCPクライアントデーモン

Name
dhclient - Dynamic Host Configuration Protocol Client 
13
rubixibuc

ISCはdhclientを提供するため、一種のリファレンスとして機能します。より軽量なdhcpcdは、いくぶん最新です。 dhcpcdとdhclientはどちらも、完全に機能するDHCPクライアントデーモンです。 Dhclientは「1回限り」のユーティリティではありません。

man dhclient

-wブロードキャストインターフェイスが見つからなかった場合でも実行を継続します。通常、DHCPクライアントは、構成するネットワークインターフェイスを識別できない場合に終了します。 (...)

これは、dhcpcdのデフォルトの動作に似ています。


DHCPは、さまざまなベンダー(特にMicrosoft)が標準からのさまざまな逸脱を導入しているため、移動目標のようなものでした。

17
somebody

Debianはdhcpcdパッケージを提供しています。パッケージの説明は次のようになります。

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

dhclientは通常、次のように使用されます:_dhclient -v eth0_または同様-_eth0_からブロードキャストを送信し、DHCPサーバーが応答すると情報を適用します_eth0_に与えられます。その後、終了します。その後はインターフェースを監視しません。私はdhcpcdを使用していませんが、それがその目的であると思います。

混乱していて、DHCPサーバーから新しいIPを手動でフェッチしたい場合は、dhclientを使用します。優れたツールであり、それが多くのディストリビューションに含まれている理由だと思います。

2
LawrenceC

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を取得するために1回だけ試行し、失敗すると終了するように要求できます。 manページから:

The -1 flag cause dhclient to try once to get a lease.  If it 
fails, dhclient exits with exit code two.
2
Vladimir

dhclientはワンショットクライアントです-サーバーに到達一度だけクライアントのIPアドレスを要求または検証します。

対照的に、dhcpcdはバックグラウンドで実行され、リース時間などの期限切れ後の再要求を積極的に管理します。再度呼び出す必要はありません。

ところで、dhcpcdとdhcpdを混同しないでください。後者はdhcpサーバーです。つまり、設定されている場合、ネットワークデバイスにアドレスを渡します。特定のコンピューターを使用してネットワーク全体のIPアドレスを管理しているのでない限り、コンピューターでdhcpdを使用することは通常ありません。

2
uSlackr