ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

Wireguard und Android Client: Keine Verbindung

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

BadBunny

Anmeldungsdatum:
27. Januar 2012

Beiträge: 57

Hi, vielleicht hat hier schon jemand ein ähnliches Problem und eine Lösung gefunden. Habe ein wireguardserver unter Ubuntu 20.04 laufen. 2 Clients verbinden auch ohne Probleme. Aber ein Android (Galaxy S10 Plus, Android 10) will einfach nicht. Teste mit der offiziellen wireguard-app aus den Playstore sowie aus F-Droid.

Teste ich dieselbe Config auf einem Laptop funktioniert die Verbindung ebenfalls problemlos. Was mir dabei auch auffällt; starte ich den Tunnel ist das Interface auf dem Phone zwar up, ich kann die eigene IP (10.2.1.100) auf wg0 pingen, aber die IP des Servers (10.2.1.1) nicht. Beim starten des Tunnel und bei dem Versuch den Server zu pingen sehe ich auch keine Pakete auf UDP 51820 beim Server ankommen. Egal ob WLAN aktiv oder über Mobilfunk.

Anbei auch die Configs die ich soweit verwende.

### Server wg0.conf ###
[Interface]
Address = 10.2.1.1/24
Address = fd00:cafe:1337::1/64
SaveConfig = false
ListenPort = 51820
PrivateKey = APCGxxxxxxxxxxxxxxxxxxxxxxxxx
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE; ip6tables -D FORWARD -i %i -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens18 -j MASQUERADE

### Client1 ###
[Peer]
PublicKey = s+kAxxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = EK6+xxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.2/32, fd00:cafe:1337::2/128, 10.1.1.0/24
PersistentKeepalive = 30

### Client2 ###
[Peer]
PublicKey = T09nxxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = VjFoxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.100/32, fd00:cafe:1337::100/128

### Client3 ###
[Peer]
PublicKey = QxNsxxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = bgezxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.101/32, fd00:cafe:1337::101/128

### Client4 ###
[Peer]
PublicKey = vGN6xxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = Oogcxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.200/32, fd00:cafe:1337::200/128
PersistentKeepalive = 25
### Client1 wg0.conf ###
[Interface]
Address = 10.2.1.2/32
Address = fd00:cafe:1337::2/128
PrivateKey = 2Kraxxxxxxxxxxxxxxxxxxxxxxxxx

[Peer]
PublicKey = /CA0xxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = EK6+xxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.1/32, fd00:cafe:1337::1/128, 192.168.17.0/24
Endpoint = wg.example.com:51820
PersistentKeepalive = 25
[Interface]
Address = 10.2.1.100/32
Address = fd00:cafe:1337::100/128
PrivateKey = GPuaxxxxxxxxxxxxxxxxxxxxxxxxx

[Peer]
PublicKey = /CA0xxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = VjFoxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.1/32, fd00:cafe:1337::1/128
Endpoint = wg.example.com:51280
### Client3 ###
[Interface]
Address = 10.2.1.101/32, fd00:cafe:1337::101/128
PrivateKey = UI25xxxxxxxxxxxxxxxxxxxxxxxxx

[Peer]
PublicKey = /CA0xxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = bgezxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.1/32, fd00:cafe:1337::1/128, 192.168.17.0/24
Endpoint = wg.example.com:51820
[Interface]
Address = 10.2.1.200/32
PrivateKey = mHHlxxxxxxxxxxxxxxxxxxxxxxxxx

[Peer]
PublicKey = /CA0xxxxxxxxxxxxxxxxxxxxxxxxx
PreSharedKey = Oogcxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.2.1.1/32
Endpoint = wg.example.com:51820

DNS Records sind A und AAAA, Server auch via v4 und v6 extern erreichbar.

Ausgabe von wg show

interface: wg0
  public key: /CA0xxxxxxxxxxxxxxxxxxxxxxxxx
  private key: (hidden)
  listening port: 51820

peer: vGN6xxxxxxxxxxxxxxxxxxxxxxxxx
  preshared key: (hidden)
  endpoint: [2a02:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:b0ba]:54238
  allowed ips: 10.2.1.200/32, fd00:cafe:1337::200/128
  latest handshake: 54 seconds ago
  transfer: 3.44 KiB received, 2.36 KiB sent
  persistent keepalive: every 25 seconds

peer: s+kAxxxxxxxxxxxxxxxxxxxxxxxxx
  preshared key: (hidden)
  endpoint: [2a02:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:449]:43571
  allowed ips: 10.2.1.2/32, fd00:cafe:1337::2/128, 10.1.1.0/24
  latest handshake: 1 minute, 37 seconds ago
  transfer: 1.13 MiB received, 1.82 MiB sent
  persistent keepalive: every 30 seconds

peer: T09nxxxxxxxxxxxxxxxxxxxxxxxxx
  preshared key: (hidden)
  allowed ips: 10.2.1.100/32, fd00:cafe:1337::100/128

peer: QxNsxxxxxxxxxxxxxxxxxxxxxxxxx
  preshared key: (hidden)
  allowed ips: 10.2.1.101/32, fd00:cafe:1337::101/128

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

BadBunny schrieb:

Beim starten des Tunnel und bei dem Versuch den Server zu pingen sehe ich auch keine Pakete auf UDP 51820 beim Server ankommen. Egal ob WLAN aktiv oder über Mobilfunk.

Hast Du auf deinem Phone ein tool (z. B. nping oder nc oder gleichwertig), mit dem Du UDP-Datenpakete an den UDP-Port 51820 deines Servers senden kannst?

BadBunny

(Themenstarter)

Anmeldungsdatum:
27. Januar 2012

Beiträge: 57

lubux schrieb:

Hast Du auf deinem Phone ein tool (z. B. nping oder nc oder gleichwertig), mit dem Du UDP-Datenpakete an den UDP-Port 51820 deines Servers senden kannst?

Leider nicht. Finde auch keine App mit der sich das testen lassen würde.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

BadBunny schrieb:

Leider nicht. Finde auch keine App mit der sich das testen lassen würde.

Dann teste mal auf deinem Server, mit:

sudo tcpdump -vvveni <Interface> 'udp[8:4] >= 0x1000000 and udp[8:4] <= 0x4000000' 

(Interface für W/LAN anpassen und ohne spitze Klammern), wenn _nur das Phone_ eine UDP-Verbindung zum Server herstellen will/soll.

BadBunny

(Themenstarter)

Anmeldungsdatum:
27. Januar 2012

Beiträge: 57

Nach ein wenig Recherche und testen hab ich den Fehler nun gefunden. Phone hat zwar definitv eine IPv6 Adresse, versucht aber nur die v4 Adresse zu verwenden (welche auf der entprechenden Firewall noch keine Freigabe für Wireguard auf v4 hatte) Darum haben die anderen Clients über v6 auch funktioniert.

Ich frage mich jetzt nur noch, warum das Phone nur den A Record connected aber nicht AAAA.

Antworten |