Guide: Wireguard VPN-klient på en OpenWRT-router (ex Bahnhof Integrity)

Permalänk
Medlem

Guide: Wireguard VPN-klient på en OpenWRT-router (ex Bahnhof Integrity)

Hej!

Jag hade själv lite strul med detta innan jag fick bitarna på plats, tänkte därför skriva en liten guide hur jag gjorde. Det finns säkert bättre sätt att göra detta på så har du förslag på förbättringar eller ser rena fel så kommentera gärna i tråden. Vet du ex vad som behövs för att få till IPv6 så droppa en kommentar.

Basics

  • Vad är Wireguard? Läs https://en.wikipedia.org/wiki/WireGuard

  • Vad är OpenWRT? Läs https://openwrt.org/

  • Varför Wireguard + OpenWRT? - För att Wireguard ger generellt mycket högre hastigheter än ex OpenVPN med samma hårvara, i dagsläget är OpenWRT firmware en av få som supportar Wireguard på ett hyfsat enkelt sätt (via LuCI).

Varför?
Att konfigurera din router att agera VPN-klient är ett smidigt sätt att ge alla enheter i ditt nätverk samma skydd utan att behöva konfigurera alla enheter enskilt.

Förutsättningar

  • Du har en router med OpenWRT(inkl LuCI) installerat (jag kör v19.07)

  • Du har ett ett konto hos ex Bahnhof Integrity (40 kr/mån & 10 enheter)

Kommentar
Hittills har alla tjänster funkat perfekt bakom Integrity-VPN, Netflix mm rullar på som tidigare.
Jag spelar med samma ping som tidigare (10-25ms).
Man kan med fördel även inkludera sin PiHole-AdBlock genom att istället för sin tilldelade VPN DNS ex '98.128.186.86' ange lokal PiHole-IP ex 192.168.1.99, och sedan i PiHole-konfigen ange VPN DNS '98.128.186.86'. Då får även alla enheter på nätverket effektiv AdBlock.

Börja med att ladda hem din Wireguard-conf fil - 'integrity_vpn.conf', öpnna den med ex Notepad, den bör se ut såhär:

[Interface] PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Address = 12.34.56.78/24,fdad:1337:1337:88::167/64 DNS = 25601:9c1:8826::53, 2801:9b0:8:2601::53, 98.128.186.86, 155.4.89.136 [Peer] PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Endpoint = wireguard.5july.net:48574 AllowedIPs = 0.0.0.0/0, ::/0

Installera WireGuard
Logga in på routerns webbgränssnitt. I huvudmenyn - Välj System => Software och sök samt installera paketet "luci-proto-wireguard".

Lägg till WireGuard interfacet

  • I huvudmenyn - Välj Network => Interfaces.

  • Klicka "Add new interface". Ange namnet "WGINTERFACE". Välj protokollet "WireGuard VPN". Create interface.

  • Valfritt steg: Ta bort "WAN6" interfacet => Delete

  • Save & Apply.

Konfigurera WireGuard interfacet

Välj "Edit" på WGINTERFACE, gör följande ändringar (under flikarna):

General settings

  • Private Key – Ange din nyckel från conf-filen

  • IP Addresses – Ange din tilldelade IPv4 adress från conf-filen, ex '12.34.56.78'

  • Listen Port - ex '48574' (kan ev lämna tom för random)

Advanced Settings

  • Force link - Kryssa i denna

Peers (lägg till en ny 'Add peer')

  • Public Key – Ange din nyckel från conf-filen

  • Allowed IPs - ändra till 0.0.0.0/0

  • Route Allowed IPs - Kryssa i denna

  • Endpoint Host – Ange serveradressen till din tilldelade VPN-server, i mitt fall var det 'wireguard.5july.net', detta fick dock aldrig att fungera så jag ändrade till '98.128.186.72' (DNS strul?).

  • Endpoint Port - Ange samma port som i conf-filen, ex '48574'

  • Persistent Keep Alive - 25

  • Save

  • Save & Apply

Lägg till ny Firewall zone

  • I huvudmenyn - Välj Network => Firewall. Skapa en ny zon "WGZONE" och konfigurera den som nedan.

  • Klicka på Edit lan-zonen och ange "Allow forward to destination zones" till WGZONE: WGINTERFACE "

DHCP och DNS

  • I fältet 'DNS forwardings' anget du minst en IP för DNS ur conf-filen ex '98.128.186.86'.

  • Save & Apply

I huvudmenyn - Välj Network => Interfaces

  • Välj 'Edit' på LAN-interfacet. Under fliken "DHCP Server => Advanced Settings"

  • I fältet för "DHCP-Options" ange '6,10.64.0.1'

  • Save

  • Välj 'Edit' på WAN-interfacet.

  • Under fliken "Advanced Settings" i fältet "Use custom DNS Servers" ange DNS ur conf-filen ex '98.128.186.86'.

  • Save

  • Save & Apply

I huvudmenyn - Välj System => Reboot

Efter det att routern har startat om så borde du se att trafik börjar rulla på WGINTERFACE

Du kan även surfa in på https://ipcheck.5july.net/ för att verifiera (om du har Integrity VPN)

Passa även på att göra en DNS-leak test https://www.dnsleaktest.com/

Visa signatur

System #1 - Intel 6700K@4.8GHz + Corsair H110i PnP ~ ASUS ROG MAXIMUS VIII RANGER ~ 32GB Corsair Vengeance LPX DDR4 2400MHz ~ 2x Gainward GeForce GTX 980 Ti 6GB 'GS' ~ 2x 512GB Samsung EVO 850 ~ Corsair RM1000W ~ Acer 27" Predator G-Sync XB271HU
System #2 - Intel 2500K@5.0GHz + Corsair H60+PnP ~ ASRock P67 Extreme4 ~ 16GB DDR3 ~ Gainward 980Ti 'GS' ~ BenQ 24" XL2430T ~ 2x512GB Samsung EVO 840 ~ 750W Corsair TX

Permalänk
Medlem

Bra skrivet!
Nu är klockan ca 02:15 och jag fick just igång WireGuard på OpenWRT 19.07.3 men det verkar som att du möjligen missade skriva ner steget där du kopplar ihop interface:t med firewall-zonen?
Möjligen är det inkluderat i: Skapa en ny zon "WGZONE" och konfigurera den som nedan.

Innan så körde jag Asus/Merlin och OpenVPN och där kunde man lätt köra enable/disable på VPN-servern (som körde mot Bahnhof Integrity).
WireGuard fungerar väl inte riktigt på samma sätt men det du gjorde blev en rätt permanent lösning dvs det går inte bara att enable/disable att köra WireGuard via Bahnhof Integrity.
Kanske går det att sätta upp det på ett sätt så att det går?
Jag tänker att man kanske skulle vilja ha möjligheten om något strular.

Permalänk
Medlem

Tack för en toppen guide!

dock =>
Konfigurera WireGuard interfacet

Firewall settings => create / assign firewall-zone = välj wgzone.

kan beror på min okunskap eller nyare openwrt firmware.

Edit: tycker denna borde få en sticky på sig.

edit
Permalänk

Instämmer, toppen guide! Tänkte bara fråga om du någonsin fick IPv6 att fungera?

Permalänk
Medlem

"DNS = 25601:9c1:8826::53, 2801:9b0:8:2601::53"

Vad är det för lustig IPv6-address?