dhclient dan dhcpcd perbedaan nyata

13

Saya tidak dapat menemukan perbedaan hanya dari halaman manual. Saya dapat melihat apa itu daemon dan satu adalah klien, tetapi apa artinya secara praktis ketika menggunakan perintah? Juga apa perbedaan antara klien dan daemon dalam kasus ini, bukan hanya istilah (klien dan daemon) tetapi secara fungsional bijaksana? EDIT: Bagaimana tugas dibagi, jika klien memperbarui informasi pada klien, apa tujuan daemon. Saya berbicara tentang daemon klien dalam hal ini dhcpcd bukan dhcpd. Keduanya diinstal secara default dengan beberapa versi Linux dan tampaknya berbagi tugas klien dhcp.

NAME dhcpcd - daemon klien DHCP

Name
dhclient - Dynamic Host Configuration Protocol Client 
rubixibuc
sumber

Jawaban:

17

ISC menyediakan dhclient, dan karenanya, berfungsi sebagai semacam referensi. Dhcpcd lebih ringan agak lebih up to date. Baik dhcpcd dan dhclient adalah daemon klien DHCP yang sepenuhnya mampu. Dhclient bukan utilitas "satu kali":

man dhclient

-w Lanjutkan berjalan walaupun tidak ada antarmuka siaran yang ditemukan. Biasanya klien DHCP akan keluar jika tidak dapat mengidentifikasi antarmuka jaringan untuk dikonfigurasikan. (...)

Itu lebih seperti perilaku default dari dhcpcd.


DHCP telah menjadi semacam target yang bergerak, dengan berbagai vendor (Microsoft khususnya) memperkenalkan berbagai penyimpangan dari standar.

seseorang
sumber
2

Debian menawarkan dhcpcdpaket. Deskripsi paket berbunyi sebagai berikut:

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

dhclientbiasanya digunakan dengan cara ini: dhclient -v eth0atau serupa - yang akan terjadi adalah ia akan mengirimkan siaran eth0, dan jika server DHCP membalas, ia akan menerapkan informasi yang diberikan kepada eth0. Kemudian akan keluar. Itu tidak akan memonitor antarmuka sesudahnya. Saya belum pernah menggunakan dhcpcdtetapi saya menganggap itu adalah tujuannya.

Anda akan menggunakan dhclientjika ada masalah dan Anda ingin mengambil IP baru dari server DHCP secara manual. Alat yang bagus untuk dimiliki dan itu sebabnya banyak distro memasukkannya, saya kira.

LawrenceC
sumber
2

dhclient adalah klien sekali pakai - ia menjangkau server sekali dan hanya sekali untuk meminta atau memvalidasi alamat IP klien.

Sebaliknya, dhcpcd berjalan di latar belakang dan secara aktif mengelola permintaan ulang setelah masa sewa habis, dll. H. Tanpa perlu dipanggil lagi.

BTW jangan bingung dhcpcd dan dhcpd. Yang terakhir adalah server dhcp - yang membagikan alamat ke perangkat jaringan ketika dikonfigurasi untuk melakukannya. Anda umumnya tidak akan menggunakan dhcpd di komputer kecuali Anda menggunakan komputer itu untuk mengelola alamat IP untuk seluruh jaringan.

uSlackr
sumber
2
Downvoting: Saya tidak setuju. Saya telah melihat dhclient tetap berjalan, dan menangani pembaruan sewa DHCP. Mungkin info Anda akurat untuk beberapa versi perangkat lunak dhclient, tetapi bukan dhclient ISC (yang biasanya merupakan versi referensi). Coba periksa untuk melihat apa yang berjalan setelah dhclient tampaknya selesai melakukan hal tersebut. Anda mungkin menemukan bahwa, meskipun terminal kembali ke prompt perintah, terminal masih berjalan.
TOOGAM
2

Sepertinya dhclient ISC bukan klien sekali pakai. Halaman manual mengatakan:

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.

Anda dapat menggunakan flag -1 untuk meminta dhclient untuk mencoba hanya sekali untuk mendapatkan IP dan kemudian keluar saat gagal. Dari halaman manual:

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