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

  • 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.



    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



    Vielleicht kann es ja jemand gebrauchen :)


    Gruß Sascha

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

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

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • 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.

  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.67.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0001-225), 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.
  • 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.

  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.67.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0001-225), 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.
  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

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

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • 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...

  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.67.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0001-225), 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.
  • 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.

  • 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).

    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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

    VoIP: Gigaset N670 IP Pro Mini Multicell (Firmware 2.67.0), Cisco ATA-191-MPP 2-Port Phone Adapter (Firmware 11-3-2MPP0001-225), 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.
  • 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...


    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 ;)

  • 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.22.1) + Genexis Fibertwist F2110-2 (Rev2.0) @ AON (1000BASE-BX)

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

    Handset: Gigaset SL800H Pro (Firmware 131.013.04)

  • 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.
  • 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.

  • 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).