POSTS

Mikrotik Script Erzeugt DHCP Kommentar Mit VendorID

Es hat mich schon lange genervt, dass ich, wenn ich ein neues Gerät an mein Netz anschliesse, die IP-Adresse suchen muss.

Das geht zwar auch über die Suche nach dem letzten Lease, aber hilfreich wäre es durchaus, wenn man wüsste, von welchem Hersteller das Gerät (zumindest die Netzwerkkarte des Geräts) stammt.

Dies geht mit folgendem Script, welches man am entsprechenden MikroTik-DHCP-Server als Lease Script hinterlegt:

# mikrotik mac2vendor


:foreach i in=[/ip dhcp-server lease find mac-address=$leaseActMAC] do={
   :if ([:len [/ip dhcp-server lease get $i comment]] = 0) do={
   
      :local mac [:pick $leaseActMAC 0 8];
      :local mvurl "https://api.macvendors.com/$mac";
      :local result [/tool fetch url=$mvurl as-value output=user ];
      :local vendor ($result->"data");
      :log info "MAC: $mac / VENDOR: $vendor";
      /ip dhcp-server lease set comment="VENDOR: $vendor" $i

   }
}

Ablauf:

Die globale Variable $leaseActMAC entält automatisch MAC-Adresse des zuletzt vergebenen Leases, wonach alle vergebenen Leases durchsucht werden.

Falls kein Kommentar vohanden (Länge=0) wird die MAC-Adresse auf die ersten 8 Stellen gekürzt und über die API von macvendors.com abgefragt.

Das Ergebnis wird in das Log und den Kommentar des entsprechenden Leases geschrieben.