dhclient.conf的位置


12

我需要检查客户端DHCP设置,我希望该设置在该文件中 /etc/dhcp/dhclient.conf,但是那里没有此类文件。

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


我知道,这个问题是去年提出的,但是我只想加两分钱:为什么不使用locate dhclient.conffind / -iname dhclient.conf -print?甚至更简单但更脏,locate dhclient或者locate dhcp
Sergiy Kolodyazhnyy 2015年

Answers:


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

如果您在输出中注意到,则要查找的文件称为/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.

因此,该文件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;
...

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


5

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

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

如果您关闭NetworkManager,则适用SIM卡的答案。


1

在全新的RHEL 7.5安装中,/etc/dhcp/dhclient.conf不存在,但是,如果创建的仅包含所需选项,则似乎可以使用。我敢打赌它也适用于RHEL 6。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.