logo


Mikrotik doormailen van het aantal DHCP-leases script

Mikrotik doormailen van het aantal DHCP-leases script

Mikrotik logo

Dit script zal het aantal DHCP-leases, MAC-adressen, huidige bios en RouterOs versie dagelijks door mailen. Als je wil controleren hoeveel client's een DHCP-lease hebben verkregen is dit een mooi script.

Dit script is getest en werkend met volgende RouterOs

Routerboard RouterOs Bios firmware
RB750-2HnD 6.27 3.33

Email instellingen

bgpmon

Klik in het hoofdmenu op "tools" vervolgens op "email".

bgpmon

Bij "server" vul het IP-adres in van de SMTP-server

Bij "port" vul poort 25 in.

Bij "from" vul een email adres in die je wil gebruiken.

Klik op "ok"

De email instellingen zijn gemaakt. In dit voorbeeld gebruiken we een POP3 mailserver om het eenvoudig te houden.

Mikrotik scheduler configureren

bgpmon

In het hoofdmenu klik op "system" vervolgens op "scheduler".

bgpmon

Klik op het blauwe kruisje om een nieuwe scheduler taak aan te maken.

bgpmon

  • Bij "name" geef de scheduler taak een naam.
  • Bij "start date" zet een datum in dat nog niet verstreken is.
  • Bij "start time" zet het uur in dat de scheduler taak moet beginnen. Deze tijd mag eveneens niet verstreken zijn.
  • Bij "interval" kies je de tijd dat die terug de scheduler taak moet uitvoeren. Hier staat die ingesteld op 1 dag. Iedere dag zal de scheduler het script draaien.
  • Kopieer het onderstaande script en plak het in het venster "on event".
  • Klik op "ok".

Opgelet! Het script moet aangepast worden waar de woorden rood zijn gekleurd. Daar moet je de naam van de DHCP-server invullen en het email adres aanpassen.

Het script

Dagelijks door mailen van DHCP-leases script
  • :local i;
  • :local hostip;
  • :local hostname;
  • :local dhcplist "";
  • :local date [/system clock get date];
  • :local time [/system clock get time];
  • :local leasesall [ :len [ /ip dhcp-server lease find where server=dhcp1 ] ];
  • :local firmware [ /system routerboard get current-firmware ];
  • :local routeros [ /system package get number=0 value-name=version ];
  • :local macaddress;
  • /ip dhcp-server lease;
  • :foreach i in=[find where server=dhcp1 ] do={
  • :set hostname [get $i host-name];
  • :set hostip [get $i address];
  • :set macaddress [get $i active-mac-address];
  • :set dhcplist ($dhcplist . $hostname . " " . $hostip . " " . $macaddress . " " . $date . " " . $time . "\n");
  • };
  • /tool e-mail send to=youremail@voorbeeld.be subject="Mail subject" body=( "Aantal DHCP leases: $leasesall\n\n" . $dhcplist );

In dit voorbeeld zal het script dagelijks om 20u05 een email sturen met het aantal DHCP-leases + MAC-adressen, bios en RouterOs versie

Top