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;
}
しかし、私のシステムは、独自の内部DHCPクライアントを使用するNetworkManagerを使用します。中を覗く/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
その名前は何ですか?
(ネットワーク管理者リストの質問の内容はここと同じですので、既に知っていますが、この質問をする最後の2人は私たちになりそうです。)