dhclient.conf 的位置

use*_*508 12 rhel dhcp

我需要检查客户端 DHCP 设置,我希望它在文件中 /etc/dhcp/dhclient.conf,但那里没有这样的文件。

此文件在 64 位 RHEL 6 中的位置是什么?

slm*_*slm 10

我经常使用的一个技巧是查看此命令的输出,这里我在 CentOS 6 上运行它,但它仍然适用于您在 RHEL 上:

$ ps -eaf | grep dhcli
root      1044     1  0 Jan17 ?        00:00:00 /sbin/dhclient -1 -q -cf /etc/dhcp/dhclient-eth0.conf -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
root      3771  3738  0 19:00 pts/0    00:00:00 grep dhcli
Run Code Online (Sandbox Code Playgroud)

如果您在输出中注意到,您要查找的文件称为/etc/dhcp/dhclient-eth0.conf,而不是dhclient.conf。但这只是告诉你故事的一部分。如果您打算dhclient在启动时注入其他设置,请参阅此处的官方 RHEL 6 文档,标题为:14.3。配置 DHCP 客户端

此外,如果您查阅手册页,dhclient您会注意到-cf开关的这一点:

-cf <config-file>
      Path to the client configuration file.  If unspecified, the default 
      /etc/dhcp/dhclient.conf is used.
Run Code Online (Sandbox Code Playgroud)

因此该文件dhclient.conf不是您可能要查找的文件,它是您正在运行的任何接口dhclient,在这种情况下eth0,文件将是dhclient-eth0.conf.

深层发掘

如果您查看网络的启动脚本,您可能会遇到这个文件/etc/sysconfig/network-scripts/ifup-eth. 如果您有兴趣,窥视一下内部可以告诉您发生了什么:

...
# allow users to use generic '/etc/dhclient.conf' (as documented in manpage!) 
# if per-device file doesn't exist or is empty
if [ -s /etc/dhcp/dhclient-${DEVICE}.conf ]; then
   DHCLIENTCONF="-cf /etc/dhcp/dhclient-${DEVICE}.conf";
elif [ -s /etc/dhclient-${DEVICE}.conf ]; then
   DHCLIENTCONF="-cf /etc/dhclient-${DEVICE}.conf";
else
   DHCLIENTCONF='';
fi;
...
Run Code Online (Sandbox Code Playgroud)

因此,您可以创建dhclient.conf自己的文件并删除系统为您创建的特定于接口的文件。


lza*_*zap 5

RHEL 6 和更新版本默认使用 NetworkManager,它会动态创建 dhclient 配置。

您将在其中找到该文件,/var/lib/NetworkManager/dhclient-*.conf但您无法更改此文件,因为它是自动生成的。查看有关如何设置各种标志的 NetworkManager 文档。

如果您关闭 NetworkManager,则 sim 的回答适用。