WireGuard auf Windows-Server

  • Hallo zusammen!


    Erstmal eine kleine Historie:


    Aktuell verwende ich ZeroTier um eine verschlüsselte Verbindung zwischen einem Winows-Server hier bei netcup und einem Linux-Server bei einem anderen Anbieter herzustellen.


    Jetzt wollte ich gerne, dass mein iPhone über den Linux-Server ins Internet geht. Klappte soweit auch - bis auf IPv6. Mein PC hatte mit der gleichen Konfiguration keine Probleme. Da ging sowohl IPv4 als auch IPv6. Ich vermute hier ein Problem bei ZeroTier für iOS. Oder hat hier jemand zufällig eine Idee?


    Also habe ich WireGuard ausprobiert. Das klappt auch wunderbar mit dem iPhone und meinem PC. Das iPhone ist gerade so konfiguriert, dass der gesamte Traffic über WireGuard läuft. Und mein PC so, dass nur Traffic zum Server über WireGuard läuft.


    Somit wollte ich auch meinem Windows-Server hier bei netcup WireGuard verpassen und damit ZeroTier ablösen.

    Problem:


    Ich habe zu Testzwecken die Konfiguration meines PCs auf den Windows-Server kopiert (die Verbindung auf meinem PC war in der Zeit deaktiviert). Die Verbindung wird auch prompt hergestellt. Wenn ich jedoch versuche den Linux-Server anzupingen oder irgendwelche anderen Dienste zu erreichen, kommt ein Timeout. Ich sehe in WireGuard, dass Daten gesendet und empfangen werden. Aber trotzdem ein Timeout. Wobei gaaaaaanz selten sehe ich mal einen erfolgreichen Ping.

    Ich habe auch schon mit der MTU rumgespielt, aber bisher kein Erfolg. IP-Bereiche überschneiden sich auch nicht. Firewall-Probleme kann ich mir auch nicht vorstellen.


    Hat jemand eine Idee woran das liegen könnte oder wie jetzt die Fehlerquelle aufspüren kann?

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Funktioniert in beiden Richtungen der Ping nicht? Also nicht nur von Windows -> WG Server probieren, sondern auch in die andere Richtung? Da ganz selten mal ein Ping durch geht, klingt das so, als würde ein Paket des Linux Servers bei deinem Windows Server ankommen und dadurch kurz die Verbindung aufrechterhalten.

    Wireguard zeigt dir bei vorhandener Verbindung auch tatsächlich die richtigen peers an? (wg Befehl?)

    Bei aktivierten VPN funktioniert aber sonst noch alles? Stichwort: AllowedIPs

  • Tatsächlich geht der Ping in die andere Richtung und mal nicht. Eben erst mit extremen Schwankungen (zwischen 24 und 1976 ms). Nachdem ich alles nochmal neugestartet und einen neuen Peer angelegt habe ist der Ping stabil. Dafür wird aber immer eine icmp_seq übersprungen (1, 3, 5...) und jetzt wieder gar nicht.

    Code: Ping
    64 bytes from 172.28.5.68: icmp_seq=1 ttl=128 time=9.98 ms
    64 bytes from 172.28.5.68: icmp_seq=3 ttl=128 time=9.91 ms
    64 bytes from 172.28.5.68: icmp_seq=5 ttl=128 time=9.93 ms
    64 bytes from 172.28.5.68: icmp_seq=7 ttl=128 time=10.0 ms
    64 bytes from 172.28.5.68: icmp_seq=9 ttl=128 time=10.2 ms
    64 bytes from 172.28.5.68: icmp_seq=11 ttl=128 time=9.81 ms
    64 bytes from 172.28.5.68: icmp_seq=13 ttl=128 time=10.2 ms
    64 bytes from 172.28.5.68: icmp_seq=15 ttl=128 time=9.88 ms


    Ja, die Peers sehen für meinen Geschmack richtig aus:


    Hier noch die Configs:


    Linux-Server:


    Windows-Server:

    Code
    [Interface]
    PrivateKey = XXXXXXXXXXXX
    Address = 172.28.5.68/32, fd70:6349:fedb:f3a4::4/128
    
    [Peer]
    PublicKey = KBpPuYkuOWsMcgOF/m6RakRbdW8V/BlcMZrhOwq6olU=
    AllowedIPs = 172.28.5.64/26, fd70:6349:fedb:f3a4::/122
    Endpoint = server3.XXXX.de:51820


    Achja, bei aktiviertem VPN funktioniert alles Weitere tadellos.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

    2 Mal editiert, zuletzt von Virinum ()

  • Bei deinem Linux Server steht:

    Address = 172.28.5.65/26


    Bei deiner Windows Kiste steht als Peer aber:

    AllowedIPs = 172.28.5.64/26


    Die .64 wird sonst nirgendwo mit aufgeführt. Wenn ich mich nicht gerade irre, sagst du damit, dass nur der Traffic zur .64 durch den Tunnel soll, welche aber nirgendwo existiert.


    EDIT: Ignorier das. Ich hab das /26 übersehen und dachte irgendwie du willst wirklich nur auf die Linux Maschine und nicht das ganze Netz...

  • Also ich verstehe 172.28.5.64/26 so, dass das Subnetz durch den Tunnel soll. Habe es gerade mal auf 172.28.5.65/26 geändert - kein Unterschied.

    Das ist ja auch die Stelle, an der man konfigurieren kann, dass der gesamte Traffic durch den Tunnel soll. Also mit 0.0.0.0/0, ::/0.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Eben nochmal mit route -f alle Routen auf dem Windows-Server zurückgesetzt. Kein Erfolg.


    Mich fuchst das so, weil ja die exakt gleiche WireGuard-Konfiguration auf meinem Windows-PC zu Hause funktioniert.


    EDIT:


    Und dann funktionieren ganz zufällig mal zwei Pings. Anschließend geht wieder nichts.

    Code
    Ping wird ausgeführt für 172.28.5.65 mit 32 Bytes Daten:
    Antwort von 172.28.5.65: Bytes=32 Zeit=21ms TTL=64
    Zeitüberschreitung der Anforderung.
    Zeitüberschreitung der Anforderung.
    Antwort von 172.28.5.65: Bytes=32 Zeit=10ms TTL=64

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

    Einmal editiert, zuletzt von Virinum ()

  • Bei mir läuft das WAN-Interface auf 1500. WireGuard war schon standardmäßig auf 1420. Hab es jetzt mal mit 1400 und 1380 probiert. Leider ohne Erfolg.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Von mir aus können wir IPv6 auch erstmal ausklammern.

    Habe jetzt das WAN-Interface auf 1480 gesetzt und WireGuard mit 1420 gestartet. Leider immer noch ohne Erfolg.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Jetzt wollte ich gerne, dass mein iPhone über den Linux-Server ins Internet geht. Klappte soweit auch - bis auf IPv6. Mein PC hatte mit der gleichen Konfiguration keine Probleme. Da ging sowohl IPv4 als auch IPv6. Ich vermute hier ein Problem bei ZeroTier für iOS. Oder hat hier jemand zufällig eine Idee?

    Zerotier spielt sich auf OSI Layer 2 ab, TCP und IP sind auf OSI Layer 3. Insofern sollte ZT eigentlich keine Probleme mit IPv6 haben.


    Hast Du Dir die IPv6 Einstellungen im Controller angesehen?:

    pasted-from-clipboard.png


    Bist Du Dir denn sicher, dass Du auf der Linuxmaschine auch IPv6 Masquerading eingeschaltet hast? Gehts auf dem PC wirklich mit reiner IPv6 Konfig?


    Davon abgesehen: wenn man IPv4 hat, wieso braucht man dann noch IPv6?

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

    Einmal editiert, zuletzt von TBT ()

  • Hast Du Dir die IPv6 Einstellungen im Controller angesehen?

    Ja, habe ich. Sind auch aktiv und die Kommunikation zwischen den einzelnen Teilnehmern von ZeroTier funktioniert über IPv4 und IPv6.

    Im Bereich "Managed Routes" habe ich dann Routen definiert, die sämtlichen IPv4 und IPv6 Traffic über den Linux-Server leiten sollen:

    pasted-from-clipboard.png


    Auf dem Linux-Server habe ich MASQUERADE eingeschaltet. Anschließend habe ich in den ZeroTier-Clients "Allow Default Route Override" aktiviert. Auf dem PC konnte ich anschließend über den Linux-Server surfen (IPv4 und IPv6). Auf dem iPhone klappten nur IPv4-Verbindungen. Aber keine IPv6. Ich vermute einfach mal weil die IPv6-Route nicht richtig übernommen wird.

    Daher mein Versuch mit WireGuard, der ja auch wunderbar funktionierte. Nur nicht auf dem Windows-Server.


    Davon abgesehen: wenn man IPv4 hat, wieso braucht man dann noch IPv6?

    Weil ich auch gerne IPv6-only-Ziele im Internet über den Tunnel erreichen würde.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Wieso habe ich das nicht früher probiert? Habe eben mal die Treiber DVD eingelegt und alle Treiber geupdatet. Darunter war auch der Treiber des Ethernet Adapters. Jetzt funktioniert's.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

    Gefällt mir 1