Centos Stream 8 NetworkManager - DHCP 客户端租用数据在哪里?

Centos Stream 8 NetworkManager - DHCP 客户端租用数据在哪里?

使用 dhclient 时,当前租约信息(包括到期时间)位于 中/var/lib/dhclient/dhclient.leases,并且包含类似以下内容

lease {
  interface "enp3s0";
  fixed-address [redacted];
  option subnet-mask 255.255.254.0;
  option dhcp-lease-time 3523;
  option routers [redacted];
  option dhcp-message-type 5;
  option dhcp-server-identifier 96.113.84.141;
  option domain-name-servers 127.0.0.1,75.75.75.75,75.75.76.76;
  option domain-search "[redacted]";
  option dhcp-renewal-time 2016;
  option broadcast-address 255.255.255.255;
  option dhcp-rebinding-time 3073;
  option domain-name "hsd1.or.comcast.net.";
  renew 3 2022/06/22 23:59:57;
  rebind 4 2022/06/23 00:23:15;
  expire 4 2022/06/23 00:30:45;
}

但是,我的系统使用 NetworkManager,根据我的研究,它使用自己的内部 DHCP 客户端。往里看/var/lib/NetworkManager我看到

$ sudo ls  /var/lib/NetworkManager/
internal-79cbd87e-9d65-4aa4-8768-88b460fd372c-enp3s0.lease  NetworkManager-intern.conf  seen-bssids
internal-79cbd87e-9d65-4aa4-8768-88b460fd372c-ens1.lease    NetworkManager.state        timestamps
internal-bdaf2eb0-de2e-4573-a415-214629c7b757-enp3s0.lease  secret_key

这看起来很有希望。但是,租用文件仅包含 IP 地址。

$ sudo cat /var/lib/NetworkManager/internal-79cbd87e-9d65-4aa4-8768-88b460fd372c-enp3s0.lease
# This is private data. Do not parse.
ADDRESS=[redacted]

简单的问题:NetworkManager 在哪里保存租约数据,以便知道何时需要续订租约?

答案1

见过这里,较新版本的 NetworkManager 将在 中公开此信息/run/NetworkManager/devices/$IFINDEX。如果您有旧版本(或者只是更喜欢运行程序而不是解析文件),您可以使用以下命令询问 NetworkManager 以获取此信息

$ nmcli -f DHCP4 device show $IFNAME

其中$IFINDEX是 NetworkManager 分配给您的接口的数字索引,$IFNAME是其名称。

(我怀疑你已经知道这一点,因为网络管理器列表上的问题与此处的措辞相同,但我怀疑我们将是最后两个提出这个确切问题的人)

相关内容