Wireguard Zugriff auf Internet-Adressen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 07.09.2021 21:33:14

Hallo,

nach der Anleitung dieser Webseite wurde ein Wireguard-Server installiert: https://www.wundertech.net/setup-wiregu ... -tutorial/

Die Einrichtung funktionierte weitestgehend fehlerfrei.

Ein Client kann erfolgreich eine Verbindung zum Wireguard-Server herstellen.

Was nicht funktioniert, ist der Zugriff auf Internet-Adressen.

Domänen werden korrekt auf die entsprechende IP-Adresse aufgelöst, z.B.

Code: Alles auswählen

$ Ping google.de
PING google.de (142.250.203.131) 56(84) bytes of data.
Es kommen jedoch keine Rückmeldungen.

Was hingegen funktioniert, sind Pings auf den lokalen DNS-Server:

Code: Alles auswählen

ping dnsserver
PING dnsserver (192.168.188.19) 56(84) bytes of data.
64 bytes from 192.168.188.19 (192.168.188.19): icmp_seq=1 ttl=64 time=1.17 ms
64 bytes from 192.168.188.19 (192.168.188.19): icmp_seq=2 ttl=64 time=1.37 ms
64 bytes from 192.168.188.19 (192.168.188.19): icmp_seq=3 ttl=64 time=1.23 ms
64 bytes from 192.168.188.19 (192.168.188.19): icmp_seq=4 ttl=64 time=1.27 ms
Ebenso lassen sich andere lokale Systeme anpingen.

Die Domain-Auflösung funktioniert immer fehlerfrei, solange die Domain existiert.

Hier ist die Konfiguration:

Code: Alles auswählen

[Interface]
PrivateKey = [...Private Key...]
Address = 10.6.0.1/24
MTU = 1460
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -o %i -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE iptables -D FORWARD -o %i -j ACCEPT
### begin Client1 ###
[Peer]
PublicKey = [ ... Key ...]
PresharedKey = [...Key...]
AllowedIPs = 10.6.0.2/32
### end Client1 ###
Kann jemand hier weiterhelfen, die Fehlerursache einzugrenzen?

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 07.09.2021 22:43:22

s837ubc hat geschrieben: ↑ zum Beitrag ↑
07.09.2021 21:33:14
Was nicht funktioniert, ist der Zugriff auf Internet-Adressen.

Hier ist die Konfiguration:

Code: Alles auswählen

[
AllowedIPs = 10.6.0.2/32
Wie ist die default route?

Code: Alles auswählen

route -n
ip r
?
Versuch mal mit:

Code: Alles auswählen

AllowedIPs = 0.0.0.0/0

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 08.09.2021 00:30:01

Hallo,

Code: Alles auswählen

$  route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.188.1   0.0.0.0         UG    203    0        0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG    205    0        0 eth0.50
10.6.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0
192.168.3.0     0.0.0.0         255.255.255.0   U     205    0        0 eth0.50
192.168.188.0   0.0.0.0         255.255.255.0   U     203    0        0 eth0

$ ip r
default via 192.168.188.1 dev eth0 src 192.168.188.19 metric 203
default via 192.168.3.1 dev eth0.50 proto dhcp src 192.168.3.233 metric 205
10.6.0.0/24 dev wg0 proto kernel scope link src 10.6.0.1
192.168.3.0/24 dev eth0.50 proto dhcp scope link src 192.168.3.233 metric 205
192.168.188.0/24 dev eth0 proto dhcp scope link src 192.168.188.19 metric 203
eth0.50 ist für eine VLAN Schnittstelle mit der Tag-ID 50.

"AllowedIPs = 0.0.0.0/0" hat in diesem Fall keine Auswirkungen. Das habe ich auch schon getestet.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von bluestar » 08.09.2021 08:14:57

In deinen Posts herrscht ziemlich viel Wirrwarr, wie sieht denn auf dem Wirguard-Server die Konfigurationsdatei aus und die Ausgabe von route -n und als zweites wäre die Wireguard-Configuration deines Clients und auch dessen Ausgabe von route -n interessant.

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 08.09.2021 16:32:39

Hallo,

auf dem Wireguard Server schaut die Config-Datei so aus:

Code: Alles auswählen

$ cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = .....
Address = 10.6.0.1/24
MTU = 1460
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -o %i -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE iptables -D FORWARD -o %i -j ACCEPT
### begin client1 ###
[Peer]
PublicKey = ....
PresharedKey = ....
AllowedIPs = 0.0.0.0/0, ::/0
#AllowedIPs = 10.6.0.2/32
### end client1 ###
Route -n liefert folgende Ergebnisse:

Code: Alles auswählen

$ route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.188.1   0.0.0.0         UG    203    0        0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG    205    0        0 eth0.50
10.6.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0
192.168.3.0     0.0.0.0         255.255.255.0   U     205    0        0 eth0.50
192.168.188.0   0.0.0.0         255.255.255.0   U     203    0        0 eth0
Auf dem Client ist folgende Config vorhanden:

Code: Alles auswählen

$ cat /etc/wireguard/client1.conf  
[Interface]
PrivateKey = .....
Address = 10.6.0.2/24
MTU = 1420
DNS = 10.6.0.1

[Peer]
PublicKey = .....
PresharedKey = ....
Endpoint = Wireguard-Adresse:51820
AllowedIPs = 0.0.0.0/0, ::0/0
Auf dem Client ist derzeit kein route-Befehl installiert.
Eine Installation wird möglichst bald nachgeholt.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von bluestar » 08.09.2021 17:20:17

s837ubc hat geschrieben: ↑ zum Beitrag ↑
08.09.2021 16:32:39
auf dem Wireguard Server schaut die Config-Datei so aus:

Code: Alles auswählen

$ cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = .....
Address = 10.6.0.1/24
MTU = 1460
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -o %i -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE iptables -D FORWARD -o %i -j ACCEPT
### begin client1 ###
[Peer]
PublicKey = ....
PresharedKey = ....
AllowedIPs = 0.0.0.0/0, ::/0
#AllowedIPs = 10.6.0.2/32
### end client1 ###
Auf dem Server solltest du AllowedIPs = 10.6.0.2/32 setzen und mal prüfen, ob du IP-Forwarding aktiviert hast.
s837ubc hat geschrieben: ↑ zum Beitrag ↑
08.09.2021 16:32:39

Auf dem Client ist folgende Config vorhanden:

Code: Alles auswählen

$ cat /etc/wireguard/client1.conf  
[Interface]
PrivateKey = .....
Address = 10.6.0.2/24
MTU = 1420
DNS = 10.6.0.1

[Peer]
PublicKey = .....
PresharedKey = ....
Endpoint = Wireguard-Adresse:51820
AllowedIPs = 0.0.0.0/0, ::0/0
Hier sieht AllowedIPs, richtig aus ...

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 08.09.2021 19:41:07

s837ubc hat geschrieben: ↑ zum Beitrag ↑
08.09.2021 16:32:39

Auf dem Client ist derzeit kein route-Befehl installiert.
Auch keine Ausgabe mit:

Code: Alles auswählen

ip r
? Du musst net-tools nicht installieren. Mit "ip r" ist die default route auch ersichtlich.

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 09.09.2021 02:20:10

am Client1 wird folgendes ausgegeben:

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev client1 proto kernel scope link src 10.6.0.2
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.10

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 09.09.2021 08:03:40

s837ubc hat geschrieben: ↑ zum Beitrag ↑
09.09.2021 02:20:10
am Client1 wird folgendes ausgegeben:

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev client1 proto kernel scope link src 10.6.0.2
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.10
Eine default route ist nicht vorhanden. Ist der WireGuard-Server auch im Subnetz 172.16.0.0/24?

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 09.09.2021 19:29:49

Wenn keine Default Route vorhanden ist, kann auch keine Rückmeldung erfolgen?

Der Wireguard Server ist nur für den Bereich 10.6.0.0/24 zuständig. Der Server selbst ist nur über 192.168.188.0/32 und 10.6.0.0/24 erreichbar.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von bluestar » 09.09.2021 19:55:52

s837ubc hat geschrieben: ↑ zum Beitrag ↑
09.09.2021 19:29:49
Wenn keine Default Route vorhanden ist, kann auch keine Rückmeldung erfolgen?
Nirmalerweise hast du einen Default Gateway, den brauchsz du ja nur für Netze an denen der Server nicht ohnehin angeschlossen ist.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 09.09.2021 21:16:02

s837ubc hat geschrieben: ↑ zum Beitrag ↑
09.09.2021 19:29:49
Der Wireguard Server ist nur für den Bereich 10.6.0.0/24 zuständig. Der Server selbst ist nur über 192.168.188.0/32 und 10.6.0.0/24 erreichbar.
Lt. deiner Ausgabe:

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev client1 proto kernel scope link src 10.6.0.2
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.10
gibt es auf dem Client keine definierte Route in das Subnetz 192.168.188.0/24 und der Client hat auch kein Interface, dem eine IP-Adresse aus dem Subnetz 192.168.188.0/24 zugewiesen ist.
Das eth1-Interface hat die IP-Adresse 172.16.0.10/24. Hast Du die vollständige Ausgabe von "ip r" gepostet?

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 10.09.2021 14:21:33

Hallo,

die Angabe ...

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev client1 proto kernel scope link src 10.6.0.2
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.10
... ist vollständig und ist vom Client.

Auf dem Wireguard-Server sind zwei default-Routen vorhanden:

Code: Alles auswählen

$ ip r
default via 192.168.188.1 dev eth0 src 192.168.188.19 metric 203
default via 192.168.3.1 dev eth0.50 proto dhcp src 192.168.3.233 metric 205
10.6.0.0/24 dev wg0 proto kernel scope link src 10.6.0.1
192.168.3.0/24 dev eth0.50 proto dhcp scope link src 192.168.3.233 metric 205
192.168.188.0/24 dev eth0 proto dhcp scope link src 192.168.188.19 metric 203
Wenn ich die Diskussion verfolge, muss eine Default-Router für den Bereich 10.6.0.0/24 Bereich hinzugefügt werden.
Wie kann denn eine solche default-Route hinzugefügt werden?

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von bluestar » 10.09.2021 14:36:00

s837ubc hat geschrieben: ↑ zum Beitrag ↑
10.09.2021 14:21:33
Wenn ich die Diskussion verfolge, muss eine Default-Router für den Bereich 10.6.0.0/24 Bereich hinzugefügt werden.
Wie kann denn eine solche default-Route hinzugefügt werden?
Nein eher im Gegenteil du solltest erst einmal deinen Server ordentlich konfigurieren, dass er nur eine Default-Route benutzt...

Die Netzroute für 10.6.0.0/24 existiert ja:
s837ubc hat geschrieben: ↑ zum Beitrag ↑
10.09.2021 14:21:33

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev wg0 proto kernel scope link src 10.6.0.1
s837ubc hat geschrieben: ↑ zum Beitrag ↑
08.09.2021 16:32:39

Auf dem Client ist folgende Config vorhanden:

Code: Alles auswählen

$ cat /etc/wireguard/client1.conf  
[Interface]
PrivateKey = .....
Address = 10.6.0.2/24
MTU = 1420
DNS = 10.6.0.1

[Peer]
PublicKey = .....
PresharedKey = ....
Endpoint = Wireguard-Adresse:51820
AllowedIPs = 0.0.0.0/0, ::0/0
Welche IP hast du bei Endpoint eingetragen?

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 10.09.2021 15:01:15

s837ubc hat geschrieben: ↑ zum Beitrag ↑
10.09.2021 14:21:33
die Angabe ...

Code: Alles auswählen

$ ip r
10.6.0.0/24 dev client1 proto kernel scope link src 10.6.0.2
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.10
... ist vollständig und ist vom Client.

Wenn ich die Diskussion verfolge, muss eine Default-Router für den Bereich 10.6.0.0/24 Bereich hinzugefügt werden.
Wie kann denn eine solche default-Route hinzugefügt werden?
Du hast in deinem 1. Beitrag u. a. auch geschrieben:

Code: Alles auswählen

Was nicht funktioniert, ist der Zugriff auf Internet-Adressen.
Damit hast Du doch den Client gemeint, oder? Willst Du mit dem Client direkten Internetzugriff haben oder via WG-Server?
Eine default route wirst Du auf dem Client brauchen (entweder über den Router (als gateway) oder über den WG-Server (als gateway).
Aber evtl. zeigt dir jemand eine Lösung ohne default route, auf dem Client.

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von s837ubc » 11.09.2021 10:19:23

Es sollen hauptsächlich nur die Domain-Namensauflösungen über den Wireguard-Server laufen. Die eigentlichen Inhalte sollen direkt zum Client übertragen werden.

Hintergrund: Die Upload-Bandbreite von meinem Internet-Zugang sind mit etwa 1 Mbit/s gerade groß bemessen. Es ist daher ausreichend, wenn die Inhalte aus dem Internet ohne Umwege direkt zum Client übertragen werden.

Probleme mit dem Wireguard-Server und den Verbindungen im Zusammenhang mit dem Rückkanal haben scheinbar viele Anwender, wenn man nach einschlägigen Begriffen sucht.

Es ist ja nicht der erste Versuch, eine Wireguard-Verbindung aufzubauen. Vor wenigen jahren wurde schon mal ein Versuch gestartet. Damals hatte es auch nicht geklappt. Vielleicht klappt es dann in 2 bis 4 Jahren, wenn die Wireguard-Version weiterentwickelt wurde?

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von mat6937 » 11.09.2021 10:25:35

s837ubc hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 10:19:23
Es ist ja nicht der erste Versuch, eine Wireguard-Verbindung aufzubauen. Vor wenigen jahren wurde schon mal ein Versuch gestartet. Damals hatte es auch nicht geklappt. Vielleicht klappt es dann in 2 bis 4 Jahren, wenn die Wireguard-Version weiterentwickelt wurde?
Alles eine Frage der Konfiguration und dann gibt es z. Zt., überhaupt keine Probleme mit WireGuard.
BTW: Wenn Du Hilfe brauchst, solltest Du dir auch helfen lassen und die erforderlichen Informationen liefern bzw. zur Verfügung stellen.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard Zugriff auf Internet-Adressen

Beitrag von bluestar » 11.09.2021 10:26:24

s837ubc hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 10:19:23
Es sollen hauptsächlich nur die Domain-Namensauflösungen über den Wireguard-Server laufen. Die eigentlichen Inhalte sollen direkt zum Client übertragen werden.
An sich ist das eine einfache Aufgabe.
s837ubc hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 10:19:23
Es ist ja nicht der erste Versuch, eine Wireguard-Verbindung aufzubauen. Vor wenigen jahren wurde schon mal ein Versuch gestartet. Damals hatte es auch nicht geklappt. Vielleicht klappt es dann in 2 bis 4 Jahren, wenn die Wireguard-Version weiterentwickelt wurde?
Das klappt auch heute schon problemlos, wenn du deinen Netzwerkaufbau mal vollständig dokumentierst, dann ist das kein großer Aufwand das umzusetzen.

Antworten