Re: NetworkManager on openSUSE LEAP 15.2 only writes partial .lease files



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]