IPv6 mit ULA im LAN und NPt - Windows Server 2012 R2 kein Internetzugriff



  • Hallo zusammen,

    ich arbeite im LAN mit IPv6-Adressen aus dem privaten Bereich und verwende NPt um diese in den öffentlichen IP-Adressbereich umzusetzen.
    Auf den Win7 PCs und Android Smartphones funktioniert das wunderbar. Diese nutzen auch IPv6 als bevorzugtes Protokoll.

    Windows Server 2012 R2 meldet allerdings beim Adapterstatus IPv6-Konnektivität: Kein Internetzugriff

    Bei diesem Screenshot hatte ich testweise IPv4 deaktiviert.
    Im Normalbetrieb soll Dual Stack laufen und dann wird von Windows Server 2012 R2 immer IPv4 bevorzugt weil es fälschlicherweise davon ausgeht, dass es über IPv6 keinen Internetzugriff hat.
    Verbindungen und Pings an IPv6-Adressen oder an Hostnamen mit ping -6 funktionieren fehlerfrei.

    Hat jemand eine Idee woran das liegen könnte?



  • Einen kleinen Fortschritt habe ich erzielen können.
    Der Adapterstatus zeigt zwar immer noch Kein Internetzugriff bei IPv6 aber nun wird IPv6 bevorzugt genutzt.

    Die Netzwerkkonfiguration von Windows 7 und Windows Server 2012 R2 unterscheidet sich bei den prefixpolicies.

    Hier die Ausgabe von netsh interface ipv6 show prefixpolicies auf einem Windows 7 Rechner:

    C:\Users\Administrator>netsh interface ipv6 show prefixpolicies
    Der aktive Status wird abgefragt...
    
    Vorgänger   Label  Präfix
    ----------  -----  --------------------------------
            50      0  ::1/128
            40      1  ::/0
            30      2  2002::/16
            20      3  ::/96
            10      4  ::ffff:0:0/96
             5      5  2001::/32
    

    Und hier die Ausgabe des Befehls unter Windows Server 2012 R2:

    C:\Users\Administrator>netsh interface ipv6 show prefixpolicies
    Der aktive Status wird abgefragt...
    
    Vorgänger   Label  Präfix
    ----------  -----  --------------------------------
            50      0  ::1/128
            40      1  ::/0
            35      4  ::ffff:0:0/96
            30      2  2002::/16
             5      5  2001::/32
             3     13  fc00::/7
             1     11  fec0::/10
             1     12  3ffe::/16
             1      3  ::/96
    

    Unter Windows 7 wird praktisch immer IPv6 bevorzugt, egal aus welchem Adressbreich die Adresse am Netzwerkadapter stammt.
    Unter Windows Server 2012 R2 sorgt die Zeile mit dem Adressbereich fc00::/7 dafür, dass IPv4 bevorzugt wird wenn am Netzwerkadapter nur eine ULA und keine GUA konfiguriert ist.
    Die Priorität (falsch übersetzt als Vorgänger) für Verbindungen von fc00::/7 ist niedriger (3) als die von ::ffff:0:0/96 (35), was IPv4 entspricht.

    Löschen lässt sich die Regel mit

    netsh interface ipv6 delete prefixpolicy fc00::/7
    

    Schauen wir uns also einmal an was passiert, wenn diese Regel gelöscht wird:

    Microsoft Windows [Version 6.3.9600]
    (c) 2013 Microsoft Corporation. Alle Rechte vorbehalten.
    
    C:\Users\Administrator>ping google.de
    
    Ping wird ausgeführt für google.de [172.217.17.227] mit 32 Bytes Daten:
    Antwort von 172.217.17.227: Bytes=32 Zeit=39ms TTL=56
    Antwort von 172.217.17.227: Bytes=32 Zeit=39ms TTL=56
    Antwort von 172.217.17.227: Bytes=32 Zeit=39ms TTL=56
    Antwort von 172.217.17.227: Bytes=32 Zeit=39ms TTL=56
    
    Ping-Statistik für 172.217.17.227:
        Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
        (0% Verlust),
    Ca. Zeitangaben in Millisek.:
        Minimum = 39ms, Maximum = 39ms, Mittelwert = 39ms
    
    C:\Users\Administrator>netsh interface ipv6 show prefixpolicies
    Der aktive Status wird abgefragt...
    
    Vorgänger   Label  Präfix
    ----------  -----  --------------------------------
            50      0  ::1/128
            40      1  ::/0
            35      4  ::ffff:0:0/96
            30      2  2002::/16
             5      5  2001::/32
             3     13  fc00::/7
             1     11  fec0::/10
             1     12  3ffe::/16
             1      3  ::/96
    
    C:\Users\Administrator>netsh interface ipv6 delete prefixpolicy fc00::/7
    OK.
    
    C:\Users\Administrator>ping google.de
    
    Ping wird ausgeführt für google.de [2a00:1450:4016:80c::2003] mit 32 Bytes Daten:
    Antwort von 2a00:1450:4016:80c::2003: Zeit=27ms
    Antwort von 2a00:1450:4016:80c::2003: Zeit=26ms
    Antwort von 2a00:1450:4016:80c::2003: Zeit=26ms
    Antwort von 2a00:1450:4016:80c::2003: Zeit=27ms
    
    Ping-Statistik für 2a00:1450:4016:80c::2003:
        Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
        (0% Verlust),
    Ca. Zeitangaben in Millisek.:
        Minimum = 26ms, Maximum = 27ms, Mittelwert = 26ms
    

    Nach dem Löschen wird direkt die IPv6 Adresse bevorzugt.
    Wenn die Regel dauerhaft gelöscht werden soll muss an den Befehl noch persistent angehägt werden.



  • Hi,

    zu dem ersten Post:
    ich konnte bei Windows Systemen beobachten, dass diese wenn kein gültiger DNS/Nameserver angegeben war auch meinten, dass keine "Konnektivität" besteht.
    Grundsätzlich funktioniert die Namensauflösung von v6 Adressen auch über einen v4 Nameserver - aber wäre auch denkbar, dass Windows hier explizit einen v6 resolver voraussetzt.



  • Hallo D-Kun,

    @D-Kun:

    … wäre auch denkbar, dass Windows hier explizit einen v6 resolver voraussetzt.

    Als Resolver (DNS Server) habe ich die Adresse von pfSense angegeben.
    Auf http://ipv6-test.com/ werden DNS4 + IP6 und DNS6 + IP6 als Reachable angezeigt.
    Wenn ich als DNS Server den Resolver von Google 2001:4860:4860::8888 angebe ändert sich nichts.

    Habe ich damit deine Vermutung abgedeckt oder meintest du etwas anderes?



  • Nur aus Interesse: Warum verwendest du NPT?



  • @Parsec:

    Nur aus Interesse: Warum verwendest du NPT?

    Ich habe drei Internetanschlüsse.

    Anschluss 1: Eine statische IPv4 Adresse und ein statisches /56 IPv6 Netz
    Anschluss 2: Eine statische IPv4, ein /29 IPv4 Netz und ein statisches /48 IPv6 Netz
    Anschluss 3: Eine dynamische IPv4 und ein statisches /48 IPv6 Netz per HE.net Tunnel

    Mometan bin ich dabei Load Balancing und Failover einzurichten.
    Um IPv6 verwenden zu können muss ich also NPt einsetzen.

    Öffentliche IP Adressen möchte ich im LAN nicht verwenden um Fehlkonfigurationen und Softwarefehlern vorzubeugen.
    Wenn ein Anschluss wegfallen sollte oder sich das zugewiesene IPv6 Netz ändern sollte müsste ich das Netzwerk umkonfigurieren.