[systemd-devel] "Correct" way to obtain DHCP lease info?

Silvio Knizek killermoehre at gmx.net
Wed Apr 21 19:34:16 UTC 2021


Am Mittwoch, dem 21.04.2021 um 14:24 -0400 schrieb Bruce A. Johnson:
> Is there a correct way to obtain information about the DHCP lease 
> received by systemd-networkd's DHCP client functionality? It was easy 
> enough to find SERVER_ADDRESS in /var/run/systemd/netif/leases/4, but 
> there is a big fat warning stamped at the top of the file:
> 
> > # This is private data. Do not parse.
> I'd like to be able to make a widget that can tell me which DHCP server 
> issued my lease, how much more time I have, etc., mainly because I want 
> to be able to ping something that is known to be on the network. I'm 
> dealing with a lazy sysadmin who doesn't want to put a gateway on this 
> private network, I haven't found a solution using the CLI tools.
> 
> Thanks in advance.
Hi Bruce,

IMHO "having a lease" is not a good metric to determine if you can
access something.
I would suggest something along this line:

--- /etc/systemd/system/internal-network-accessable.target
[Unit]
Description=Internal System Accessable
---
--- /etc/systemd/system/check-if-internal-system-is-accessable.service
[Unit]
Description=Check if internal system can be reached

[Service]
ExecStart=/usr/local/bin/check-if-internal-system-is-accessable.sh
Restart=always

[Install]
WantedBy=multi-user.target
---
--- /usr/local/bin/check-if-internal-system-is-accessable.sh
#!/usr/bin/bash
while :; do
    if wget -q --spider $INTERNAL_RESOURCE; then
        systemctl start internal-network-accessable.target
    else
        systemctl stop internal-network-accessable.target
    fi
    sleep 600
done
---

Than you can check just the status of the .target. You may need to
tweak the lifeness probe, YMMV.

Also in sd-networkd you can configure a .network to never loose its
lease, see man:systemd.network → KeepConfiguration=

HTH
Silvio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20210421/08e43dcf/attachment.sig>


More information about the systemd-devel mailing list