On Mon, 2020-07-20 at 10:50 -0500, Moby via networkmanager-list wrote:
I just upgraded a Leap 15.1 machine to 15.2. I am using NetworkManager to manage networking on that machine. Prior to the upgrade, I was able to see DHCP lease information in /var/lib/NetworkManager/dhclient*.lease files. After the upgrade, I see /var/lib/NetworkManager/internal*lease file, but it contains just the IP address and no other information that was obtained via DHCP. I see that I can obtain all the DHCP information via nmcli device show. My question is where is this information stored? Or is all the information kept in memory now by NetworkManager and only the address is written to the internal*lease file (this seems hard to believe, I would think NetworkManager would want to store the leased IP and, at a minimum, DNS and gateway information as well). The installation of NetworkManager is pretty much out of the box, no custom dhcp client etc. is configured to be used by NetworkManager. Thank you in advance for your help,
Hi Moby, it's all as you said, with the "hard to believe" part to be the case. NetworkManager has different DHCP implementations. You can configure them via "dhcp" option. See `man NetworkManager.conf`. A while ago, the default changed from "dhclient" to "internal". I presume that what happend on your OpenSUSE upgrade. If you wish, you can still get the previous plugin, by explicitly configuring it in NetworkManager.conf. Maybe one day the "dhclient" plugin will be dropped entirely, but that is still far away, so if you wish, you may use that. dhclient has the "advantage", in that you can write additional configuration to /etc/dhcp. That makes it more powerful, but also such options are not accessible via the regular NetworkManager API (and NetworkManager doesn't really know what you are doing there). For the internal plugin, NM doesn't need any of the information from the lease, except the IP address from the last time. When NM tries to obtain a lease, it will preferably ask to get that IP address. No other information from the lease is used, and thus no other information is persisted. There is no official file-based API to get the options of the DHCP lease. These lease files are internal. You could call `nmcli -f DHCP4 device show "$DEVICE"`, or of course get it yourself from D-Bus -- with a tool/script of your choice. best, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part