VPS Server mit Wireguard und 2 Clients
Hallo, ich bin absoluter Neuling in Sachen Netzwerk/Wireguard.
Alles was ich weiss, habe ich selbst recherchiert. Leider komme ich nicht weiter. Hier mein Problem:
Ich habe ein Wireguard VPN mit zwei Raspberry Pi , welches auch funktionierte.
Da es von meinem Internetprovider immer wieder Probleme gab -mit einer öffentlichen IP -, habe ich beschlossen, einen VPS Server zu mieten.
Mein Aufbau der Wireguard -Konfiguration wg0
(IP und Port sind nicht echt)
VPS Server:
IPv4 : 77.22.333.444
PrivateKey: MDkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAmc=
Publickey: a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
Client 1:
PrivateKey: IGhLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxarvaClc=
Publickey: uYLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPxc=
Client 2
PrivateKey: AdcLxxxxxxxxxxxxxxxxxxxxxxxxxarvaBbn=
Publickey: 85gCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKDu
VPS-Server
Inhalt wg0.conf
[Interface]
Address = 10.0.0.1/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = MDkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAmc=
[Peer]
PublicKey = uYLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPxc=
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
[Peer]
PublicKey = 85gCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKDu
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
Client 1:
Inhalt wg0.conf
[Interface]
Address = 10.0.0.2/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = IGhLxxxxxxxxxxxxxxxxxxxxxxxxxxxarvaClc=
[Peer]
PublicKey = a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
AllowedIPs = 10.0.0.0/24
Endpoint = 77.22.333.444:1234
PersistentKeepalive = 25
Client 2
Inhalt wg0.conf
[Interface]
Address = 10.0.0.3/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = AdcLxxxxxxxxxxxxxxxxxxxxxxarvaBbn=
[Peer]
PublicKey = a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
AllowedIPs = 10.0.0.0/24
Endpoint = 77.22.333.444:1234
PersistentKeepalive = 25
________________________________________________________________________________
Handshake findet mit beiden Clients statt.
Ping funktioniert aber nur bei Client 2.
Ich habe gelesen, dass der Eintrag in den wg0.conf Dateien:
AllowedIPs = 10.0.0.0/24
eigentlich
AllowedIPs = 10.0.0.0/32
heißen müsste. Dann kommt es allerdings zu keiner Verbindung.
Könnte mir jemand helfen?
Alles was ich weiss, habe ich selbst recherchiert. Leider komme ich nicht weiter. Hier mein Problem:
Ich habe ein Wireguard VPN mit zwei Raspberry Pi , welches auch funktionierte.
Da es von meinem Internetprovider immer wieder Probleme gab -mit einer öffentlichen IP -, habe ich beschlossen, einen VPS Server zu mieten.
Mein Aufbau der Wireguard -Konfiguration wg0
(IP und Port sind nicht echt)
VPS Server:
IPv4 : 77.22.333.444
PrivateKey: MDkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAmc=
Publickey: a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
Client 1:
PrivateKey: IGhLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxarvaClc=
Publickey: uYLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPxc=
Client 2
PrivateKey: AdcLxxxxxxxxxxxxxxxxxxxxxxxxxarvaBbn=
Publickey: 85gCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKDu
VPS-Server
Inhalt wg0.conf
[Interface]
Address = 10.0.0.1/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = MDkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAmc=
[Peer]
PublicKey = uYLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPxc=
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
[Peer]
PublicKey = 85gCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKDu
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
Client 1:
Inhalt wg0.conf
[Interface]
Address = 10.0.0.2/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = IGhLxxxxxxxxxxxxxxxxxxxxxxxxxxxarvaClc=
[Peer]
PublicKey = a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
AllowedIPs = 10.0.0.0/24
Endpoint = 77.22.333.444:1234
PersistentKeepalive = 25
Client 2
Inhalt wg0.conf
[Interface]
Address = 10.0.0.3/24
#SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
ListenPort = 1234
PrivateKey = AdcLxxxxxxxxxxxxxxxxxxxxxxarvaBbn=
[Peer]
PublicKey = a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
AllowedIPs = 10.0.0.0/24
Endpoint = 77.22.333.444:1234
PersistentKeepalive = 25
________________________________________________________________________________
Handshake findet mit beiden Clients statt.
Ping funktioniert aber nur bei Client 2.
Ich habe gelesen, dass der Eintrag in den wg0.conf Dateien:
AllowedIPs = 10.0.0.0/24
eigentlich
AllowedIPs = 10.0.0.0/32
heißen müsste. Dann kommt es allerdings zu keiner Verbindung.
Könnte mir jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8496921557
Url: https://administrator.de/contentid/8496921557
Ausgedruckt am: 23.11.2024 um 23:11 Uhr
9 Kommentare
Neuester Kommentar
ich bin absoluter Neuling in Sachen Netzwerk/Wireguard.
Dann hast du hoffentlich das hiesige Wireguard Tutorial genau durchgelesen und umgesetzt?! 🤔Dort und in den weiterführenden Links ist alles im Detail für ein korrektes Setup beschrieben:
Merkzettel: VPN Installation mit Wireguard
OT: Wenn du ganz ohne Frickelei mit externer VPN Clientsoftware arbeiten willst auf dem VPS Server bietet sich als Alternative auch IPsec mit IKEv2 an was in allen Endgeräten die bordeigenen VPN Clients supportet:
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi
Ich habe gelesen, dass der Eintrag in den wg0.conf Dateien
Eine /32er Hostmaske erwartet dann auch die Angabe einer zur Maske passenden Hostadresse und keine Netzwerk Adresse wie du (oder die Quelle wo du den Unsinn gelesen hast) es macht. Es geht logischerweise nur entweder Hostmaske und Hostadresse oder Netzwerkmaske mit Netzwerk Adresse (Hostbits auf 0). Mischmasch aus beiden geht bekanntlich nicht!Du hast also, wie leider sehr oft, wieder einmal den üblichen Fehler begangen und in den "AllowedIPs" eine falsche Subnetzmaske verwendet! Damit scheitert dann das korrekte Cryptokey Routing mit deinem Fehlerbild. Das o.a. Tutorial geht explizit auf diesen Punkt ein!
Ein "Listen" Port muss man beim Client nicht konfigurieren, nur beim Server!! Clients bauen selber aktiv den Tunnel auf (VPN Initiator) und warten niemals auf eingehende VPB Verbindungen, deshalb ist ein Listen Port in der Konfig unsinnig.
"1234" ist zudem ein nicht öffentlicher IANA Port!!
https://www.iana.org/assignments/service-names-port-numbers/service-name ...
Die Wireguard Ports sollten tunlichst im freien Ephemeral Portbereich liegen wie die üblichen WG Ports dies auch tun z.B. mit 51234! Auch hier bedeuten solche "Banalportnummern" immer ein Sicherheitsrisiko.
Kann man also nur hoffen das das "1234" nicht echt ist und hier lediglich nur als Beispiel gemeint ist?!
Richtig wäre die Client Konfig so:
[Interface]
Address = 10.0.0.2/24
PrivateKey = IGhLxxxxxxxxxxxxxxxxxxxxxxxxxxxarvaClc=
[Peer]
PublicKey = a/Zpaxxxxxxxxxxxxxxxxxxxxxxxxxxz7QGlo=
AllowedIPs = 10.0.0.1/32
Endpoint = 77.22.333.444:1234
PersistentKeepalive = 25
Zweiter großer Fehler der immer und immer wieder falsch gemacht wird ist das Masquerading (NAT, Adress Translation) im VPN Tunnel und besonders auf den Clients! Das hat dort absolut nichts zu suchen!!
Da du so oder so mit Split Tunneling arbeitest, benötigst du generell gar kein Masquerading (NAT) in deinem VPN, also auch nicht auf dem Server. Wozu auch wenn es alles dein eigenes Netz ist?!
Internet Traffic wird an den Clients dann so oder so lokal bedient und macht ein Masquerading dann obsolet was obendrein kontraproduktiv ist. (Performance)
Wenn überhaupt sollte man das Masquerading generell NIE in der WG Konfig machen sondern fest im nftables oder iptables Firewall Setup des Servers. (Siehe IPsec Server oben)
Dritter Fehler: Ob man das WG interne IP Netz gerade mit so einem 10er Banal- und Allerweltsnetz konfiguriert solltest du dir gut überlegen. Ein Adresskonflikt wird dann nicht lange auf sich warten lassen. Für ein VPN also keine gute Wahl. (Siehe zur sinnvollen VPN IP Adressierung auch HIER).
Glückwunsch! 👏👍 Hoffentlich dann auch mit einem legalen UDP Port?!
Bitte dann auch nicht vergessen deinen Thread als erledigt zu schliessen!
Wie kann ich einen Beitrag als gelöst markieren?
Nochmals Danke für die Unterstützung.
Immer gerne! 😊Bitte dann auch nicht vergessen deinen Thread als erledigt zu schliessen!
Wie kann ich einen Beitrag als gelöst markieren?
Serie: Wireguard mit 3 Rechnern
VPS Server mit Wireguard und 2 Clients9