Liste der "current dynamic leases" kürzen?

Post Reply
lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Liste der "current dynamic leases" kürzen?

Post by lemonskater » January 31st, 2017, 3:35 pm

Hallo Alle,

warum ist die Liste der "current dynamic leases" so lang, obwohl die überwiegende Menge an leases bereits "expired" sind. Die Liste ist bei mir rund 80 Einträge lang, Devices mit dynamischer IP-Zuordnung werden in unserem Haushalt etwa 10-12 verwendet. Ein Eintrag in dieser Liste ist "expired am 16.3.2016", also schlanke 10 Monate ausgelaufen - warum muss ich noch immer über den drüberscrollen? Lässt sich das irgendwo einstellen? Mir würde am Webinterface eine Woche "expired leases" durchaus ausreichen. Habe aber kein passendes Setting gefunden.

Grüsse

lemonskater
Image

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » May 18th, 2017, 3:29 am

Hallo Alle,

ich hab das Thema jetzt mal für mich selbst gelöst.
Dazu habe ich ein shell- und ein python-script geschrieben. Das bash-script übernimmt die Steuerung nach dem cron-aufruf und bereinigt das Verzeichnis /var/state/dhcp nach Durchführung. Dabei wird der dhcp-Dienst gestoppt, eine Kopie der aktuellen Version von dhcpd.leases mit Datumspostfix versehen gespeichert. Die aktuelle Version wird durch das python-script geparsed. Dabei werden gültige leases und solche, deren Ablauf nicht länger als 6 Tage zurückliegt in einer dhcpd.leases.new gespeichert.
Danach übernimmt wieder das bash-script. Die dhcpd.leases.new wird umbenannt, leases-files (Kopien mit Datumspostfix!), die älter als 15 Tage sind werden gelöscht und der Dienst wieder gestartet.
Das Ablageverzeichnis meiner Scripts ist /root/bin.
Die beiden Scripts sind (hoffentlich) anbei in diesem Post (leases.zip). Code-Reviews, Feedback und Verbesserungsvorschläge willkommen.

Grüße lemonskater
Nachtrag: der erste automatisierte Lauf heute Nacht hat die Liste auf 13 Einträge gekürzt - sehr übersichtlich 8) - und sie scheinen alle korrekt zu sein :D
Attachments
leases.zip
(1.27 KiB) Downloaded 53 times
Image

Lux73
Posts: 25
Joined: January 31st, 2017, 5:40 pm

Re: Liste der "current dynamic leases" kürzen?

Post by Lux73 » December 31st, 2017, 10:28 am

Hallo lemonskater,

vielen Dank für das script! werde das die Tage mal auf meiner Testmaschine ausprobieren... 8)

@ Devs

wäre toll wenn das so oder ähnlich umgesetzt werden könnte - meine Liste umfasst mittlerweile auch MAC-Adressen von Geräten die

1. mittlerweile eine feste IP zugewiesen bekommen haben (in der Liste steht immer noch die unzugeordnete IP der ersten dhcp Vergabe)
2. nur einmalig im Netz waren (zu testzwecken etc) und seit Monaten nicht mehr aktuell sind

wird dadurch sehr sehr unübersichtlich :-\

Guten Rutsch an alle!

Grüße aus Bielefeld
IPFire 2.21 (x86_64) - Core Update 126 | RGBO
APU2c4|mSATA i530 120GB|Compex WLE600-VX@ac|PRG310-51

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » December 31st, 2017, 11:03 am

Hallo Lux73,

freut mich, daß nach ca. 7 Monaten mal jemand meine Skripts ausprobiert. ;)
Freu mich über Feedback von Dir. Was mich mehr wundert, ist daß die lange Liste von Leases - vor allem abgelaufenen - sonst niemanden übel aufstößt! Ich dachte lange Zeit, es liegt an meiner Konfiguration und man könnte an anderer Stelle der IPFire entsprechende Säuberungsmaßnahmen triggern.
Have fun & success mit meinen Skripts
und auch von mir Guten Rutsch an alle!

Lemonskater
Image

Hellfire
Posts: 555
Joined: November 8th, 2015, 8:54 am

Re: Liste der "current dynamic leases" kürzen?

Post by Hellfire » January 2nd, 2018, 2:21 pm

Hi,

gerade auf den Thread aufmerksam geworden und gleich Mal das Skript gezogen.

Funktioniert wunderbar! Endlich ist meine mit mehr als 50 verwaisten Einträgen überfüllte Liste geschrumpft. Genau genommen wurden dabei jetzt alle dynamischen Leases entfernt, was in meinem Fall auch OK ist, da diese bereits steinalt waren.

So jetzt nur noch als Cron-Job eintragen und gut ists. Vielen Dank für deine Arbeit!

UND: ich bin auch der Meinung dass so etwas als Standard ins WebIf integriert gehört ::)

Grüße,
Michael
Image

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » January 2nd, 2018, 7:34 pm

Hi Michael,

freut mich, dass meine Skripts helfen konnten & vielen Dank für Dein Feedback.

Grüsse

Lemonskater
Image

totti
Posts: 16
Joined: March 19th, 2016, 5:18 pm

Re: Liste der "current dynamic leases" kürzen?

Post by totti » January 3rd, 2018, 10:40 am

Hallo Lemonskater,

auch bin ich soeben auf diesen Thread aufmerksam geworden.
Habe das Script sofort getestet, schaut Super und Fehlerfrei aus.

Danke!!

Gruß
Totti
Image

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » January 3rd, 2018, 10:47 am

Hallo Totti,

freut mich sehr, wenn die Skripts hilfreich sind und ich damit Nutzen spenden kann.
danke fürs Feedback & lg aus Wien

Lemonskater
Image

totti
Posts: 16
Joined: March 19th, 2016, 5:18 pm

Re: Liste der "current dynamic leases" kürzen?

Post by totti » January 3rd, 2018, 11:06 am

Ich habe in der leases.py noch am Ende folgendes eingefügt:

Code: Select all

log =  '[DelOldLeases] Uebernommen: ' + str(leaseUse) + ', Verworfen: ' + str(leaseOld)
subprocess.Popen(['logger','-t', "ipfire", log])
So sieht man das auch im Webif unter Protokolle > Systemprotokolldateien > Abschnitt: ipfire.

lg
Totti
Image

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » January 3rd, 2018, 12:38 pm

Hallo Totti,

super Input - vielen Dank.
Ich werd mir das ansehen und in die Skripts ebenfalls einbauen. Meiner Ansicht nach gehört die Log-Funktion aber eher in das Bash-Skript, wenn alles abgeschlossen ist und dhcpd wieder läuft. Evtl. mit Checks und ggfs. weiteren Logeinträgen für aufgetretene Fehler.

lg Lemonskater
Image

Hellfire
Posts: 555
Joined: November 8th, 2015, 8:54 am

Re: Liste der "current dynamic leases" kürzen?

Post by Hellfire » January 3rd, 2018, 2:35 pm

Btw, das Skript löscht nicht nur die Leases unter den DHCP-Einstellungen (Network->DHCP Server), sondern auch die Leases des blauen Netzwerkes unter dem Menü-Punkt Firewall->Blue Access.

Wobei ich das nicht verkehrt finde ;)

Michael
Image

totti
Posts: 16
Joined: March 19th, 2016, 5:18 pm

Re: Liste der "current dynamic leases" kürzen?

Post by totti » January 3rd, 2018, 9:25 pm

lemonskater wrote:
January 3rd, 2018, 12:38 pm
Meiner Ansicht nach gehört die Log-Funktion aber eher in das Bash-Skript, wenn alles abgeschlossen ist und dhcpd wieder läuft. Evtl. mit Checks und ggfs. weiteren Logeinträgen für aufgetretene Fehler.
Ja, das wäre sinnvoller.
Habs auch nur auf die schnelle eingebaut, ist somit ganz sicher noch ausbaufähig.

LG
Totti
Image

lemonskater
Posts: 16
Joined: September 2nd, 2014, 9:06 am
Location: Vienna

Re: Liste der "current dynamic leases" kürzen?

Post by lemonskater » January 4th, 2018, 12:17 am

Hellfire wrote:
January 3rd, 2018, 2:35 pm
Btw, das Skript löscht nicht nur die Leases unter den DHCP-Einstellungen (Network->DHCP Server), sondern auch die Leases des blauen Netzwerkes unter dem Menü-Punkt Firewall->Blue Access.
Ich denke, dass beide WebIf-Seiten dieselbe Quelle für die aktuellen Leases verwenden. Nachdem mein Pythonskript über die Datei dhcpd.leases parsed und nicht nach Netzwerk unterscheidet, sind alle dynamisch vergebenen Leases betroffen. Aber wie Du sagst, auch an dieser Stelle möchte ich mir nicht alle abgelaufenen Leases bis zum "Urschleim" ansehen ;)

lg Lemonskater
Image

Post Reply