Wireguard Server ok Clients ohne Verbindung
Hallo Zusammen,
ich habe auf meiner Raspberry in einem Docker Container wireguard installiert. Zu erwähnen ist noch das die RPi4 per WLAN connected ist und nicht per LAN. Der Server wurde wie folgt eingerichtet:
UFW Status auf der RPI:
Start war erfolgreich mit sudo docker-compose up -d:
Konfiguration gecheckt mit sudo docker exec -it wireguard wg show:
Public IP check:
Und dann das gleiche vom container aus:
Logfile gecheckt:
wg0.conf:
peer1.conf:
Und wenn ich nun die peer1.conf nehme und auf meinem Windows 10 PC (wo schon wireguard client mit der conf eingerichtet ist erhalte ich folgenden Wireguard status:
Schnittstelle wg:
- Status: aktiv
- Öffentlicher Schlüssel (der aus der config)
- Eingangsport: 51820
- Adressen: 10.13.13.2./32
- DNS Server: 10.13.13.1
Teilnehmer:
- Öffentlicher Schlüssel (der aus der config)
- Erlaubte IPs: 0.0.0.0/0
- Endpunkt: 192.39.2xx.xx;51820
- Übertragen: 0B empfangen, 5,95KiN gesendet
Ipconfig zeigt den neuen adapter an:
Eine Internetverbindung ist leider nicht möglich.
Im Wireguard Protokoll steht folgendes:
2021-08-03 12:18:17.793: [TUN] [wg] peer(00xJ…bUXs) - Sending handshake initiation
2021-08-03 12:18:43.465: [TUN] [wg] peer(00xJ…bUXs) - Handshake did not complete after 5 seconds, retrying (try 2)
Im Router habe ich den Port 51820 freigegeben (siehe screenshot).
Kann mir einer evtl helfen?
Danke im voraus!!!
ich habe auf meiner Raspberry in einem Docker Container wireguard installiert. Zu erwähnen ist noch das die RPi4 per WLAN connected ist und nicht per LAN. Der Server wurde wie folgt eingerichtet:
version: "3.7"
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- SERVERURL=mydomain-vpn.ddns.net #optional
- SERVERPORT=51820 #optional
- PEERS=3 #optional
- PEERDNS=auto #optional
- INTERNAL_SUBNET=10.13.13.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
volumes:
- /opt/wireguard-server/config:/config
- /opt/wireguard-server/lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
UFW Status auf der RPI:
51820/udp ALLOW Anywhere
Start war erfolgreich mit sudo docker-compose up -d:
sudo docker-compose up -d
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Recreating wireguard ... done
Konfiguration gecheckt mit sudo docker exec -it wireguard wg show:
interface: wg0
public key: MEINKEY000/SZsWzW8GKedKwtpDti3fiMEINKEY000
private key: (hidden)
listening port: 51820
peer: PEER1cusYo3vZfnSiwUXGNN0RofGRzp9Hs0CqUrPEER1
allowed ips: 10.13.13.2/32
peer: PEER2shSKYqzQZqA/w6FcekMHOmH7KVY0/KQnPEER2
allowed ips: 10.13.13.3/32
peer: PEER3OxK47ckgG4Zne+jVVJE9PcNIvr49Df+cK6PEER3
allowed ips: 10.13.13.4/32
Public IP check:
curl -w "\n" ifconfig.me
result ===> 109.192.6x.xxx
Und dann das gleiche vom container aus:
docker exec -it wireguard curl -w "\n" ifconfig.me
result ===> 109.192.6x.xxx
Logfile gecheckt:
sudo docker-compose logs -f wireguard
Attaching to wireguard
wireguard | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
wireguard | [s6-init] ensuring user provided files have correct perms...exited 0.
wireguard | [fix-attrs.d] applying ownership & permissions fixes...
wireguard | [fix-attrs.d] done.
wireguard | [cont-init.d] executing container initialization scripts...
wireguard | [cont-init.d] 01-envfile: executing...
wireguard | [cont-init.d] 01-envfile: exited 0.
wireguard | [cont-init.d] 10-adduser: executing...
wireguard |
wireguard | -------------------------------------
wireguard | _ ()
wireguard | | | ___ _ __
wireguard | | | / __| | | / \
wireguard | | | \__ \ | | | () |
wireguard | |_| |___/ |_| \__/
wireguard |
wireguard |
wireguard | Brought to you by linuxserver.io
wireguard | -------------------------------------
wireguard |
wireguard | To support the app dev(s) visit:
wireguard | WireGuard: https://www.wireguard.com/donations/
wireguard |
wireguard | To support LSIO projects visit:
wireguard | https://www.linuxserver.io/donate/
wireguard | -------------------------------------
wireguard | GID/UID
wireguard | -------------------------------------
wireguard |
wireguard | User uid: 1000
wireguard | User gid: 1000
wireguard | -------------------------------------
wireguard |
wireguard | [cont-init.d] 10-adduser: exited 0.
wireguard | [cont-init.d] 30-config: executing...
wireguard | Uname info: Linux 1a0939e45fdb 5.10.52-v8+ #1440 SMP PREEMPT Tue Jul 27 09:56:40 BST 2021 aarch64 aarch64 aarch64 GNU/Linux
wireguard | **** It seems the wireguard module is already active. Skipping kernel header install and module compilation. ****
wireguard | **** Server mode is selected ****
wireguard | **** External server address is set tomydomain-vpn.ddns.net ****
wireguard | **** External server port is set to 51820. Make sure that port is properly forwarded to port 51820 inside this container ****
wireguard | **** Internal subnet is set to 10.13.13.0 ****
wireguard | **** AllowedIPs for peers 0.0.0.0/0 ****
wireguard | **** PEERDNS var is either not set or is set to "auto", setting peer DNS to 10.13.13.1 to use wireguard docker host's DNS. ****
wireguard | **** Server mode is selected ****
wireguard | **** No changes to parameters. Existing configs are used. ****
wireguard | [cont-init.d] 30-config: exited 0.
wireguard | [cont-init.d] 90-custom-folders: executing...
wireguard | [cont-init.d] 90-custom-folders: exited 0.
wireguard | [cont-init.d] 99-custom-scripts: executing...
wireguard | [custom-init] no custom files found exiting...
wireguard | [cont-init.d] 99-custom-scripts: exited 0.
wireguard | [cont-init.d] done.
wireguard | [services.d] starting services
wireguard | [services.d] done.
wireguard | [#] ip link add wg0 type wireguard
wireguard | [#] wg setconf wg0 /dev/fd/63
wireguard | [#] ip -4 address add 10.13.13.1 dev wg0
wireguard | .:53
wireguard | CoreDNS-1.8.4
wireguard | linux/arm64, go1.16.4, 053c4d5
wireguard | [#] ip link set mtu 1420 up dev wg0
wireguard | [#] ip -4 route add 10.13.13.4/32 dev wg0
wireguard | [#] ip -4 route add 10.13.13.3/32 dev wg0
wireguard | [#] ip -4 route add 10.13.13.2/32 dev wg0
wireguard | [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
wg0.conf:
[Interface]
Address = 10.13.13.1
ListenPort = 51820
PrivateKey = MYPRIVATEKEYbccTOPlw8NGeUHLrlKOWyd2dMYPRIVATEKEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# peer1
PublicKey = MYPUBLICKEYSiwUXGNN0RofGRzp9Hs0MYPUBLICKEY
AllowedIPs = 10.13.13.2/32
[Peer]
# peer2
PublicKey = MYPUBLICKEYzQZqA/w6FcekMHOmH7KVYMYPUBLICKEY
AllowedIPs = 10.13.13.3/32
[Peer]
# peer3
PublicKey = MYPUBLICKEYG4Zne+jVVJE9PcNIvr49Df+cK6MYPUBLICKEY
AllowedIPs = 10.13.13.4/32
peer1.conf:
[Interface]
Address = 10.13.13.2
PrivateKey = MYPRIVATEKEYyty0eLOxpdVE2k8yACbjOugDUzbMcdMYPRIVATEKEY
ListenPort = 51820
DNS = 10.13.13.1
[Peer]
PublicKey = MYPUBLICKEY2o/SZsWzW8GKedKwtpDti3fiMvfrRMYPUBLICKEY
Endpoint = mydomain-vpn.ddns.net:51820
AllowedIPs = 0.0.0.0/0
Und wenn ich nun die peer1.conf nehme und auf meinem Windows 10 PC (wo schon wireguard client mit der conf eingerichtet ist erhalte ich folgenden Wireguard status:
Schnittstelle wg:
- Status: aktiv
- Öffentlicher Schlüssel (der aus der config)
- Eingangsport: 51820
- Adressen: 10.13.13.2./32
- DNS Server: 10.13.13.1
Teilnehmer:
- Öffentlicher Schlüssel (der aus der config)
- Erlaubte IPs: 0.0.0.0/0
- Endpunkt: 192.39.2xx.xx;51820
- Übertragen: 0B empfangen, 5,95KiN gesendet
Ipconfig zeigt den neuen adapter an:
Unbekannter Adapter wg:
Verbindungsspezifisches DNS-Suffix:
IPv4-Adresse . . . . . . . . . . : 10.13.13.2
Subnetzmaske . . . . . . . . . . : 255.255.255.255
Standardgateway . . . . . . . . . : 0.0.0.0
Eine Internetverbindung ist leider nicht möglich.
Im Wireguard Protokoll steht folgendes:
2021-08-03 12:18:17.793: [TUN] [wg] peer(00xJ…bUXs) - Sending handshake initiation
2021-08-03 12:18:43.465: [TUN] [wg] peer(00xJ…bUXs) - Handshake did not complete after 5 seconds, retrying (try 2)
Im Router habe ich den Port 51820 freigegeben (siehe screenshot).
Kann mir einer evtl helfen?
Danke im voraus!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1118187888
Url: https://administrator.de/contentid/1118187888
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
14 Kommentare
Neuester Kommentar
Es ist völlig unsinnig im eigenen Netzwerk NAT (Adress Translation) auf dem Tunnel Interface zu machen. In sofern sind die postroute Kommandos mit NAT völlig überflüssig und kontraproduktiv, denn sie führen zu einer routingtechnischen Einbahnstrasse (NAT Firewall).
Siehe dazu das hiesige WG Tutorial:
Merkzettel: VPN Installation mit Wireguard
Siehe dazu das hiesige WG Tutorial:
Merkzettel: VPN Installation mit Wireguard
wg0.conf:
> [Interface]
> Address = 10.13.13.1
> ListenPort = 51820
> PrivateKey = MYPRIVATEKEYbccTOPlw8NGeUHLrlKOWyd2dMYPRIVATEKEY
> PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
>
> [Peer]
> # peer1
> PublicKey = MYPUBLICKEYSiwUXGNN0RofGRzp9Hs0MYPUBLICKEY
> AllowedIPs = 10.13.13.2/32
>
> [Peer]
> # peer2
> PublicKey = MYPUBLICKEYzQZqA/w6FcekMHOmH7KVYMYPUBLICKEY
> AllowedIPs = 10.13.13.3/32
>
> [Peer]
> # peer3
> PublicKey = MYPUBLICKEYG4Zne+jVVJE9PcNIvr49Df+cK6MYPUBLICKEY
> AllowedIPs = 10.13.13.4/32
>
Hi,
bei PostUp wird ein NAT auf das Interface eth0 erstellt (iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE)
und bei PostDown wieder gelöscht ( iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE )
Das heisst das das NAT im eigenen Netzwerk, wie bereits mehrfach gesagt, durch das im WG integrierte Cryptokey_Routing überflüssiger Unsinn ist und du die beiden „Post...“ Kommandos dringenst entfernen solltest aus der Konfig. Siehe o.g. Wireguard „Merkzettel“.
Das ist korrekt !
Masquerading hat auf den Tunnel Interfaces nichts zu suchen. Siehe dazu auch das Wireguard_Tutorial wie die Konfig Files genau auszusehen haben.
Masquerading hat auf den Tunnel Interfaces nichts zu suchen. Siehe dazu auch das Wireguard_Tutorial wie die Konfig Files genau auszusehen haben.