Wie kann ich dhclient und/oder NetworkManager dazu bringen, alte Client-Lease-Dateien zu entfernen?

Wie kann ich dhclient und/oder NetworkManager dazu bringen, alte Client-Lease-Dateien zu entfernen?

Meine Firma stellt IoT-Geräte her, die über USB angeschlossen werden und ein Mobilfunkmodemmodul enthalten, das wiederum einen DHCP-Server enthält. Wir haben einen Produktionstestserver mit Ubuntu 14.04 und einen weiteren Server mit Ubuntu 16.04. Wenn das Mobilfunkmodem des IoT-Geräts eingeschaltet wird, erhält der dhclient des Servers eine IP-Adresse vom im Mobilfunkmodemmodul eingebetteten DHCP-Server.

Gestern gingen dem 14.04-Server die Inodes aus, da es6,6 Millionen dhclient-<uuid>-usbXX.leaseDateien im /var/lib/NetworkManager/.

Ich konnte das System nicht vollständig untersuchen, da ich es für Produktionszwecke zum Laufen bringen musste, aber es sah so aus, als ob diese Leasingdateien bis zur Inbetriebnahme des Servers vor etwa 14 Monaten zurückreichten. Das heißt, es scheint, dass NetworkManager und/oder dhclient (aus dem Paket isc-dhcp-client) nie eine der Client-Leasedateien entfernt haben.

Das Problem wird noch dadurch verschärft, dass anscheinend bei jedem Einschalten des Mobilfunkmodems eine neue Leasingdatei erstellt wird. (Das IoT-Gerät lässt das Mobilfunkmodem ausgeschaltet, um Batteriestrom zu sparen, und schaltet es nur bei Bedarf ein. Beim Testen wird das Modem mehrere Male ein- und ausgeschaltet.)

Ich sudo apt-get source isc-dhcp-clienthabe die Quelle überprüft und es scheint keinen Code zum Entfernen von Lease-Dateien zu geben. Tatsächlich verfügt mein Laptop (Ubuntu 14.04) über Lease-Dateien, die bis zu seiner Inbetriebnahme zurückreichen. (Ich hatte einige unserer IoT-Geräte sowie verschiedene andere Ethernet-USB-Adapter angeschlossen.)

Die Gültigkeitsdauer der Leasingdateien ist sehr angemessen und beträgt 24 Stunden.

Ich untersuche, wie ich dhclient für unsere IoT-Geräte dekonfigurieren kann, möchte das aber lieber nicht tun, falls wir uns dazu entschließen, die Mobilfunkdatenverbindung zu testen.

Gibt es eine Möglichkeit, dhclient und/oder NetworkManager dazu zu bringen, alte Client-Lease-Dateien zu entfernen?

Ich könnte einen Cron-Job einrichten, um das zu handhaben, aber das scheint etwas zu sein, das Teil des Systems sein sollte. Ich kann es einfach nicht finden. Ich habe gegoogelt, hier/StackOverflow gesucht und die dhclient- und NetworkManager-Dokumentation gelesen.

HINWEIS: Ich habe nicht genügend Reputation, um das Tag „dhclient“ zu erstellen, daher habe ich es durch „dhcp“ ersetzt.

verwandte Informationen