MikroTik - Ab RouterOS 7.13 geht kein DNS für IPv6 mehr

Guten Abend Forum,

eventuell hat hier jemand einen Rat für mich.

Ich habe gestern das Update auf RouterOS 7.13 auf meinem RB5009 gemacht.
Soweit ist auch alles gut gelaufen.
Heute musste ich aber beim Versuch mich per Wireguard in mein Heimnetz einzuwählen feststellen, dass ich keine Verbindung bekomm.

Nach einer Prüfung ist mir aufgefallen, dass das der Router probleme mit dem erreichen von IPv6-Adressen hat.

Beim Updaten über IPv64 wird nur die IPv4 aktualisiert.
Wenn ich z.B. den IP-Check von DeDyn aufrufe, erhalte ich diesen Fehler:

[admin@MikroTik] > /tool fetch url="https://checkipv6.dedyn.io/" mode=https src-path="/" dst-path="/deSEC-IPv6.txt"
  status: failed

failure: resolving error

Intersannterweise geht aber scheinbar der nslookup noch, denn …

[admin@MikroTik] > put [:resolve checkipv6.dedyn.io]           
2a01:4f8:10a:1044:deec:642:ac10:8

Was aber auch funktioniert, ist der Ping.

[admin@MikroTik] > ping 2a01:4f8:10a:1044:deec:642:ac10:80
  SEQ HOST                                     SIZE TTL TIME       STATUS                                                                                                                                       
    0 2a01:4f8:10a:1044:deec:642:ac10:80         56  59 14ms73us   echo reply                                                                                                                                   
    1 2a01:4f8:10a:1044:deec:642:ac10:80         56  59 13ms968us  echo reply                                                                                                                                   
    2 2a01:4f8:10a:1044:deec:642:ac10:80         56  59 13ms962us  echo reply                                                                                                                                   
    3 2a01:4f8:10a:1044:deec:642:ac10:80         56  59 14ms195us  echo reply

Hat hier jemand ebenfalls schon das Problem nach dem Update bemerkt?


  • Ja, der Router wurde bereits mehrfach neu gestartet
  • Ja IPv6 funktioniert scheinbar ja, sonst geht kein Ping
  • Mein Rechner dahinter im Heimnetz kann auch stressfrei IPv6 nutzen (Hab Pi-Holes für DNS)
  • Der Router soll die DNS-Server vom ISP lernen (Haken dafür sitzt)

Da gibt es scheinbar doch ein Bug.
[v7.13 [stable] is released! - Page 2 - MikroTik](https://MikroTik Forum)

Okay, danke für die Info. Behalte das mal im Auge.

Hab mir mal eine Lösung gebastelt.
Ich hol mir mit dem Script die öffentlichen IPs von den Interfaces.
Geht zwar mit CGNAT vermutlich nicht, aber das hab ich ja zum Glück nicht.

# Globale Variablen erstellen
:global addressWithoutSubnetAndDoubleColonAtTheEnd
:global ipv4addressWithoutSubnet
 
# IPv4 ermitteln
:local ipv4Address [/ip address find where interface="XXXXXXXXXXXX"]
:if ($ipv4Address != "") do={
  :local address [/ip address get $ipv4Address value-name=address]
  :set ipv4addressWithoutSubnet [:pick $address 0 ([:find $address "/"] - 0)]
  :put $ipv4addressWithoutSubnet
  log info "Die erkannte IPv4 Adresse ist $ipv4addressWithoutSubnet"
} else={
  :put "Habe keine IPv4 Adresse auf der Schnittstelle XXXXXXXXXXXX gefunden"
}
                                                           
 
# IPv6 ermitteln
:local ipv6Address [/ipv6 address find where interface="XXXXXXXXXXXX" and address~"2a"]
:if ($ipv6Address != "") do={
  :local address [/ipv6 address get $ipv6Address value-name=address]
  :local addressWithoutSubnet [:pick $address 0 ([:find $address "/"] - 1)]
  :set addressWithoutSubnetAndDoubleColonAtTheEnd ($addressWithoutSubnet . ":")
  :put $addressWithoutSubnetAndDoubleColonAtTheEnd
  log info "Die aktuelle IPv6 ist $addressWithoutSubnetAndDoubleColonAtTheEnd"
} else={
  :put "Habe keine IPv6 Adresse auf der Schnittstelle XXXXXXXXXXXX gefunden"
}
 
log info "$addressWithoutSubnetAndDoubleColonAtTheEnd"
log info "$ipv4addressWithoutSubnet"
1 Like

@Hoerli
Danke für das Skript, funktioniert!

Allerdings stehe ich jetzt etwas auf dem Schlauch, wie kann ich damit nun die IP-Adresse hier nach ipv64 anouncen?

Du kannst nun einen fetch-Befehl bauen, der z.B. den Aufbau für die FritzBox nutzt.
https://ipv64.net/update.php?key=SuperGeheimerApiKeyOderSo&domain=deine-domain.de&ip=<ipaddr>&ip6=<ip6addr>

Der Verbindungsaufbau kann durch IPv4 erfolgen und alle notwendigen Daten werden übertragen.