1. Startseite
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
  5. Digital Signage Info
  6. Glasfaserinternetanbieter bewerten
  7. Blog
    1. Artikel
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Blog-Artikel
  • Erweiterte Suche
  1. Glasfaserforum.de - Das Informations- und Hilfeforum rund um das Glasfaser-Internet.
  2. Forum
  3. Alles über das Glasfaser-Internet
  4. Glasfaser-Technik: Modem, Router, Netzwerk & Verkabelung

Mikrotik Router update Skripte für wechselnden ipv6 Präfix

  • flamy
  • 4. November 2024 um 17:40
  • flamy
    Top-Nutzer
    Reaktionen
    47
    Beiträge
    135
    • 4. November 2024 um 17:40
    • #1

    Habe hier mal zwei Skripte, für Mikrotik Router, damit man beim wechselndem ipv6 Präfix nicht jedes mal die ipv6 in den Firewall Regeln ändern muss.


    Code
    :local macAddress "xx:xx:xx:xx:xx:xx"    
    :local AddressListname "xxxx"    
    :local currentIPv6 ""    
    :local addresslistIPv6 ""    
    :local aEntry [:pick [/ipv6 neighbor find mac-address="$macAddress" && ! address ~ "^fe80"]]    
    :if ([:len $aEntry] = 0) do={
       :error "MAC not found"    
    }
    :local fEntry [:pick [/ipv6 firewall address-list find list="$AddressListname"]]    
    :if ([:len $fEntry] = 0) do={
       :error "keine ipv6 Adresse gefunden"    
    }
    :set currentIPv6 ([/ipv6 neighbor get $aEntry address] . "/128")    
    :set addresslistIPv6 [/ipv6 firewall address-list get $fEntry address]
    :if ($currentIPv6 != $addresslistIPv6) do={
       :put "Updating address to $currentIPv6"    
       /ipv6 firewall address-list set $fEntry address=$currentIPv6
    } else={
       :put "Address not changed."    
    }
    Alles anzeigen


    Man muss dafür eine Adressliste bei der Ipv6 Firewall erstellen, mit dem Rechner, den man Freigegeben hat. In der Firewallregel, gibt man dann die Adressliste an, statt direkt die ipv6. So muss man nicht jede Firewall Regel einzeln per Skript aktuell halten. Das Kript updatet dann nur die ipv6 in der Adressliste.


    Dann habe ich hier noch ein Skript, für den Dyndns Anbieter ip64.net


    Code
    :local domain "XXXXXX.ipv64.net"
    :local token "XXXXXXXXX"
    :local macAddress "xx:xx:xx:xx:xx:xx"
    :local currentIPv6 ""
    
    log info "Suche die IPV6-Adresse"
    :local aEntry [:pick [/ipv6 neighbor find mac-address="$macAddress" && ! address ~ "^fe80"]]    
    :if ([:len $aEntry] = 0) do={
       :error "MAC not found"
    }
    :set currentIPv6 ([/ipv6 neighbor get $aEntry address] . "")
    log info "Address is $currentIPv6"
    :local result [/tool fetch  url="https://ipv64.net/nic/update?key=$token&domain=$domain&ip6=$currentIPv6" output=user as-value]
    
    :if ($result->"status" = "finished") do={
      log info "Die IP-Adresse wurde erfolgreich aktualisiert!"
    } else={
      log error "FEHLER! Es gab wohl ein Problem beim aktualisieren der IP-Adresse!"
    }
    Alles anzeigen


    Vielleicht kann es ja jemand gebrauchen :)


    Gruß Sascha

  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.407
    • 5. November 2024 um 07:06
    • #2

    Danke für das Teilen!

    Werden die denn überhaupt noch benötigt? In den neueren RouterOS Versionen sollen die älteren IPv6 Probleme angeblich behoben sein.

  • flamy
    Top-Nutzer
    Reaktionen
    47
    Beiträge
    135
    • 5. November 2024 um 16:47
    • #3

    Ich wüsste nicht, dass automatisch die ipv6 in einer Adressliste, bei einer Änderung des Präfixes geändert wird.

    Sonst funktioniert ipv6 mit RouterOS sehr gut :)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 5. November 2024 um 16:50
    • #4
    Zitat von flamy

    Ich wüsste nicht, dass automatisch die ipv6 in einer Adressliste, bei einer Änderung des Präfixes geändert wird.

    Das stimmt natürlich. Aber was genau ist hier dein Einsatzzweck mit den Adresslisten? Für eine Statefull Firewall ist nicht notwendig.

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • flamy
    Top-Nutzer
    Reaktionen
    47
    Beiträge
    135
    • 5. November 2024 um 20:11
    • #5

    Wenn ich eine Firewall Regel erstelle, dann muss ich entweder die ipv6 des Empfängers direkt eintragen und dann mit dem Skript nach jeder Firewall Regel suchen und dann die ip6 abgleichen und aktuell halten. Oder ich lege eine Adressliste an, wo der Empfänger eingetragen ist und trage diese bei den Firewall Regeln ein und nicht die ipv6 direkt. So kann ich nur die Adressliste aktuell halten und jede Firewall Regel für diesen Empfänger bleibt somit aktuell.

    Wenn es einen besseren Weg gibt, immer her damit :) Für mich war das am sinnvollsten.

  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 7. November 2024 um 02:33
    • #6

    Mich würde interessieren, was dein Einsatzzweck der Adresslist hier ist. Für Clients wie Port Forwarding? DNS? Welche Einträge nutzt du hier in der IPv6 Firewall mit den Adresslisten?

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • flamy
    Top-Nutzer
    Reaktionen
    47
    Beiträge
    135
    • 7. November 2024 um 16:01
    • #7

    Ja genau ich habe einen Streaming Server, für Livestreams in meiner Firma, der gewisse portfreigaben benötigt. Da ich keine erreichbare ipv4 habe, ist der über ipv6 erreichbar mit einer Dynamischen DNS Adresse. Da die Deutsche Glasfaser leider in dem Tarif für kleine Unternehmen und Selbständige, wechselnde Präfixe hat, zwar nicht oft, aber es kommt vor, muss ich das immer aktuell halten.

    Ich lege z.B. eine Adressliste an unter ipv6, die nenne ich Streaming. Dort gebe ich einfach die ipv6 des Klienten ein, welcher die Portfreigaben benötigt. in der Firewall selbst sage ich dann, das der Port auf diese Ipadresse in der Adressliste "streaming" freigegeben werden soll.

    So kann ich jetzt beliebig viele Freigaben erstellen, muss aber per Sckipt nur die ipv6 des Klienten in der Adressliste abgleichen und gegebenfalls anpassen. Sonst müsste man ja jede Firewall Regel immer wieder in dem Skript mit aufnehmen.

  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 7. November 2024 um 16:04
    • #8

    Perfekt :) Vielen Dank, das war mir nicht so klar. Dann macht es auf jeden Fall Sinn mit dem Skript. Ich nehme an, dass die IPv6-Adressen via SLAAC und EUI64 vergeben wird, damit es 'predictable' bleibt?

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • pufferueberlauf
    Meister
    Reaktionen
    666
    Beiträge
    2.506
    • 7. November 2024 um 16:07
    • #9

    OpenWrt erlaubt Firewall Regeln die das Praefix ignorieren:

    [OpenWrt Wiki] IPv6 firewall examples


    Vielleicht kann Mikrotik das auch?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 7. November 2024 um 16:40
    • #10

    Leider kann MikroTik bis heute kein Stateful DHCPv6.. und via SLAAC wüsste ich nicht, dass man per DUID eine feste IPv6-Adresse vergeben könnte. Maximal durch EUI64 predictable. Aber dann bräuchte man immer noch das Skript von flamy

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • pufferueberlauf
    Meister
    Reaktionen
    666
    Beiträge
    2.506
    • 7. November 2024 um 17:02
    • #11

    Na, auf dem Hoist der als Server dienen soll muss man schon manuell einen (gerne auch nur zusaetzlichen) festen IPv6 Interface-Identifier konfigurieren... damit braucht man dann nicht mehr den Umweg ueber die (ebenfalls nicht invariablen) MAC Adressen gehen zu muessen. Aber das hilft halt nur wenn die Firewall erlaubt Praefix-Bits zu ignorieren...

  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 9. November 2024 um 00:39
    • #12
    Zitat von pufferueberlauf

    Na, auf dem Hoist der als Server dienen soll muss man schon manuell einen (gerne auch nur zusaetzlichen) festen IPv6 Interface-Identifier konfigurieren... damit braucht man dann nicht mehr den Umweg ueber die (ebenfalls nicht invariablen) MAC Adressen gehen zu muessen. Aber das hilft halt nur wenn die Firewall erlaubt Praefix-Bits zu ignorieren...

    Ich nehme an, dass du mit dem Interface Identifier eben jene 64-Bits meinst, welche aus der MAC-Adresse sich bildet, aka EUI64 mit SLAAC?

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • pufferueberlauf
    Meister
    Reaktionen
    666
    Beiträge
    2.506
    • 9. November 2024 um 14:59
    • #13

    Naja, https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.1 nennt die explizit " Interface Identifiers" daher habe ich das auch getan. Heutzutage darf man die befuellen wie man moechte, also z.B. auch einfache IIDs wie "::1" (ja, da fehlt das Prefix) man muss halt sicherstellen, dass die lokal einzigartig sind. Aber SLAAC (zufaellige selbstzuweisung) oder EUI64 sind auch Optionen. (Siehe auch https://datatracker.ietf.org/doc/html/rfc7136 und https://datatracker.ietf.org/doc/html/rfc7721)

    Persoenlich halte ich EUI64 fuer zu naiv, aber jeder wie er/sie moechte.

  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 10. November 2024 um 22:30
    • #14

    Achsooo. Du meinst also ein statisch vergebener Interface Identifier auf dem Client. Du meinst dann sowas wie z.B. "ip token set ::AA:BB:CC:DD/64 dev eth1" (Gibt vielleicht ja noch andere Wege, nur als Beispiel gemeint).

    Zitat von pufferueberlauf

    Persoenlich halte ich EUI64 fuer zu naiv, aber jeder wie er/sie moechte.

    Was ist daran naiv? (Ernstgemeinte Frage) Ich weiß, dass irgendein RFC EUI64 als deprecated erachtet, meine ich.

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.407
    • 10. November 2024 um 22:52
    • #15

    War nicht lediglich der verwendete Algorithmus als veraltet/unzuverlässig gekennzeichnet und ein Ersatz dessen bereits veröffentlicht?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • pufferueberlauf
    Meister
    Reaktionen
    666
    Beiträge
    2.506
    • 10. November 2024 um 23:09
    • #16
    Zitat von ConiKost

    Achsooo. Du meinst also ein statisch vergebener Interface Identifier auf dem Client. Du meinst dann sowas wie z.B. "ip token set ::AA:BB:CC:DD/64 dev eth1" (Gibt vielleicht ja noch andere Wege, nur als Beispiel gemeint)

    Ja genau. Oder auch per DHCPv6 vom Router vergeben wenn einem das lieber ist und das Client OS das akzeptiert...


    Zitat von ConiKost

    Was ist daran naiv? (Ernstgemeinte Frage) Ich weiß, dass irgendein RFC EUI64 als deprecated erachtet, meine ich.

    Die Idee, dass es eine gute Idee waere eine EInzigartige Hardware ID mit der WEelt zu teilen... Wenn man das z.B. mit dem eigenen Notebook macht ergibt das ein 1A Tracking-Token das funktioniert egal in welchem (IPv6) Netz man sich mit dem Laptop eingelogt hat. Ein Traum fuer Werbetracker... und naiv finde ich, dass die IPv6 macher noche alle vom Guten im Internet ausgegangen sein mussten, dass ihnen diese Missbrauchssart gar nicht in den Sinn kam. Waren wohl noch unschuldigere Zeiten ;)

  • ConiKost
    Fortgeschrittener
    Reaktionen
    110
    Beiträge
    449
    • 10. November 2024 um 23:14
    • #17
    Zitat von pufferueberlauf

    Die Idee, dass es eine gute Idee waere eine EInzigartige Hardware ID mit der WEelt zu teilen... Wenn man das z.B. mit dem eigenen Notebook macht ergibt das ein 1A Tracking-Token das funktioniert egal in welchem (IPv6) Netz man sich mit dem Laptop eingelogt hat. Ein Traum fuer Werbetracker... und naiv finde ich, dass die IPv6 macher noche alle vom Guten im Internet ausgegangen sein mussten, dass ihnen diese Missbrauchssart gar nicht in den Sinn kam. Waren wohl noch unschuldigere Zeiten ;)

    Dagegen gibt es doch die Privacy Extensions. Du hast dann neben der abgeleiteten die temporäre IPv6-Adresse, welche per Standard genutzt wird. Wobei ich das für die öffentliche IPv6-Adresse garnicht im Sinne hatte. Verstehe aber gut, was du meinst.

    Weißt du eigentlich, ob man auf mobilen Geräten in der Google und Apple Welt auch einen statischen Interface Identifier setzen kann?

    Ich habe mit EUI64 lokal passend ULA am laufen. Ist ja am Ende eh nur intern für das Netzwerk gedacht. Wobei man nicht vergessen darf, IPv6 ist so alt, da hat man sich das Internet wie heute noch garnicht so vorgestellt ;)

    Spoiler anzeigen

    ISP: HTP Surf & Fon 1.000 MBit/s Download / 500 MBit/s Upload (Glasfaser)

    Router: MikroTik CCR2004-16G-2S+ (RouterOS 7.23.2) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.70.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0102-233), Gigaset Fusion (Firmware 2.0.1)

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • Elemir
    Fortgeschrittener
    Reaktionen
    144
    Beiträge
    522
    • 10. November 2024 um 23:40
    • #18
    Zitat von pufferueberlauf

    Die Idee, dass es eine gute Idee waere eine EInzigartige Hardware ID mit der WEelt zu teilen...

    Wiki meint allerdings, der Grund sei, dass bei EUI-64 die Gefahr von Überschneidungen bestünde. Da angeblich einige Hersteller MAC-Adressen schon mehrfach vergeben haben, ist das zwar sehr unwahrscheinlich, aber nicht unmöglich.

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • frank_m
    Erleuchteter
    Reaktionen
    770
    Beiträge
    4.935
    • 11. November 2024 um 08:30
    • #19

    Für sowas gibt es DAD - duplicate Address detection. Ganz abgesehen davon: Wenn man zwei Geräte mit gleicher MAC im Netz betreibt, dann hat man noch ganz andere Sorgen, als überschneidende IPv6 Adressen.

  • pufferueberlauf
    Meister
    Reaktionen
    666
    Beiträge
    2.506
    • 11. November 2024 um 08:57
    • #20
    Zitat von ConiKost

    Dagegen gibt es doch die Privacy Extensions. Du hast dann neben der abgeleiteten die temporäre IPv6-Adresse, welche per Standard genutzt wird. Wobei ich das für die öffentliche IPv6-Adresse garnicht im Sinne hatte. Verstehe aber gut, was du meinst.

    Privacy Extensions sind in der Tat ganz nuetzlich, nur halt nicht wenn man selber Dienste anbieten will, und gerade da finde ich es besser nicht die MAC Adresse des Ethernetadapters in die Welt zu posaunen. Aber auch das ist letztlich kein Beinbruch.


    Was iOS und Android angeht, weiss ich nur Android akzeptiert keine per DHCPv6 zugewiesene Adressen, und vermute als Root user kann man auch manuell eine Adresse festsetzen, aber dafuer muss man erst die root Rechte erlanen. Bei iOS wette ich mal, sollte DHCPv6 funktionieren...


    Ach ja, EUI-64 als ULA ist unkritisch weil lokal kann man die MAC meist sowieso irgendwie sehen (zumindest in packet-captures).

Glasfaseranbieter jetzt bewerten

Du bist mit deinem Glasfaseranbieter (un)zufrieden?

Dann nutze unsere community-getriebene Bewertungsplattform glasfaseranbieter.de - jetzt mit dem Glasfaserforum Login unkompliziert bewerten!

Jetzt in wenigen Sekunden fair bewerten!

Benutzer online in diesem Thema

  • 1 Besucher
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™ 6.2.6

Wir respektieren Deine Privatsphäre

Wir nutzen Cookies und ähnliche Technologien für den Betrieb der Seite, Reichweitenmessung und Werbung. Du entscheidest, was Du erlaubst. Details in unserer Datenschutzerklärung. Deine Auswahl kannst Du jederzeit über den Link „Cookie-Einstellungen“ im Fußbereich ändern.

Cookie-Einstellungen

Wähle aus, welche Kategorien Du erlaubst. Für jede Kategorie kannst Du über „Details anzeigen“ sehen, welche Cookies und Skripte konkret geladen werden, welche Empfänger beteiligt sind und wie lange gespeichert wird.

Weitere Informationen: Datenschutzerklärung · Impressum