Resolution:

Manuell inställning av VPN för Linux eller UNIX

Det finns många fördelar med att ha ett enkelt script för att ansluta via VPN-tunnel från din Linux eller UNIX-dator (både klient och för att sammankoppla server med andra nätverk via VPN)

Börja med att ta fram dokumentationen för din Nidavellir Brandvägg.

I denna guide förutsätter vi att du valt att ställa in OpenVPN som är en enkel, robust, säkert och lätthanterad VPN-tjänst. Du behöver inte lösa några licenser.

Funktionerna finns även förberedda i din Nidavellir Brandvägg.

Du kan även beställa vår fristående VPN-tjänst här.

 

Vi förutsätter även att du installerat (apt-get tex) openvpn-klienten i din dator som nu ska konfigureras för att kunna ansluta till din VPN-brandvägg (/VPN-tjänst).

 

OpenVPN-klienten finns för ett mycket stort antal operativsystem och skulle du råka använda ett system där stöd saknas bör du kunna kompliera från källkod om du skulle vilja. För Mac och Windows, Android och iOS rekommenderar vi dock de klienter och de manualer för konfiguration som redan finns för dessa. Nedan utgår vi från att du gör inställningarna manuellt, själv.

 

 

 

I exemplet nedan heter vår VPN-användare Steve. Ändra det som behövs för att passa din lokala miljö.

 

Det finns en särskild guide för VPN i din dokumentation för brandväggen. Följ den instruktionen först för hur du ställer in VPN-servern, skapar alla certifikat mm. När du följt instruktionerna och har en användare konfigurerarad på VPN-servern (brandväggen) så är sista steget att du ska ladda hem din färdiga konfiguration alternativt ett installationsprogram för MAC, Windows osv osv.

Se även punkt 5.3 i manualen för VPN-serverkonfiguration i Nidavellir-dokumentationen.

 

Tänk på:

  • Logga in i brandväggen från den dator som ska konfigureras eller använd en molnlagringstjänst med synkronisering för att enkelt flytta konfigurationsfilerna till din klient som ska konfigureras för att använda VPN.
  • ALLA filer, lösenord, nycklar mm för VPN-accesserna måste skyddas. Det är livsviktigt att obehöriga aldrig kan få tillgång till dessa.
  • Din Linuxklient behöver en förbindelse till Internet men inte nödvändigtvis med grafiska gränssnitt.
  • Stark kryptering ställer lite högre krav på processorn. Använd gärna 4096 bitar men tänk på att det kan ta några sekunder extra för exempelvis en klen netbook med Atom-CPU att verifiera certifikat osv. Det är värt det men förvänta dig inte att det går lika snabbt som på din stationära dator.

 

 

1. Skapa katalog för VPN-filer

Första steget är nu att du på klienten skapar en mapp, tex vpn och placerar den i användarens hemkatalog. Skydda katalogen så att obehöriga ej kan läsa eller skriva till den eller dess innehåll.

 

Hämta / flytta nu ditt färdiga paket med konfigurationsfiler från din Nidavellir brandvägg. Tänk på att om du har flera olika VPN-användare så måste du hämta bara det "kit" för den aktuella användaren.

 

Placera / packa upp filerna till VPN-katalogen du skapade tidigare (tex (/home/steve/.vpnfiles/)

 

Tips: Använde du molnlagringstjänsten för att flytta filerna kan du nu radera dem därifrån. Dessa filer är känsliga och ska inte finnas någon annanstans än där de behövs för att användas.

 

Hittar du inte filerna du laddat ned?

Om du använde Common Name (CN) vpn.dittföretagsnamn.se och om du valde TCP och om du valde port 1234 för inkommande VPN-trafik på din brandvägg och om VPN-användaren hetter SteveLarsson123 så bör paketet med konfigurationsfiler heta någonting i stil med: vpn.dittföretagsnamn-tcp-1234-stevelarsson123.zip. Använd locate (glöm ej att uppdatera locate-databasen först), ls eller find för att hitta filen.

 

 

2. Skapa ditt program för att ansluta till VPN-tunneln

Tänk på säkerheten nu. För att kunna ansluta till en tunnel behöver scriptet vid något tillfälle högre behörighet än ditt vanliga användarkonto. Ett tips här är att bara ansluta manuellt, använda sudo och att skydda alla kataloger och filer så att enbart just den aktuella (lokala) användaren kan få tillgång till filerna (och root såklart).

Nu blir det ännu viktigare att skydda denna enhet så att obehöriga ej kan komma åt systemet eller lösenord. Använd Antivirus, kontrollera regelbundet efter rootkit, tänk på hur brandväggar och liknande är inställda.

 

I detta exempel använder vi en personlig ~/bin -katalog för program tillhörande den egna användaren. Du kan såklart placera program där det passar dig bäst.

Använd din egen behörighet (den som ska logga in, dvs ej root eller liknande) och skapa en katalog som heter bin som en undermapp i din hemkatalog.

skapa ett script i den nya katalogen som heter tex vpn.dittföretag.steve.sh eller liknande. Gör filen exekverbar.

 

 

Nu ska vi i scriptet lägga in följande, använd din favorit texteditor;

 

#!/bin/sh

cd /home/steve/.vpnfiles

cd vpn.dittföretagsnamn-tcp-1234-stevelarsson123/

sudo openvpn --client --config /home/steve/.vpnfiles/vpn.dittföretagsnamn-tcp-1234-stevelarsson123.ovpn --pkcs12 /home/steve/.vpnfiles/vpn.dittföretagsnamn-tcp-1234-stevelarsson123.p12 --tls-auth /home/steve/.vpnfiles/vpn.dittföretagsnamn-tcp-1234-stevelarsson-tls.key

 

 

 

..som du kanske listat ut kan du nu köra detta schellscript manuellt, ge ditt sudo-lösenord, starta tunneln var du än är och få tillgång till ditt VPN-nätverk. Tack vare att vi separerar filerna och så tydligt visar vilka filer som hör till vilken tunnel är det nu enkelt att lägga till fler tunnlar på samma sätt, skydda en och samma katalog lokalt i din dator och ha flera olika lösenordsskyddade script för olika tunnlar.

 

Spara filen med ett unikt namn, tex /home/steve/bin/tunnel1.sh

 

3. Starta tunneln

Antingen gör du scriptet körbart eller så startar du (Steve) sitt program: bash bin/tunnel1.sh.

Ange lösenord. Vänta en liten stund medan tunneln kopplar upp, handskakar och verifierar alla certifikat.

Med ifconfig ser du nu att du fått ett nytt tunnelnätverk tillgängligt i datorn.

Nu kan du börja använda tunneln. Verifiera att din trafik kommer ut på nätet på rätt ställe: kontrollera din externa IP-adress "whoami" här.

 

 

 

Summering

Har du nu först följt guiden för hur du konfigurerar din Nidavellir-brandvägg för VPN-server-funktionaliteten och kopplat upp din bärbara linuxklient (eller vad det nu är för utrustning du anslutit) så har du flera fördelar, utöver att anslutningen kan kopplas upp och ger dig direktacess på ett säkert sätt till dina andra nätverk utan du har även en väldigt flexibel lösning.

Tack vare att OpenVPN försöker "reparera" anslutningen om VPN-tunneln skulle gå ned så kan du tex flytta din bärbara klient mellan olika nätverk och behålla uppkopplingar genom din VPN-tunnel så länge varken klient eller server på respektive sida om VPN-tunneln stängt anslutningen.

Exempelvis, du går från ett trådlöst nätverk på jobbet till en mobildata-access: din VPN-tunnel hänger med och trots att du befinner dig på en totalt annan plats på Internet så har du faktiskt riktigt goda förutsättningar att VPN-tunneln fortfarande hållit förbindelser i liv så en inloggning i en lagringsserver exempelvis kan fortfarande vara aktiv. Detta tack vare att er Nidavellir VPN-brandvägg på sin sida håller kontakt med lagringstjänsten exvis. Samtidigt sitter ditt lagringsprogram och "ser" bara vpn-tunneln, så länge den inte tycker att det är för många och för långa time out:er så kommer den inte förstå att saker och ting utanför VPN-tunneln förändrats utan så snart det går att skicka trafik genom den igen (när brandvägg och klient handskakat och åter fått upp VPN-tunneln) så fungerar allt som om inget hänt på serversidan och på klientsidan.

Detta gör att du som jobbar med VPN-anslutningar för olika typer av servertjänster, remote arbetsplatser, stora arbetsplatsnätverk utspridda över olika fysiska platser och med delade resurser med fördel kan använda denna guide och OpenVPN-tekniken. Ni kan ha olika typer av fail over exempelvis.

Tack vare att själva tunneln initieras av ett shellscript så är det också enkelt att övervaka detta, starta om vid behov osv. Endast fantasin sätter begränsingarna. Se till att få tekniken att göra det som ni vill och som underlättar för er. Nidavellir och OpenVPN är ett mycket kraftfullt redskap för just detta. I och med att OpenVPN dessutom går att köra på i princip varenda plattform som finns och som synes ovan även helt textbaserat i alla Linux och UNIX-plattformar så innebär det att ni här har en bra, skalbar och flexibel helhetslösning som passar allt och alla i hela er organisation. Dessutom helt och hållet licensfri!

 

Läs mer om VPN-tjänster

 

VPN-Server är en av många SaaS-tjänster vi erbjuder

 

Sätt upp en egen VPN-server på er VPS

Till sidans topp