Wireguard VPN kein Handshake

In weiten Teilen stimme ich @spcqike zu. Allerdings: Warum masqurade in der VM in Punkt 2? Das wird für den Zugriff von außen zwar funktionieren, aber auch den Zugriff aus dem Heimnetz aufs VPN unterbinden. Soll das so sein? Man könnte da auch vollwertig routen.

Der Weg, Smartphones etc. ins VPN einzubinden, ist natürlich der sichere Weg, und erlaubt den Zugriff aufs gesamte Heimnetz. Den Weg würde ich auch bevorzugen.
Alternativ könnte man aber auch:
  • Einen Port nach Wahl in der ionos Firewall freigeben.
  • eine iptables Regel auf dem VPS, die eine Weiterleitung zur internen IP in deinem LAN auf den Nextcloud erzeugt
Damit wäre dann der Zugriff auf ausgesuchte Services direkt aus dem Internet möglich. Das ist dann so wie die klassische Portweiterleitung, die man früher in der Fritzbox eingerichtet hat. Das heißt aber auch, dass sie JEDER nutzen kann - auch potenzielle Hacker. Dennoch kann man das in Erwägung ziehen, wenn man Leuten Zugriff geben will, die nicht unbedingt den Rest des Heimnetzes sehen sollen.
 
@spcqike Config also etwa so anpassen?

Config V-Server:
[Interface]
Address=192.168.200.1/24
ListenPort = 51820

PrivateKey=iCM...
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE; iptables -A FORWARD -i ens192 -p udp --dport 51280 -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE; iptables -A FORWARD -i ens192 -p udp --dport 51280 -j ACCEPT

# Client1
[Peer]
PublicKey=FQn...
AllowedIPs = 192.168.200.2/32, 192.168.178.1/24

# Client2
[Peer]
PublicKey=skX...
AllowedIPs = 192.168.200.3/32, 192.168.178.1/24
Die Lan IP ist ja eigentlich 192.168.178.1 weil ich darüber die Fritzbox intern erreiche, oder?

Config Linux Server:
[Interface]
PrivateKey=eOq...
Address=192.168.200.2/24
DNS = 1.1.1.1

[Peer]
PublicKey=v3m...
Endpoint=IP.des.Vservers:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i eth0 -p udp --dport 51280 -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i eth0 -p udp --dport 51280 -j ACCEPT
Würdest du sagen das ist alles so korrekt?
Wenn ich es so einstelle, kann ich noch immer nicht auf Frizbox und das interne Netzwerk zugreifen.
 
Zuletzt bearbeitet:
Es ist ja auch nicht korrekt. Die 192.168,178.0/24 gehört in der config auf dem vServer nur in den peer der VM. Der vServer könnte sonst nie entscheiden welchen peer er eine Anfrage an eine IP schicken sollte.

Auf dem Handy gehört es mit in den peer des Servers (zusätzlich zum VPN IP Bereich)

In der config der VM solltest du die allowedIP beim peer des Servers ebenfalls nur auf den VPN IP Bereich begrenzen.

So nach dem Motto
Config vServer
- peer VM
Die 192.168.200.2/32 und 192.168.178.0/24 darf mir hier schreiben und ich finde die Geräte auch hinter dem peer.
- peer Handy
Nur die 192.168.200.3/32 darf mir schreiben. Und hinter dem peer gibt es für mich keine weiteren IPs die man erreichen könnte

Am Handy
- peer vserver
Ich erreiche und erwarte Pakete nur von 192.168.200.0/24 und 192.168.178.0/24

Auf der vm
-peer server
Ich erreiche und erwarte nur Pakete von der 192.168.200.0/24

So in der Art kannst du dir das vorstellen.

@riversource ja, man kann vollwertig Routen ohne maskieren auf der VM. Dann muss man in der FRITZ!Box einfach nur die statische Route zum 192.168.200.0/24 Netzwerk über die lokale IP der VM hinterlegen. Ich dachte mir aber, dass es für den OP erst einmal einfacher ist, einfach zu maskieren. Aktuell besteht ja auch kein Bedarf aus dem lokalen Netzwerk heraus ein Gerät im oder „hinter“ dem VPN zu erreichen :)

Auch eine vServer seitige Portweiterleitung ohne WireGuard auf dem Handy haben zu müssen ist möglich. Aber nach den anfänglichen Schwierigkeiten und zusätzlichen Risiken dachte ich auch da, WireGuard auf dem Handy ist einfacher und weniger anfällig :)
 
So, jetzt korrekt?

Config V-Server:
[Interface]
Address=192.168.200.1/24
ListenPort = 51820

PrivateKey=iCM...
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE; iptables -A FORWARD -i ens192 -p udp --dport 51280 -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE; iptables -A FORWARD -i ens192 -p udp --dport 51280 -j ACCEPT

# Client1 VM
[Peer]
PublicKey=FQn...
AllowedIPs = 192.168.200.2/32, 192.168.178.0/24

# Client2 iPhone
[Peer]
PublicKey=skX...
AllowedIPs = 192.168.200.3/32

Config Linux VM:
[Interface]
PrivateKey=eOq...
Address=192.168.200.2/24
DNS = 1.1.1.1
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i eth0 -p udp --dport 51280 -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i eth0 -p udp --dport 51280 -j ACCEPT

[Peer]
PublicKey=v3m...
Endpoint=IP.Vserver:51820
AllowedIPs = 192.168.200.0/24
PersistentKeepalive = 25

Am iPhone habe ich unter Peer/Zulässige IPs "192.168.200.0/24, 192.168.178.0/24" eingetragen.
Verbindungen wurden aufgebaut aber ich komme noch immer nicht ins Heimnetz. Wenn ich VPN aktiviere und versuche meine Fritzbox (192.168.178.1) anzupingen kommt nichts zurück. Auch die Oberfläche bekomme ich nicht geöffnet. Irgendwas mache ich falsch? :D
 
Zuletzt bearbeitet:
Noch nicht, eine Route ins 192.168.200.0/24?
Als Gateway dann denke ich die 192.168.178.100?

Wenn ich im iPhone unter zulässige Peer Adressen angebe "0.0.0.0/0" komme ich ins Internet.
Wenn ich aber das "192.168.200.0/24" als einzige Adresse (oder auch mit 192.168.178.0/24) komme ich nicht mehr ins Internet ist mir noch aufgefallen.
Ergänzung ()

Es läuft alles. Ich habe eine statische Route in der Firtzbox hinterlegt die auf das 192.168.200.0 Netz zeigt und über die 192.168.178.100 (Linux Server) als Gateway geht. Sobald ich eine VPN Verbindung über Wireguard von dem Linux Server zum V-Server aufbaue kann ich das Heimnetz auch von außerhalb erreichen (sofern die Devices mit dem V-Server verbunden sind).
Ich bin wirklich begeistert von dieser Community. Das hätte ich mit keinem Online Tutorial hin bekommen..

Vielen Dank an alle die mich der Lösung näher gebracht haben.. Hätte nicht gedacht dass das so geht. Nebenbei konnte ich noch eine ganze Menge über VPN und Netzwerke lernen. Habe ich leider in der Ausbildung zum Informatikkaufmann nie so wirklich lernen können..
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: spcqike
Wenn du die 0.0.0.0/0 beim iPhone einträgst, wird sämtlicher IPv4 Traffic durch das VPN geleitet. Damit gehst du quasi über den vServer ins Internet.

Warum das iPhone offline ist, wenn du mir ein oder zwei Netzwerke Routen willst, erschließt sich mir nicht. (Ausser evtl. Du versucht im heimischen wlan ins VPN zu gehen und die heimischen Adressen über das VPN zu Routen. Das gibt Probleme mit den lokalen Routen im Gerät. Da die Route 192.168.178.0/24 dann doppelt vorhanden wäre)

Wenn die statische Route in der FRITZ!Box dazu führt, dass der Tunnel vollständig klappt, dann klappt das Maskieren auf der VM nicht.
(Maskieren ist das, was auch jeder Router nach außen macht. Er ersetzt die IP das eigentlich anfragenden Gerätes (deine lokale LAN IP) durch seine eigene IP des interfaces, wo die Pakete ihn verlassen (swine WAN IP). Die VM sollte auf ihrem LAN Interface das gleiche machen, damit es so aussieht, als würde sie selber die Anfrage erstellt haben. Andernfalls kommt die Anfrage ja von 192.168.200.3, welche der FRITZ!Box halt einfach nicht bekannt ist)

Das lan interface dee VM ist eth0? :)

Wie auch immer, schön, dass du eine funktionierende Lösung gefunden hast. Weiter so :)
 
Zurück
Oben