[Erledigt] Wireguard Problem

x-node

Neuer User
Mitglied seit
2 Mrz 2024
Beiträge
72
Punkte für Reaktionen
5
Punkte
8
Hallo,

ich habe seit heute Probleme mit 2 Wireguard Clients. Die verbinden sich schlicht nicht mehr. Auf dem Linux Server auf dem der Wireguard Server läuft ist nftables deaktiviert und iptables lässt den Verkehr durch NAT zu. Woran kann das liegen? Ich bin echt verzweifelt. Mein PC bekommt irgendwann mal nach ner Stunde Handshakes und sobald ich wenn ich den Wireguard Server neu starte, bekommt der PC wieder keine Verbindung. Das Handy bekommt überhaupt keine Verbindung mehr! Das Internet an sich funktioniert auf beiden Geräten, nur eben ohne Wireguard. Kann jemand helfen?

Ich habe den Wireguard Server mehrmals gestartet, auch ein kompletter Reboot des Linux Servers. Das bringt alles nichts!

Kann doch nicht sein, dass irgendwo eine Firewall sein muss, die ich nicht entdecke. Ich hatte es auch schon öfter, dass mein IP Telefon einfach geblockt wurde von irgendeiner Firewall, obwohl ich nftables deaktiviert habe und in IP Tables keine blockierende Regel dazuf festgelegt habe. Da half nur eine Neuinstallation der PBX. Also muss doch irgendwo eine Firewall sein. UFW ist jedenfalls nicht installiert.
 
Zuletzt bearbeitet:
Die Ausgabe von ip a, route, route -6 sowie der WireGurad Konfiguration wäre hier hilfreich. Was steht in den Logdateien bzw. journalctl? Sofern der Server zu Hause steht, sind auch Screenshots der Portweiterleitung des Routers nötig.

Vergessen: und die Konfiguration der Clients!
 
Vielen Dank für Deine Antwort.

Es ist ein gehosteter VPS Server. Ich habe nichts an den Konfigurationen verändert. Nach einer kompletten Neuinstallation des Servers besteht das Problem weiterhin beim iPhone. Wenn ich mich im WLAN befinde, funktioniert es seltsamerweise. Es liegt wirklich nicht an den Mobilen Daten, denn ohne Wireguard funktionieren die auch. Ich habe bei Allowed IPs schon immer 0.0.0.0/0, ::/0 stehen und da gab es nie Probleme damit. Ich habe gestern keinen einzigen Client mehr vor der Neuinstallation Online bekommen. Nun funktioniert wenigstens mein PC und meine Linux VM wieder, aber neu starten will ich da nichts, weil es sonst wieder sein kann, dass ich stundenlang keine Handshakes bekomme. Ich finde das schon sehr seltsam, wie gesagt über ein Jahr gab es dabei keine Probleme und nun macht mein Wireguard, was es will.

Code:
$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether c6:9e:20:db:76:c7 brd ff:ff:ff:ff:ff:ff
    inet xxx.xxx.xxx.xxx/22 brd xxx.xxx.xxx.xxx scope global dynamic ens3
       valid_lft 2655421sec preferred_lft 2655421sec
    inet6 fe80::c49e:20ff:fedb:76c7/64 scope link
       valid_lft forever preferred_lft forever
5: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.0.0.1/24 scope global wg0
       valid_lft forever preferred_lft forever

Code:
$ route

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
default         gateway.netcup. 0.0.0.0         UG    0      0        0 ens3
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0
xxx.xxx.xxx.xxx     0.0.0.0         255.255.252.0   U     0      0        0 ens3

Code:
$ route -6

Kernel-IPv6-Routentabelle
Destination                    Next Hop                   Flag Met Ref Use If
localhost/128                  [::]                       U    256 1     0 lo
fe80::/64                      [::]                       U    256 1     0 ens3
[::]/0                         fe80::1                    UGDAe 1024 3     0 ens3
localhost/128                  [::]                       Un   0   4     0 lo
fe80::c49e:20ff:fedb:76c7/128  [::]                       Un   0   3     0 ens3
ff00::/8                       [::]                       U    256 3     0 ens3
ff00::/8                       [::]                       U    256 1     0 wg0
[::]/0                         [::]                       !n   -1  1     0 lo

Code:
$ sysctl -p
net.ipv4.ip_forward = 1

Code:
$ iptables -L

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Code:
$ systemctl status nftables

● nftables.service - nftables
   Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2024-08-26 01:48:26 CEST; 6h ago
     Docs: man:nft(8)
           http://wiki.nftables.org
 Main PID: 328 (code=exited, status=0/SUCCESS)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Viele Grüsse
 
Nun, in meiner ursprünglichen Antwort bat ich zwar um weit mehr Informationen, aber sei es drum.

Da dein Server kein IPv6 eingerichtet hat und nur deine mobilen Endgeräte im Mobilfunknetz nicht online kommen, nutzt du wohl einen IPv6 only APN, z.B. internet.v6.telekom
 
Code:
$ journalctl -u wg-quick@wg0

-- Logs begin at Mon 2024-08-26 08:22:33 CEST, end at Mon 2024-08-26 08:35:53 CEST. --
Aug 26 08:34:50 xxx systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
Aug 26 08:34:50 xxx wg-quick[14722]: wg-quick: `wg0' already exists
Aug 26 08:34:50 xxx systemd[1]: [email protected]: Main process exited, code=exited, status=1/FAILURE
Aug 26 08:34:50 xxx systemd[1]: [email protected]: Failed with result 'exit-code'.
Aug 26 08:34:50 xxx systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.

Das oben lässt sich wahrscheinlich einfach lösen, indem ich einmal "systemctl wg-quick down wg0" durchführen würde und anschliessend "systemctl restart wg-quick@wg0"

Nein ich nutze eine Schweizer Sim, die ist IPv4 only, die bieten wohl noch keine IPv6 Adressen an.
Vor der Neuinstallation kam aber auch mein PC nicht online und die Linux VM kam immer online, aber erst nach gefühlten 5 Minuten.

Mein Client sieht so aus (iPhone):

Code:
[Interface]
PrivateKey = xxx
Address = 10.0.0.2/32
DNS = 9.9.9.9, 149.112.112.112

[Peer]
PublicKey = xxx
Endpoint = xxx:51820
AllowedIPs = 0.0.0.0/0, ::/0

Wireguard-Server (wg0.conf):

Code:
[Interface]
PrivateKey = xxx
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
PostUp = ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT
PostDown = ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

[Peer]
PublicKey = xxx #iPhone
AllowedIPs = 10.0.0.2/32

....
 
Da hast du wohl was doppelt konfiguriert.
Ja das lies sich sicher leicht beheben mit meiner genannten Vorgehensweise, ich will es momentan nicht anfassen, sonst hab ich wieder kein Datenverkehr! :D Das muss ich dann heute Abend angehen, sonst kommt mein Server-PC nicht mehr online. Anfangs hatte ich den Verdacht, dass es am VPS liegt, denn das ISO Image hochladen benötigte ebenfalls 4 Anläufe, da immer eine Fehlermeldung Seitens Provider kam.
 
Vielleicht könnte ein Moderator das Thema irgendwo sinnvoller einsortieren, da es hier wohl nicht um AVM Produkte geht :)
 
Gerne, wenn es helfen soll.
 
a das lies sich sicher leicht beheben mit meiner genannten Vorgehensweise
Da bin ich mir nicht sicher. Nur weil du den Service einmal stoppst und startest, ist der Grund für die Fehlermeldung ja nicht weg. Wireguard scheint irgendwo außerhalb des Services gestartet zu werden. Wo das ist und ob die Konfig passt, kann man überhaupt nicht sagen.

Übrigens ist deine Konfiguration inkonsistent. Wenn du kein IPv6 nutzen willst, dann sollte es auch komplett aus der Konfiguration verschwinden. Sonst glauben die Endgeräte, sie hätten eine IPv6 Verbindung über den VPN Tunnel, die nicht da ist. Das kann auch dazu führen, dass es so aussieht, als würde die VPN Verbindung nicht funktionieren.
 
Das werde ich einmal genauer prüfen müssen. Ich habe es gerade nochmal mehrmals getestet. Über Mobile Daten erhalte ich keine Handshakes und sobald ich ins WLAN gehe, erhalte ich Handshakes und bin im VPN. Jetzt heißt es gesamte Netzwerkeinstellungen auf dem iPhone zurücksetzen und wenn das nicht hilft, habe ich den Carrier in Verdacht, dass da nun UDP Ports geblockt werden; oder mein Server blockt auf irgendeine Weise die IP meines iPhones. Mir fiel das auch kurz nach meinem Tarifwechsel auf dieser Karte auf, da ging auch eine kurze Zeit mein Private Relay nicht mehr. Verrückt, so war es aber.
 
wenn das nicht hilft, habe ich den Carrier in Verdacht, dass da nun UDP Ports geblockt werden;
Das ist extrem unwahrscheinlich. Wenn es was mit dem Mobilfunk zu tun hat, dann eher mit einem unzureichenden NAT Setup. Aber das kannst du ja einfach herausfinden, indem du einen anderen Port verwendest oder den Traffic auf dem Server mit tcpdump analysierst.

oder mein Server blockt auf irgendeine Weise die IP meines iPhones.
Das hast du ja selbst in der Hand. An die Absicherung deines Servers musst du eh dringend dran, im Moment ist es Selbstmord. Übrigens hast du oben die INPUT chain nicht gezeigt, man kann also gar nicht beurteilen, ob da eine Regel greift. Vielleicht gibt es auch Dinge wie Fail2Ban, die zuschlagen.
 
Zuletzt bearbeitet:
Alle offnen Ports wurden geschlossen und sind nur für zugelassene IPs zugänglich.

Den Port zu ändern habe ich schon versucht, einfach auf 51821 statt 51820 aber das änderte nichts. Keine Handshakes nach den Neustart des Interfaces.

Ein tcpdump werde ich heute durchführen und werde berichten.
 
Alle offnen Ports wurden geschlossen und sind nur für zugelassene IPs zugänglich.
Und wie ermittelst du die IP deines mobilen Endgerätes? Die ist hochdynamisch und wahrscheinlich wegen NAT Mechanismen nicht einfach bestimmbar. Der Ansatz ist an den meisten DSL- oder kabelgebundenen Internetanschlüssen schon zum Scheitern verurteilt, aber an mobilen Endgeräten erst recht.
 
Ich habe den Adressbereich freigegeben. Also es ist Ende. Ich werde den ISP kontaktieren. Jetzt kommt mein PC auch ohne Wireguard nicht mehr online, Private Relay meldet sich wieder und das DECT Telefon kann ebenfalls nicht mehr, mit dem Hinweis in der Fritzbox, dass die Telefonie seit mehr als einer Stunde nicht mehr erreichbar ist. Muss sich mein ISP drum kümmern, da bin ich nun raus. Ich will jedenfalls eine Entschädigung für diese Ausfälle, zumal ich meinen gesamten Server deshalb neu installiert habe. Noch nie erlebt! Eine Karte ist unlimitiert und die andere hat ein Volumen von 500 GB monatlich.

EDIT: Ich habe mal auf der Fritzbox DNS 9.9.9.9, 149.112.112.112 rausgeworfen und nutze nun den des ISP. Siehe da, wenigstens mein PC kann wieder ins Internet.
 
Zuletzt bearbeitet:
  • Haha
Reaktionen: KunterBunter
Bevor du ausufernde Entschädigungsforderungen an deinen Provider stellst, solltest du dein gesamtes Setup noch mal anschauen. Ich würde Geld drauf wetten, dass deine Provider nichts dafür können.
 
Wie erwähnt, ich habe nichts verstellt und habe den Server komplett neu aufgesetzt.
Also sagen wir es liegt nicht am Provider um Schadensersatz zu fordern und es liegt an meinem Setup:
Warum verbindet sich das Wireguard nach einer Stunde auf einmal wieder von alleine? Und warum kann mein Client über WLAN nun wieder online (über WLAN) was der Client die ganze Nacht nicht konnte? Mehr wie alle iptables und nat regeln löschen kann ich wohl nicht?
 
Da du den Server neu installiert hast, sind leider alle Log Dateien verloren gegangen, die einen Hinweis auf das ursprüngliche Problem hätten geben können.

Die restlichen Fragen können auch nicht beantwortet werden, da du keine Analyse betreibst, sondern wild Änderungen vornimmst.
 
  • Like
Reaktionen: PeterPawn
Welche Analysen denn?
Was brauchst du dann? Soll ich sensible tcpdump Logs öffentlich posten??? Ich habe alles gepostet was du wolltest, ausser tcpdump.
 
Hast du dir denn den Traffic mit tcpdump angesehen?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.