Wireguard mit dyn.DNS

Bisher war beim DynDNS die IPv4 hinterlegt. Nun zusätzlich auch die IPv6. Die ändert sich ja anscheinend nur alle 180 Tage mal. Vielleicht schmeckt das Wireguard ja besser. Ich weiß es doch auch nicht 🙈
 
riversource schrieb:
@Avenger84:
Code:
wg set <interface> peer <public_key> endpoint <IP-Addr>
Es gibt übrigens in den offiziellen Wireguard Tools direkt ein passendes Script dafür.
check ich nicht die Zeile, wie soll das laufen ?
 
Xechon schrieb:
isher war beim DynDNS die IPv4 hinterlegt. Nun zusätzlich auch die IPv6.
Und da hast du alles in Bezug auf IPv6 bedacht? Also z.B., dass dort die Adresse des Servers rein muss, und nicht die des Routers? Und dass du eine Portfreigabe brauchst, aber keine Portweiterleitung?

Avenger84 schrieb:
check ich nicht die Zeile, wie soll das laufen ?
Naja, auf dem ausgewählten Interface <interface> (z.B. wg0) wird für den Client <public_key> die neue IP-Adresse <IP-Addr> gesetzt. Die neue IP kennst du, den Public Key auch. Wo ist das Problem?

Ich meine, was passiert beim Restart vom wg0? Für die hinterlegten Clients werden die Verbindungen neu aufgebaut, d.h. die dyndns Adresse wird ausgewertet und die neue IP wird benutzt. Aber: Wenn es Clients gibt, z.B. Handys, die zu deinem Wireshark Endpoint eine Verbindung von außen aufgebaut haben, dann verlierst du dadurch die Verbindung und kannst diese Geräte erst wieder erreichen, wenn die sich erneut bei dir gemeldet haben. Das kann durchaus zu Paketverlusten führen.

Mit dem Aufruf setzt du gezielt für einen Client die neue IP aus der dyndns Auflösung. Für diesen einen Client ist das Ergebnis exakt das gleiche, wie der Neustart von Wireguard. Für alle anderen ist es besser.
 
  • Gefällt mir
Reaktionen: Avenger84
@riversource die Zeile habe ich auch schon gefunden. Ich verstehe nur nicht, wohin die gehört? In die jeweilige Client-Config? Als Cronjob? Kannst du hierzu bitte noch genauer werden?
 
Naja, denke doch mal 2 Sekunden über die Zeile nach:
  • Wie willst du die in die Config kriegen?
  • Wann würdest du durch einen manuellen Aufruf die IP eines Peers neu setzen wollen?

Man muss das Nachdenken in Foren nicht zwangsläufig einstellen.
 
das original ist hier: https://raw.githubusercontent.com/W...master/contrib/reresolve-dns/reresolve-dns.sh

ich check das aber nicht, was dort in den ganzen Schritten getan wird.

"meine" Lösung:
Code:
#!/bin/bash

cip=$(wg show wg0 endpoints | grep -E "xyzxyz" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
echo "$cip"
digIP=$(dig +short xyzxyz.dynv6.net) # Die Adresse des Peers muss angepasst werden
  echo "$digIP"
    if [ "$digIP" != "$cip" ]
      then
         echo "Daten sind anders"
         wg set <interface> peer <public_key> endpoint <IP-Addr>
       else
   echo "Daten sind gleich"
   #nichts zu tun
  fi

einfach so umbauen?
Ergänzung ()

edit: habe das fertige skript gerade ausprobiert, es funktioniert ohne Konfiguration. :daumen:

runtergeladen:
Code:
wget https://raw.githubusercontent.com/WireGuard/wireguard-tools/master/contrib/reresolve-dns/reresolve-dns.sh
ausführbar machen:
Code:
chmod +x reresolve-dns.sh

dann meinen peer absichtlich die falsche IPv6 zugewiesen:
Code:
sudo wg set wg0 peer xJTd2Dky...= endpoint [2a01:1020:e9a1:1a0a:dea1:31fe:fc31:a212]:51820
= keine Kommunikation mehr möglich

135s abwarten
Code:
sudo ./reresolve-dns.sh wg0
siehe da ohne Neustart wieder korrigiert

💪
 
Zuletzt bearbeitet:
ich kriege den Befehl:
./reresolve-dns.sh wg0

nicht im "sudo crontab -e" ans laufen, es passiert einfach nichts.

*/1 * * * * ./reresolve-dns.sh wg0 >/dev/null 2>&1
oder
*/1 * * * * "./reresolve-dns.sh wg0" >/dev/null 2>&1

habe den Besitzer der Datei von pi auf root geändert - passiert auch nichts.

im Shell funktioniert es tadellos.
 
Zuletzt bearbeitet:
Bei mir haut es leider gar nicht hin. Ich muss in der iOS-App von Wireguard die Verbindung manuell einmal kappen, damit er sich nachdem Wiederverbinden die neue IP des DynDNS holt.
 
@Avenger84: Arbeite in cronjobs ausschließlich mit absoluten Pfadangaben. Und achte darauf, dass das Environment passt, oder arbeite auch im Script mit absoluten Pfaden.

@Xechon: Auf dem iPhone wirst du dieses Script auch nicht zum Laufen bekommen. Da bleibt vermutlich wirklich nur Neustart, wenn du die Zwangstrennung nicht weg bekommst.
 
Dann habe ich das Script offensichtlich vollkommen falsch verstanden. Ich dachte das sorgt dafür, dass bei allen Clients im verbundenen Zustand die DynDNS-Adresse aktualisiert wird.
 
Nein. Es nutzt die dyndns Adresse, um die IP Adresse in den Verbindungseigenschaften von Wiregaurd zu aktualisieren. Das klappt natürlich nur für Gegenstellen, die eine dyndns Adresse haben, und nur auf Geräten, auf denen man das Script ausführen kann.
 
riversource schrieb:
@Avenger84: Arbeite in cronjobs ausschließlich mit absoluten Pfadangaben. Und achte darauf, dass das Environment passt, oder arbeite auch im Script mit absoluten Pfaden.

@Xechon: Auf dem iPhone wirst du dieses Script auch nicht zum Laufen bekommen. Da bleibt vermutlich wirklich nur Neustart, wenn du die Zwangstrennung nicht weg bekommst.
oh man bin ich blöde :stock:
danke

ich bin mir aber 100% sicher dass mein anderes skript im normalen crontab läuft:
Code:
*/5 * * * * token=xyz ./dynv6.sh mywireguard.dynv6.net >/dev/null 2>&1
(das aktualisiert meine IPv6 beim Reconnect der FritzBox)

Das lustige ist bei der Deutschen Glasfaser ist der IPv6 Prävix statisch, der hat sich seit 1/2 Jahr nicht geändert.
 
Wenn die Datei zufällig in dem Verzeichnis liegt, in dem cron startet, dann klappt das auch. Aber das wäre eher Zufall.

Bei der DG ändert sich das Prefix nur, wenn du den Router wechselst. Da braucht man solche Klimmzüge nicht.
 
  • Gefällt mir
Reaktionen: Avenger84
riversource schrieb:
[O₂ DSL hat] auch keine Zwangstrennung mehr.
Ein wenig offtopic, aber wo genau hast Du das her? Laut diesem Thread von letztem Monat, liest sich das so, als wäre die 24-Stunden-Trennung noch aktiv. Dafür hat das Forum dort sogar ein Tag …
Xechon schrieb:
Ich habe bei ddnss […] mal manuell meine IPv6 eingetragen. […] Die ändert sich ja anscheinend nur alle 180 Tage mal.
Ändert sich Deine IPv6-Adresse nach der Zwangstrennung nicht, also nur die IPv4?
 
Ändert sich Deine IPv6-Adresse nach der Zwangstrennung nicht, also nur die IPv4?
[/QUOTE]
Jo. Ich fliege z. B. aus Spielen, nicht aber vom TS3.
Ergänzung ()

norKoeri schrieb:
Ändert sich Deine IPv6-Adresse nach der Zwangstrennung nicht, also nur die IPv4?
Jo. Fliege dann z. B. von Spieleservern, nicht aber von TS3.
 
Xechon schrieb:
Jo. Fliege dann z. B. von Spieleservern, nicht aber von TS3.
TS3 läuft über UDP und ist connectionless, da fliegt man bei IP Wechsel nicht vom Server. Kannst du ganz einfach Testen indem du mal zu nem VPN connectest während du auf TS verbunden bist, da fliegst du nicht raus.
 
Zurück
Oben