WireGuard VPN werkt niet

Na een paar dagen experimenteren en herschikken, dacht ik dat ik hier zou posten om input te krijgen.

Momenteel heb ik PiHole draaien, wat naar verwachting werkt. Ik heb besloten om WireGuard in te stellen zodat ik PiHole op mijn mobiele apparaat kan gebruiken wanneer ik niet thuis ben.

Mijn Pi is geconfigureerd als mijn DHCP-server. Ik gebruik Quad9 (niet-geverifieerd, geen DNSSEC) als mijn upstream DNS.

Mijn eerste poging was om te installeren met PiVPN, daar meerdere keren doorheen gegaan zonder succes. Vandaag heb ik besloten de handmatige methode te gebruiken die in de PiHole documentatie staat

Ik ben elke stap doorgegaan en kan nog steeds geen verbinding maken.

wg0.conf bestand

[Interface]
Address = 10.100.0.1/24, fd08:4711::1/64
ListenPort = 47111
PrivateKey = verwijderd
[Peer]
PublicKey = verwijderd
PresharedKey = verwijderd
AllowedIPs = 10.100.0.2/32, fd08:4711::2/128

Client.conf bestand

[Interface]
Address = 10.100.0.2/32, fd08:4711::2/128
DNS = 192.168.1.180
PrivateKey = verwijderd

[Peer]
AllowedIPs = 10.100.0.1/32, fd08:4711::1/128
Endpoint = soundagent.ddns.net:47111
PersistentKeepalive = 25
PublicKey = verwijderd
PresharedKey = verwijderd

Ik heb een Dynamic DNS endpoint ingesteld voor mijn publieke IP-resolutie, wat je kunt zien in het Client.conf bestand. Ik heb bevestigd dat mijn Pi dit correct resolveert

root@raspberrypi:/etc/wireguard# ping soundagent.ddns.net
PING soundagent.ddns.net (72.111.34.20) 56(84) bytes of data.
64 bytes van 20.sub-72-111-34.myvzw.com (72.111.34.20): icmp_seq=1 ttl=64 time=1.67 ms
64 bytes van 20.sub-72-111-34.myvzw.com (72.111.34.20): icmp_seq=2 ttl=64 time=4.58 ms
64 bytes van 20.sub-72-111-34.myvzw.com (72.111.34.20): icmp_seq=3 ttl=64 time=1.67 ms
64 bytes van 20.sub-72-111-34.myvzw.com (72.111.34.20): icmp_seq=4 ttl=64 time=4.80 ms

Ifconfig toont wg als een interface en draait, maar uiteraard geen pakketten die binnenkomen

wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1420
inet 10.100.0.1 netmask 255.255.255.0 bestemming 10.100.0.1
inet6 fd08:4711::1 prefixlengte 64 scopeid 0x0
unspc 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (ONBEPERKT)
RX pakketten 0 bytes 0 (0.0 B)
RX fouten 0 dropped 0 overruns 0 frame 0
TX pakketten 0 bytes 0 (0.0 B)
TX fouten 0 dropped 0 overruns 0 carrier 0 collisions 0

Port forwarding is ook ingesteld op mijn modem/router voor poort 47111 naar het adres van mijn Pi-server waarop PiHole en WireGuard draaien.


Ik heb ook de opstartvertraging toegevoegd aan mijn FTL config bestand.

Een beetje verward over de Broken DNS Resolution sectie in de Troubleshooting gids, maar mijn server draait resolvconf, dus ik denk dat ik op dat vlak ok ben.

Wat WireGuard betreft, zegt het dat het opstart en verbinding maakt, maar in de logs staat een “handshake did not complete” foutmelding

2022-10-06 14:34:18.795965: [NET] peer(9Ikc…XSk8) - Handshake did not complete after 5 seconds, retrying (try 13)
2022-10-06 14:34:18.796305: [NET] peer(9Ikc…XSk8) - Sending handshake initiation
2022-10-06 14:34:23.875709: [NET] peer(9Ikc…XSk8) - Handshake did not complete after 5 seconds, retrying (try 14)
2022-10-06 14:34:23.876037: [NET] peer(9Ikc…XSk8) - Sending handshake initiation
2022-10-06 14:34:28.988277: [NET] peer(9Ikc…XSk8) - Handshake did not complete after 5 seconds, retrying (try 15)
2022-10-06 14:34:28.988640: [NET] peer(9Ikc…XSk8) - Sending handshake initiation

Hier zijn de instellingen in WireGuard. Ik geloof dat alles correct is ingesteld.


Weet niet of ik een debug log moet genereren, aangezien PiHole naar verwachting werkt… alleen kan WireGuard geen verbinding maken. Toen ik pivpn gebruikte, heb ik de debug gedaan en die was ook schoon.

Ik heb op het subreddit gezocht en heb geen antwoord kunnen vinden op mijn probleem.

Laat me weten of er nog andere info nodig is van mijn kant. Bedankt.

Geen van die wireguard configuraties lijkt me correct. Als ik op een laptop ben, zal ik posten omdat ik geen zin heb om met de Reddit-opmaak op mobiel te dealen.

wg0.conf zou er ongeveer zo uit moeten zien:

[Interface]
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 53052
PrivateKey = xxx

Client

[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128

Client

[Interface]
PrivateKey = xxx
Address = 10.66.66.2/32, fd42:42:42::2/128
DNS = 10.66.66.101, 10.66.66.102
[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 0.0.0.0/0
Endpoint = xxx:53052

Het lijkt op die van jou, ik had het verkeerd, het ziet er gewoon vreemd uit.

Wat DNS betreft, zet het eerst op 1.1.1.1 voor testen, op de manier waarop je het nu hebt, kun je de 192.168.1.x DNS-server niet bereiken vanwege je AllowedIPs. Je zou eindigen met het IP van de Pi voor DNS, of je moet je allowed IPs aanpassen.

Ten tweede. Zet je AllowedIPs op 0.0.0.0/0 voor testen.

Vanaf daar zou het moeten werken, zo niet, post dan terug.