Dhclient - Linux / Unix命令

dhclient - 動態主機配置協議客戶端

概要

dhclient [ -p port ] [ -d ] [ -q ] [ -1 ] [ -r ] [ -lf 租賃文件 ] [ -pf pid文件 ] [ -cf 配置文件 ] [ -sf 腳本文件 ] [ -s 服務器 ] [ -g中繼] [ -n ] [ -nw ] [ -w ] [ if0 [ ... ifN ]]

描述

Internet軟件聯盟DHCP客戶端dhclient通過靜態分配地址提供了一種使用動態主機配置協議,BOOTP協議配置一個或多個網絡接口或者這些協議失敗的方法。

操作

DHCP協議允許主機聯繫中央服務器,該中央服務器維護可以在一個或多個子網上分配的IP地址列表。 DHCP客戶端可以從該池中請求地址,然後臨時將其用於網絡通信。 DHCP協議還提供了一種機制,客戶可以通過該機制了解其所連接網絡的重要細節,例如默認路由器的位置,名稱服務器的位置等。

啟動時,dhclient會讀取dhclient.conf以獲取配置說明。 然後它會獲取當前系統中配置的所有網絡接口的列表。 對於每個接口,它都會嘗試使用DHCP協議配置接口。

為了跟踪系統重啟和服務器重啟時的租用情況,dhclient會在dhclient.leases (5)文件中保存它已分配的租約列表。 在啟動時,讀取dhclient.conf文件後,dhclient讀取dhclient.leases文件以刷新其已分配租約的內存。

當獲得新的租約時,它將附加到dhclient.leases文件的末尾。 為了防止文件變得任意大,dhclient會不時從它的內核租約數據庫中創建一個新的dhclient.leases文件。 舊版本的dhclient.leases文件保留在名稱dhclient.leases〜下,直到下一次dhclient重寫數據庫。

如果DHCP服務器在第一次調用dhclient時(通常是在初始系統引導過程中)不可用,舊租約將保留。 在這種情況下,對dhclient.leases文件中尚未過期的舊租約進行測試,如果它們被確定為有效,則會使用它們,直到它們到期或DHCP服務器可用。

有時可能需要訪問不存在DHCP服務器的網絡的移動主機可能預裝有該網絡上固定地址的租約。 當所有聯繫DHCP服務器的嘗試都失敗時,dhclient會嘗試驗證靜態租約,如果成功,將使用該租約直到重新啟動。

移動主機也可能會前往某些網絡,但DHCP不可用但BOOTP在。 在這種情況下,與網絡管理員一起安排在BOOTP數據庫中的條目可能是有利的,以便主機可以在該網絡上快速啟動,而不是循環通過舊租約列表。

命令行

dhclient應嘗試配置的網絡接口的名稱可以在命令行中指定。 如果在命令行中沒有指定接口名稱,則dhclient通常將標識所有網絡接口,如果可能則消除非廣播接口,並嘗試配置每個接口。

也可以在dhclient.conf(5)文件中按名稱指定接口。 如果以這種方式指定接口,則客戶端將只配置在配置文件或命令行中指定的接口,並將忽略所有其他接口。

如果DHCP客戶端應偵聽並在標準(端口68)以外的端口上傳輸,則可以使用-p標誌。 應該跟隨dhclient應該使用的udp端口號。 這對於調試目的非常有用。 如果為客戶端指定了不同的端口以偵聽和發送,則客戶端也將使用不同的目標端口 - 一個大於指定的目標端口。

DHCP客戶端在獲取IP地址之前,通常會將其發送的任何協議消息發送到IP限制的廣播地址255.255.255.255。 出於調試目的,讓服務器將這些消息傳輸到其他地址可能會很有用。 這可以用-s標誌指定,後跟目標的IP地址或域名。

出於測試目的,可以使用-g標誌設置客戶端發送的所有數據包的giaddr字段,然後再發送IP地址。 這只對測試有用,不應期望以任何一致或有用的方式工作。

DHCP客戶端通常會在前台運行,直到它配置了一個接口,然後恢復在後台運行。 要運行強制dhclient始終作為前台進程運行,應指定-d標誌。 在調試器下運行客戶端時,或者在System V系統上的inittab運行時,這非常有用。

客戶端通常會打印一條啟動消息,並將協議序列顯示到標準錯誤描述符,直到它獲得一個地址,然後僅使用syslog(3)工具記錄消息。 -q標誌防止除錯誤以外的任何消息被打印到標準錯誤描述符。

客戶端通常不會釋放當前的租約,因為它不是DHCP協議所要求的。 一些有線ISP要求他們的客戶通知服務器他們是否希望釋放分配的IP地址。 -r標誌顯式釋放當前的租約,一旦租約被釋放,客戶端退出。

-1標誌導致dhclient嘗試一次獲得租約。 如果失敗,dhclient以退出代碼2退出。

DHCP客戶端通常從/etc/dhclient.conf獲取其配置信息/var/lib/dh​​cp/dhclient.leases獲取其租約數據庫將其進程ID存儲在名為/var/run/dhclient.pid的文件中並配置使用/ sbin / dhclient-script的網絡接口要為這些文件指定不同的名稱和/或位置,請分別使用-cf, -lf, -pf-sf標誌,後跟該文件的名稱。 如果在啟動DHCP客戶端時,例如, / var / lib / dhcp/ var / run尚未裝載,這可能特別有用。

如果DHCP客戶端無法識別要配置的任何網絡接口,則它通常會退出。 在筆記本電腦和其他具有熱插拔I / O總線的計算機上,系統啟動後可能會添加廣播接口。 當-w標誌沒有找到任何這樣的接口時,可以使客戶端不會退出。 然後可以使用omshell(8)程序在網絡接口已被添加或刪除時通知客戶端,以便客戶端可以嘗試在該接口上配置IP地址。

可以指示DHCP客戶端不要嘗試使用-n標誌配置任何接口。 這最有可能與-w標誌結合使用。

也可以指示客戶端立即成為守護進程,而不是等到它獲得IP地址。 這可以通過提供-nw標誌來完成。

組態

單獨討論dhclient.conf(8)文件的語法。

OMAPI

DHCP客戶端提供了一些在運行時控制它的能力,而不會停止它。 該功能是使用OMAPI提供的,該API用於處理遠程對象。 OMAPI客戶端使用TCP / IP連接到客戶端,進行身份驗證,然後可以檢查客戶端的當前狀態並對其進行更改。

用戶程序不應直接實施基礎OMAPI協議,而應使用dhcpctl API或OMAPI本身。 Dhcpctl是一個處理OMAPI不會自動執行的一些管家雜事的包裝器。 Dhcpctl和OMAPI記錄在dhcpctl(3)omapi(3)中 。 你想要用客戶端做的大多數事情都可以使用omshell(1)命令直接完成,而不必編寫一個特殊的程序。

控制對象

控制對象允許您關閉客戶端,釋放它擁有的所有租約並刪除它可能添加的任何DNS記錄。 它還允許您暫停客戶端 - 這將取消客戶端正在使用的任何接口的配置。 然後您可以重新啟動它,這會導致它重新配置這些接口。 您通常會在進入休眠狀態或睡在筆記本電腦前暫停客戶端。 然後你會恢復它的權力回來後。 這允許PC卡在計算機處於休眠或睡眠狀態時關閉,然後在電腦退出休眠或休眠狀態後重新初始化為之前的狀態。

控制對像有一個屬性 - 狀態屬性。 要關閉客戶端,請將其狀態屬性設置為2.它將自動執行DHCPRELEASE。 要暫停它,請將其狀態屬性設置為3.要恢復它,請將其狀態屬性設置為4。

重要提示:使用man命令%man )查看特定計算機上的命令使用方式。