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