Skip to main content

Dhclient - Linux / Unix命令

011--Linux系統用戶和組全面講解 (六月 2025)

011--Linux系統用戶和組全面講解 (六月 2025)
Anonim

概要

dhclient的 -p 港口 -d -q -1 -r -如果 租赁文件 -pf PID文件 -cf 配置文件 -sf 脚本文件 -s 服务器 -G 继电器 -n -nw -w IF0 … IFN

描述

Internet Software Consortium 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重写数据库。

如果首次调用dhclient时DHCP服务器不可用(通常在初始系统引导过程中),则保留旧租约。在那种情况下,测试dhclient.leases文件中尚未过期的旧租约,如果确定它们有效,则使用它们直到它们到期或DHCP服务器可用。

有时可能需要访问其上不存在DHCP服务器的网络的移动主机可以预先加载用于该网络上的固定地址的租用。当所有联系DHCP服务器的尝试都失败时,dhclient将尝试验证静态租约,如果成功,将使用该租约直到重新启动。

移动主机也可能会前往一些DHCP不可用但BOOTP不可用的网络。在这种情况下,与网络管理员一起安排BOOTP数据库上的条目可能是有利的,这样主机可以在该网络上快速启动而不是循环通过旧租约列表。

命令行

可以在命令行上指定dhclient应尝试配置的网络接口的名称。如果在命令行上未指定接口名称,则dhclient通常会识别所有网络接口,如果可能,则取消非广播接口,并尝试配置每个接口。

也可以在名称中指定接口dhclient.conf(5) 文件。如果以这种方式指定接口,则客户端将仅配置在配置文件或命令行中指定的接口,并将忽略所有其他接口。

如果DHCP客户端应该在标准端口(端口68)上侦听和传输,则-p国旗可能会用到。它后面应该是dhclient应该使用的udp端口号。这主要用于调试目的。如果为客户端指定了另一个端口来监听和传输,则客户端还将使用不同的目标端口 - 一个大于指定目标端口的端口。

DHCP客户端通常在获取IP地址255.255.255.255(IP受限广播地址)之前发送它发送的任何协议消息。出于调试目的,让服务器将这些消息传输到其他地址可能很有用。这可以用-sflag,后跟目标的IP地址或域名。

出于测试目的,可以使用以下命令设置客户端发送的所有数据包的giaddr字段-G 标志,后跟要发送的IP地址。这仅适用于测试,不应期望以任何一致或有用的方式工作。

DHCP客户端通常在前台运行,直到它配置了一个接口,然后将恢复为在后台运行。要运行强制dhclient始终作为前台进程运行,-d 应指定标志。在调试器下运行客户端或在System V系统上运行inittab时,这非常有用。

客户端通常会打印一条启动消息,并将协议序列显示给标准错误描述符,直到它获取了一个地址,然后只使用系统日志(3)设施。该-q flag可防止除错误之外的任何消息打印到标准错误描述符。

客户端通常不会释放当前租约,因为DHCP协议不需要它。某些有线ISP要求其客户端通知服务器是否希望释放分配的IP地址。该-r flag显式释放当前租约,一旦租约释放,客户端退出。

-1 标志导致dhclient尝试一次获得租约。如果失败,则dhclient退出,退出代码为2。

DHCP客户端通常从中获取其配置信息/etc/dhclient.conf, 它的租赁数据库来自/var/lib/dh​​cp/dhclient.leases, 将其进程ID存储在一个名为的文件中/var/run/dhclient.pid, 并使用配置网络接口/ sbin目录/ dhclient的脚本 要为这些文件指定不同的名称和/或位置,请使用-cf, -如果, -pf-sf flags,分别后跟文件名。例如,如果,这可能特别有用在/ var / lib中/ DHCP 要么/ var / run中 DHCP客户端启动时尚未安装。

如果DHCP客户端无法识别要配置的任何网络接口,则通常会退出。在笔记本电脑和其他具有热插拔I / O总线的计算机上,可能会在系统启动后添加广播接口。该-w flag可用于导致客户端在找不到任何此类接口时不退出。该omshell(8) 然后,可以使用程序在添加或删除网络接口时通知客户端,以便客户端可以尝试在该接口上配置IP地址。

可以指示DHCP客户端不尝试使用该配置来配置任何接口-n 旗。这最有可能与之结合使用-w 旗。

还可以指示客户端立即成为守护程序,而不是等到它获取IP地址。这可以通过提供-nw 旗。

组态

单独讨论dhclient.conf(8)文件的语法。

OMAPI

DHCP客户端提供了一些在运行时控制它的能力,而不会停止它。使用OMAPI提供此功能,OMAPI是一种用于操作远程对象的API。 OMAPI客户端使用TCP / IP连接到客户端,进行身份验证,然后可以检查客户端的当前状态并对其进行更改。

用户程序应该使用dhcpctl API或OMAPI本身,而不是直接实现底层的OMAPI协议。 Dhcpctl是一个包装器,可以处理OMAPI不会自动执行的一些内务处理。 Dhcpctl和OMAPI记录在dhcpctl(3)OMAPI(3)。您想要对客户端做的大多数事情都可以直接使用omshell(1) 命令,而不是必须编写特殊程序。

控制对象

控制对象允许您关闭客户端,释放它所拥有的所有租约并删除它可能已添加的任何DNS记录。它还允许您暂停客户端 - 这将取消配置客户端正在使用的任何接口。然后,您可以重新启动它,这会导致它重新配置这些接口。您通常会在进入休眠状态或在笔记本电脑上睡眠之前暂停客户端。然后你会在电源恢复后恢复它。这样可以在计算机休眠或休眠时关闭PC卡,然后在计算机退出休眠或睡眠状态后重新初始化到之前的状态。

控制对象有一个属性 - state属性。要关闭客户端,请将其state属性设置为2.它将自动执行DHCPRELEASE。要暂停它,请将其state属性设置为3.要恢复它,请将其state属性设置为4。

重要: 使用 人 命令( % 人 )查看特定计算机上如何使用命令。