Säkert VPN mot ditt hemmanät? OpenVPN via PiVPN!

Nu när pandemin inte längre skall räknas som en samhällsfarlig sjukdom så är det dags att kanske ta sig ut och resa lite igen? Även med allt det hemska som händer i vår omvärld, och då tänker jag på Rysslands angrepp och krig i Ukraina … Helt galet och jag är väldigt arg på det ryska folket!!! Men nu var det inte det som denna artikel skulle handla om …

När man skall ut och resa så kan det finnas tillfällen då man skulle behöva komma åt sitt hemmanät, kanske för att kunna komma åt sina servrar och andra system man har där hemma? Eller om man får problem med banken, Paypal eller liknande där utländska IP-adresser kan innebära total blockering av banktjänsterna och … ja, det innebär problem.

Då behöver du ett VPN, Virtuellt Privat Nätverk (Virtual Private Network), för att med din datot, platta eller telefon komma åt dina enheter där hemma precis som om du satt i ditt hus, ansluten till ditt WiFi eller ditt trådade nätverk.

Det finns självklart utrustningar att köpa, ibland kan du använda din hemmarouter eller så finns det andra lösningar, och det är en annan lösning detta skall handla om.

Börja med en liten enkortsdator, en Raspberry Pi 4 med 4-8 GB minne, ett micro-SD på 32-64 GByte, ett kylande skal och en USB-laddare som kan ge minst 3A. Det är vad du behöver och trots att dessa små datorer är svåra att komma över just nu så går det, antingen genom att ge ett par hundralappar över nypriset på t.ex. Blocket eller genom att vänta på sin tur i de långa kölistorna handlarna har. Med allt, räkna ca 1500-1700:- för en komplett uppsättning med oöppnade grejor.Vad gäller skal rekommenderar jag ett skal från Corsair, helt otroligt vad den går svalt i detta jämfört med andra lösningar.

När man har all hårdvara, installera Raspberry Pi Imager på din dator, ladda ner en 64-bitars version av Raspberry Pi OS och välj Lite-versionen, du behöver inget grafiskt gtänssnitt och dessutom tror jag OpenVPN vägrar installera sig på ett OS med just ett grafiskt fränssnitt … 😉

Starta upp maskinen, logga in i den och sätt en fast IP-adress, din nätmask och dina DHCP-inställningar. Det viktiga här är den fasta IP-adressen …

Installera sedan OpenVPN.

curl -L https://install.pivpn.io | bash

När installationen är klar, passa på att kolla så att allt är uppdaterat.

sudo apt-get update

sudo apt-get upgrade

sudo pivpn update

… och sedan till sist …

sudo reboot

Det enda som egentligen sedan behövs, utom att lägga upp användare är att begränsa paketstorleken och jag rekommenderar något mindre paket än 1380 Byte, har provat från 1000 Byte till 1380 Byte och inte kunnat mäta någon större prestandaskillnad. Har därför valt 1300 Byte för min uppsättning.

Man gör detta i både server- och klient-konfig.

I /etc/openvpn/server.conf lägger man till raden

mssfix 1300

Samma gör man i klient-konfig.

I server-konfig kan man också välja om man vill ha en så kallad ”split tunnel” där endast den trafik man vill ha över tunneln går där medan all annan trafik går ut via den lokala anslutningen mot Internet eller om man vill ha att all(!) trafik skall hanteras över VPN-tunneln.

Endast lokala nätet över förbindelsen?

push ”route 192.168.0.0/24”

Ersätt IP-nätet med det som gäller för dig.

All trafik?

push ”redirect-gateway def1 bypass-dhcp bypass-dns”

Välj en(!) av dessa, båda ger inte mycket 😉

Spara filen när du är klar, du kan sedan börja lägga upp användare, förslagsvis en konfiguration per uppkopplad enhet, till exempel ”anders-ipad” och liknande, en per enhet alltså.

pivpn add

Ange sedan namn, lösen med mera. När du är klar får du en färdig konfigurationsfil som du kan importera i en OpenVPN-klient som du väljer. Fungerar KANON!! Men addera

mssfix 1300

till denna fil också innan du importerar den i din OpenVPN-klient.

Prestanda då? Jag kör med att skicka all trafik via VPN:et när jag är uppkopplad, får oftast mellan 60-100 Mbps om den lokala Internetanslutningen tillåter det, annars blir det så mycket som Internetanslutningen medger,