dhclient 是 Linux 系统里一个非常实用的 DHCP 客户端工具,主要用来动态获取 IP 地址。不过,很多时候默认的配置并不能完全满足我们的需求——比如想固定 DNS、指定网关、或者控制租约时间,这时候就需要手动调整它的配置文件了。通常,这个文件位于 /etc/dhcp/dhclient.conf。下面就来聊聊几个常见的自定义配置场景,以及对应的写法。

如何自定义dhclient的配置选项

指定接口
如果机器上有多个网卡,但只希望为某个特定接口(比如 eth0)获取 IP,可以在配置文件中加上这样一行:

interface "eth0";

这样一来,dhclient 就会忽略其他接口,只处理 eth0 的 DHCP 请求。

固定 IP 地址和覆盖服务器设置
有时候 DHCP 服务器分配的参数并不理想,比如 DNS 服务器地址不对,或者想强制指定一个主机名。这时可以用 supersede 指令来覆盖服务器的响应。例如:

send host-name "myhostname";
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;

这里 send host-name 告诉 DHCP 服务器你希望的主机名,supersede domain-name-servers 则强制客户端使用指定的 DNS,而不是服务器下发的。而 request 那一长串是在明确告诉服务器:这些参数我都要,别漏了。

静态 IP 地址(通过 DHCP 请求固定地址)
如果服务器端配置了基于 MAC 地址的静态分配,客户端这边也可以配合发送客户端标识符。比如:

send dhcp-client-identifier "01:00:5e:00:01:01";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;

这样客户端会主动带上标识符,请求特定的 IP 地址和其他配置。

租约时间控制
如果你希望限制租约的最长和最短时间,可以加上:

max-lease-time 3600;
min-lease-time 1800;

注意,这只是一个客户端侧的约束,实际生效时长还要看服务器端的策略。不过在某些场景下,比如测试环境,这样设置能帮你避免租约过长导致的问题。

DNS 服务器
前面提到过,直接用 supersede 覆盖 DNS 是最常见的做法:

supersede domain-name-servers 8.8.8.8, 8.8.4.4;

这样无论服务器给什么 DNS,客户端都会用 Google 的公共 DNS。当然,你也可以换成自己内部 DNS 的地址。

网关
如果只想获取网关地址,可以这样写:

request routers;

这相当于告诉服务器:请把默认网关给我。

子网掩码
类似地,请求子网掩码:

request subnet-mask;

广播地址
请求广播地址:

request broadcast-address;

时间偏移
如果希望获取时间偏移量(用于 NTP 相关),可以加上:

request time-offset;

主机名
发送自定义主机名给服务器

send host-name "myhostname";

这样服务器就知道你希望的主机名是什么了。

配置改完之后,记得重启 dhclient 服务才能生效。在大多数现代系统上,用 systemctl 命令:

sudo systemctl restart dhclient

如果系统比较老,没有 systemd,也可以试试:

sudo service dhclient restart

最后提醒一句:自定义配置时,别跟 DHCP 服务器提供的参数产生冲突,否则客户端可能拿不到网络。如果对某个选项不确定,最好的办法就是翻翻手册:man dhclient.conf,里面讲得很详细。

本文转载于:https://www.yisu.com/ask/40625587.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。