dhclient và dhcpcd sự khác biệt thực sự


13

Tôi không thể tìm ra sự khác biệt từ chỉ các trang nam. Tôi có thể thấy một daemon là gì và một là máy khách, nhưng thực tế điều đó có nghĩa gì khi sử dụng các lệnh? Ngoài ra, sự khác biệt giữa máy khách và trình nền trong trường hợp này, không chỉ các thuật ngữ (máy khách và trình nền) mà còn có chức năng khôn ngoan? EDIT: Các nhiệm vụ được phân chia như thế nào, nếu máy khách cập nhật thông tin trên máy khách, mục đích của daemon là gì. Tôi đang nói về daemon của khách hàng trong trường hợp này dhcpcd không phải dhcpd. Cả hai đều được cài đặt mặc định với một số phiên bản Linux và dường như chia sẻ nhiệm vụ của máy khách dhcp.

TÊN dhcpcd - Trình nền khách DHCP

Name
dhclient - Dynamic Host Configuration Protocol Client 

Câu trả lời:


17

ISC cung cấp dhclient, và như vậy, nó phục vụ như một loại tài liệu tham khảo. Các dhcpcd nhẹ hơn có phần cập nhật hơn. Cả dhcpcd và dhclient đều là các trình tiện ích DHCP client có khả năng đầy đủ. Dhclient không phải là tiện ích "một lần":

người đàn ông thông minh

-w Tiếp tục chạy ngay cả khi không tìm thấy giao diện phát sóng. Thông thường máy khách DHCP sẽ thoát nếu không thể xác định bất kỳ giao diện mạng nào để định cấu hình. (...)

Điều đó giống như hành vi mặc định của dhcpcd.


DHCP là một mục tiêu di động, với các nhà cung cấp khác nhau (đặc biệt là Microsoft) đưa ra các sai lệch khác nhau so với tiêu chuẩn.


2

Debian cung cấp một dhcpcdgói. Mô tả gói đọc như sau:

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

dhclientthường được sử dụng theo cách này: dhclient -v eth0hoặc tương tự - điều sẽ xảy ra là nó sẽ gửi một chương trình phát ra eth0và nếu một máy chủ DHCP trả lời, nó sẽ áp dụng thông tin được cung cấp cho eth0. Sau đó nó sẽ thoát. Nó sẽ không theo dõi giao diện sau đó. Tôi đã không sử dụng dhcpcdnhưng tôi cho rằng đó là mục đích của nó.

Bạn sẽ sử dụng dhclientnếu mọi thứ bị rối tung và bạn muốn lấy IP mới từ máy chủ DHCP theo cách thủ công. Công cụ tốt để có và đó là lý do tại sao nhiều distro bao gồm nó tôi cho rằng.


2

dhclient là máy khách một lần - nó tiếp cận với máy chủ một lần và chỉ một lần để yêu cầu hoặc xác thực địa chỉ IP của khách hàng.

Ngược lại, dhcpcd chạy trong nền và chủ động quản lý các yêu cầu lại sau khi hết thời gian thuê, v.v. Trang mà không cần phải gọi lại.

BTW không nhầm lẫn dhcpcd và dhcpd. Cái sau là một máy chủ dhcp - nghĩa là nó cung cấp địa chỉ cho các thiết bị mạng khi được cấu hình để làm như vậy. Nói chung, bạn sẽ không sử dụng dhcpd trên máy tính trừ khi bạn đang sử dụng máy tính cụ thể đó để quản lý địa chỉ IP cho toàn bộ mạng.


2
Downvote: Tôi không đồng ý. Tôi đã thấy dhclient vẫn chạy và xử lý các gia hạn cho thuê DHCP. Có thể thông tin của bạn là chính xác đối với một số phiên bản phần mềm dhclient, nhưng không phải là ISC dhclient (thường là phiên bản tham chiếu). Hãy thử kiểm tra xem những gì đang chạy sau khi dhclient dường như được thực hiện để làm việc của nó. Bạn có thể thấy rằng, mặc dù nó đã đưa thiết bị đầu cuối trở lại dấu nhắc lệnh, nó vẫn đang chạy.
TẤT CẢ

2

Có vẻ như ISC dhclient không phải là máy khách one-shot. Đó là trang đàn ông nói:

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.

Bạn có thể sử dụng cờ -1 để yêu cầu dhclient chỉ thử một lần để nhận IP và sau đó thoát khi không thành công. Từ trang nam:

The -1 flag cause dhclient to try once to get a lease.  If it 
fails, dhclient exits with exit code two.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.