Anslut till ditt hemnätverk var som helst med OpenVPN och Tomat
För några veckor sedan täckte vi installera Tomato, en öppen källkods-router, på din Linksys WRT54GL. Idag går vi över hur man installerar OpenVPN tillsammans med Tomat och ställer in det för att komma åt ditt hemnätverk var som helst i världen!
Vad är OpenVPN?
Ett virtuellt privat nätverk (VPN) är en pålitlig, säker anslutning mellan ett lokalt nätverk (LAN) och ett annat. Tänk på din router som mellanman mellan de nätverk som du ansluter till. Både din dator och OpenVPN-servern (din router i det här fallet) "skaka hand" med certifikat som validerar varandra. Vid valideringen överensstämmer både klienten och servern med att lita på varandra och klienten får då åtkomst på serverns nätverk.
Vanligtvis kostar VPN-programvara och maskinvara mycket pengar för att genomföra. Om du inte har gissat det redan, är OpenVPN en öppen källkod VPN-lösning som är (trumman roll) fri. Tomat tillsammans med OpenVPN är en perfekt lösning för dem som vill ha en säker anslutning mellan två nätverk utan att behöva öppna sin plånbok. Naturligtvis kommer OpenVPN inte att fungera direkt ur lådan. Det tar lite tweaking och konfigurering för att få det rätt. Men oroa dig inte; vi är här för att göra processen enklare för dig, så ta en varm kopp kaffe och ta oss igång.
För mer information om OpenVPN, besök den officiella What is OpenVPN? sida.
förutsättningar
Den här guiden förutsätter att du för närvarande kör Windows 7 på datorn och att du använder ett administrativt konto. Om du är en Mac eller Linux-användare, kommer den här guiden att ge dig en uppfattning om hur sakerna fungerar, men du kanske måste göra lite mer forskning på egen hand för att få saker perfekt. Vi kommer också att installera en speciell version av Tomat som heter TomatoUSB VPN på en Linksys WRT54GL version 1.1 router. För att ta reda på om din router är kompatibel med TomatoUSB, kolla in sidan Byggtyper.
I början av den här guiden förutsätts att du har antingen
- den ursprungliga Linksys-firmware installerad på din router eller
- Tomat-firmware som vi beskrivit i vår senaste artikel
Observera texten ovanför vissa steg som anger om det gäller Linkys firmware eller Tomat-firmware.
Installera TomatoUSB
I en tidigare artikel diskuterade vi hur man installerar den ursprungliga Tomato v1.28-firmware från PolarCluds hemsida. Tyvärr kom den versionen av Tomat inte med OpenVPN-stöd, så vi installerar en nyare version som heter TomatoUSB VPN.
Det första du vill göra är att gå över till TomatoUSB hemsida och klicka på Download Tomato USB-länken.
Ladda ner VPN under Kärnan 2,4 (stabil) sektion. Spara .rar-filen till din dator.
Du behöver ett program för att extrahera .rar-filen. Vi föreslår att du använder WinRAR eftersom det är gratis att försöka lätt att använda. Du kan ladda ner dig själv en kopia av den fria versionen på deras hemsida. Efter installationen av WinRAR högerklickar du på filen du hämtade och klickar på Extract Here. Då ska du se två filer som heter CHANGELOG och tomat-NDUSB-1.28.8754-vpn3.6.trx.
Om du kör Linksys firmware ...
Öppna din webbläsare och ange i din routerens IP-adress (standard är 192.168.1.1). Du blir uppmanad till ett användarnamn och lösenord. Standardvärdena för en Linksys WRT54GL är "admin" och "admin".
Klicka på fliken Administration längst upp. Klicka sedan på Firmware Upgrade enligt nedan.
Klicka på knappen Bläddra och navigera till de extraherade TomatoUSB VPN-filerna. Välj tomat-NDUSB-1.28.8754-vpn3.6.trx fil och klicka på Uppgradering-knappen i webbgränssnittet. Din router börjar installera TomatoUSB VPN, och bör ta mindre än en minut att slutföra. Efter ungefär en minut öppnar du en kommandotolk och skriver in ipconfig-release för att bestämma din routers nya IP-adress. Skriv sedan in ipconfig -renew. IP-adressen till höger om Default Gateway ... är din routerens IP-adress.
Notera: När du har installerat Tomat går du till Administration> Configuration och väljer "Erase all NVRAM ...".
Om du kör Tomats firmware ...
Öppna din webbläsare och ange i din routerens IP-adress. Vi antar att om du installerade Tomat, vet du din router IP-adress. Om du inte är säker, är det förmodligen inställt på standard 192.168.1.1. Efter, skriv in ditt användarnamn och lösenord.
Även om det inte krävs, kanske du vill säkerhetskopiera din nuvarande Tomatkonfiguration innan du uppgraderar till TomatoUSB VPN, just i fall. För att spara din konfiguration, gå till Administration> Konfiguration och klicka på Backup-knappen. Det här uppmanar dig att spara .cfg-filen till din dator.
Nu är det dags att uppgradera tomat till TomatoUSB VPN. Klicka på Uppgradering i den vänstra kolumnen och klicka på knappen Välj fil. Navigera till de filer vi extraherade tidigare och välj tomat-NDUSB-1.28.8754-vpn3.6.trx fil. Klicka sedan på uppgraderingsknappen.
Du kommer att bli ombedd att bekräfta uppgraderingen; klicka bara på OK.
Din router kommer att börja ladda upp den nya firmwareen och starta om om en minut.
Det kan ha samma eller en annan IP-adress när den startas om. I vårt fall var routerns konfiguration fortfarande densamma, därför var vår IP-adress fortfarande densamma. För att bestämma din routers nya IP-adress öppnar du en kommandotolk och skriver in ipconfig-release. Skriv sedan in ipconfig -renew. IP-adressen till höger om Default Gateway ... är din routeradress. Om din konfiguration är återställd till standardinställningarna, gå tillbaka till konfigurationssidan (Administration> Konfiguration) och klicka på knappen Välj fil under Återställ konfiguration. Bläddra efter den .cfg-fil du sparade på din dator tidigare och klicka på Återställ-knappen.
Konfigurera OpenVPN
Oavsett om du hade Linksys firmware eller TomTom-firmware installerat, borde du nu ha den nya TomatoUSB VPN installerad på din router. Du märker några nya menyer i den vänstra kolumnen, inklusive webbanvändning, USB och NAS och VPN Tunneling. För den här guiden är vi bara intresserade av VPN Tunneling-menyn så fortsätt och klicka på VPN Tunneling. Håll det här webbläsarfönstret öppet; Vi kommer snart tillbaka.
Låt oss nu gå över till OpenVPNs nedladdnings sida och ladda ner OpenVPN Windows Installer. I den här guiden använder vi den andra senaste versionen av OpenVPN som heter 2.1.4. Den senaste versionen (2.2.0) har ett fel i det som skulle göra denna process ännu mer komplicerad. Filen vi laddar ner installerar OpenVPN-programmet som låter dig ansluta till ditt VPN-nätverk, så var noga med att installera det här programmet på andra datorer som du vill fungera som klienter (eftersom vi kommer att se hur du gör det senare). Spara filen openvpn-2.1.4-installera .exe till din dator.
Navigera till OpenVPN-filen som vi just laddat ner och dubbelklicka på den. Detta kommer att börja installationen av OpenVPN på din dator. Kör igenom installationsprogrammet med alla standardinställningar som kontrolleras. Under installationen kommer en dialogruta att dyka upp och ber om att installera en ny virtuell nätverksadapter kallad TAP-Win32. Klicka på Installera-knappen.
Nu när du har OpenVPN installerad på din dator måste vi börja skapa certifikat och nycklar för att verifiera enheter.
Skapa certifikat och nycklar
Klicka på Windows Start-knappen och navigera under Tillbehör. Du får se kommandopromptprogrammet. Högerklicka på det och klicka på Kör som administratör.
Skriv in kommandotolken cd c: \ Program Files (x86) \ OpenVPN \ easy-rsa om du kör 64-bitars Windows 7 enligt nedan. Typ cd c: \ Program \ OpenVPN \ easy-rsa om du kör 32-bitars Windows 7. Tryck sedan på Enter.
Skriv nu init-config och tryck Enter för att kopiera två filer som heter vars.bat och openssl.cnf i easy-rsa-mappen. Håll din kommandoprompt upp så snart vi kommer tillbaka till det.
Navigera till C: \ Programfiler (x86) \ OpenVPN \ easy-rsa (eller C: \ Program \ OpenVPN \ easy-rsa på 32-bitars Windows 7) och högerklicka på filen som heter vars.bat. Klicka på Redigera för att öppna den i Anteckningar. Alternativt rekommenderar vi att du öppnar den här filen med Notepad ++ eftersom den formaterar texten i filen mycket bättre. Du kan ladda ner Notepad ++ från deras hemsida.
Den nedre delen av filen är vad vi är berörda med. Börja på rad 31, ändra KEY_COUNTRY värde, KEY_PROVINCE värde etc. till ditt land, provins etc. Till exempel bytte vi vår provins till "IL", stad till "Chicago", org till "HowToGeek", och maila till vår egen e-postadress. Om du kör 64 bitars Windows 7, ändrar du också HEM värde i rad 6 till % ProgramFiler (x86)% \ OpenVPN \ easy-rsa. Ändra inte detta värde om du kör 32-bitars Windows 7. Din fil ska se ut som vår nedan (med dina respektive värden, förstås). Spara filen genom att skriva över den när du är redo att redigera.
Gå tillbaka till kommandotolken och skriv Vars och tryck på Enter. Skriv sedan in städa allt och tryck på Enter. Slutligen, skriv bygga-ca och tryck på Enter.
Efter att ha kört bygga-ca kommando, kommer du att bli uppmanad att ange ditt lands namn, stat, ort etc. Eftersom vi redan har ställt in dessa parametrar i vår vars.bat fil kan vi hoppa över dessa alternativ genom att trycka på Enter, men! Innan du börjar smälla bort på Enter-tangenten, se upp för parametern Common Name. Du kan ange något i denna parameter (dvs ditt namn). Se bara till att du anger något. Detta kommando kommer att mata ut två filer (ett Root CA-certifikat och en Root CA-nyckel) i mappen easy-rsa / keys.
Nu ska vi bygga en nyckel för en klient. I samma kommandotolstyp bygga-nyckel KLIENT1. Du kan ändra "client1" till allt du vill (dvs Acer-Laptop). Var noga med att ange samma namn som det vanliga namnet när du blir ombedd. Till exempel när du kör kommandot nyckelfärdiga Acer-Laptop, Ditt vanliga namn ska vara "Acer-Laptop". Kör igenom alla standardinställningar som det sista steget vi gjorde (förutom Common Name, förstås). Men i slutet kommer du att bli ombedd att underteckna certifikatet och att begå. Skriv "y" för båda och klicka på Enter.
Oroa dig inte om du fick felmeddelandet "ofullständigt att skriva" slumpmässigt tillstånd ". Jag har märkt att dina certifikat fortfarande görs utan problem. Detta kommando kommer att mata ut två filer (ett Client1-tangent och ett Client1-certifikat) i mappen easy-rsa / keys. Om du vill skapa en ny nyckel för en annan klient, upprepa föregående steg, men var noga med att ändra det vanliga namnet.
Det sista certifikatet som vi genererar är serverns nyckel. Skriv i samma kommandotolja bygga-key-server server. Du kan ersätta "server" i slutet av kommandot med allt du vill (dvs HowToGeek-Server). Som alltid, var noga med att ange samma namn som det vanliga namnet när du blir ombedd. Till exempel när du kör kommandot build-key-server HowToGeek-Server, Ditt vanliga namn ska vara "HowToGeek-Server". Hit Enter och kör igenom alla standardvärden utom Vanligt namn. I slutet skriver du "y" för att underteckna certifikatet och begå. Detta kommando kommer att mata ut två filer (en servernyckel och ett servercertifikat) i mappen easy-rsa / keys.
Nu måste vi generera parametrarna för Diffie Hellman. Diffie Hellman-protokollet "tillåter två användare att utbyta en hemlig nyckel över ett osäkert medium utan några tidigare hemligheter". Du kan läsa mer om Diffie Hellman på RSAs hemsida.
I samma kommandotolstyp bygga-dh. Detta kommando kommer att mata ut en fil (dh1024.pem) i mappen easy-rsa / keys.
Skapa konfigurationsfiler för klienten
Innan vi redigerar några konfigurationsfiler bör vi skapa en dynamisk DNS-tjänst. Använd den här tjänsten om din ISP utfärdar en dynamisk extern IP-adress så ofta. Om du har en statisk extern IP-adress, hoppa över till nästa steg.
Vi föreslår att du använder DynDNS.com, en tjänst som låter dig ange ett värdnamn (dvs howtogeek.dyndns.org) till en dynamisk IP-adress. Det är viktigt för OpenVPN att alltid känna till ditt nätverks offentliga IP-adress, och med hjälp av DynDNS kommer OpenVPN alltid att veta hur du hittar ditt nätverk oavsett vad din offentliga IP-adress är. Registrera dig för ett värdnamn och peka det på din offentliga IP-adress. När du väl har anmält dig till tjänsten, glöm inte att ställa in automatisk uppdateringstjänsten i Tomat under Grundläggande> DDNS.
Nu tillbaka för att konfigurera OpenVPN. I Utforskaren, navigera till C: \ Programfiler (x86) \ OpenVPN \ sample-config om du kör 64-bitars Windows 7 eller C: \ Program Files \ OpenVPN \ sample-config om du kör 32-bitars Windows 7. I den här mappen hittar du tre exempelkonfigurationsfiler; vi är bara intresserade av client.ovpn fil.
Högerklicka på client.ovpn och öppna den med Notepad eller Notepad ++. Du kommer märka att din fil kommer att se ut som bilden nedan:
Men vi vill ha vår client.ovpn fil för att likna detta bild nedan. Var noga med att ändra DynDNS-värdnamnet till ditt värdnamn i rad 4 (eller ändra det till din offentliga IP-adress om du har en statisk). Lämna portnumret till 1194 eftersom det är standard OpenVPN-porten. Också, var noga med att ändra raderna 11 och 12 för att spegla namnet på din kunds certifikatfil och nyckelfil. Spara det som en ny fil .ovpn-fil i OpenVPN / config-mappen.
Konfigurera Tomatens VPN-tunnel
Grundsidan är nu att kopiera serverns certifikat och nycklar som vi gjorde tidigare och klistra in dem i Tomat VPN-serverns menyer. Då kommer vi att kolla några inställningar i Tomat, testa VPN-anslutningen och då kan vi tvätta våra händer och kalla det en dag!
Öppna en webbläsare och navigera till din router. Klicka på menyn VPN Tunneling i den vänstra sidofältet. Se till att även Server1 och Basic är markerade. Ställ in dina inställningar exakt som de visas nedan. Klicka på Spara.
Uppdatering: Standardläget är TUN eller tunnel, men du vill förmodligen ändra den till TAP, som överbryggar nätverket i stället. Tunneläget sätter dina externa kunder på ett annat nätverk än det interna nätverket. Så ändå ändra gränssnittstyp till TAP istället.
Klicka sedan på fliken Avancerat bredvid Grundläggande. Se precis som tidigare att dina inställningar är exakta som de visas nedan. Klicka på Spara.
Vårt sista steg är klistra in nycklarna och certifikaten vi ursprungligen skapade. Öppna fliken Keys bredvid Avancerat. I Utforskaren, navigera till C: \ Programfiler (x86) \ OpenVPN \ easy-rsa \ keys på 64-bitars Windows 7 (eller C: \ Program Files \ OpenVPN \ easy-rsa \ keys på 32-bitars Windows 7). Öppna varje motsvarande fil nedan (ca.crt, server.crt, server.key, och dh1024.pem) med anteckningsblock eller anteckningsblock ++ och kopiera innehållet. Klistra in innehållet i motsvarande lådor enligt nedan. Jag bör notera att du bara behöver klistra in allt nedan -BEGIN CERTIFICATE- i server.crt. OpenVPN fungerar fortfarande korrekt om du klistrar in hela filen, men det är mer "rent" bara klistra in den faktiska certifikatinformationen. Klicka på Spara och klicka sedan på Start nu.
Innan vi testar vår VPN-anslutning finns det en sak vi måste kolla inuti Tomaten. Klicka på Basic i den vänstra kolumnen och sedan på Tid. Kontrollera att routertiden är korrekt och tidszonen visar din aktuella tidszon. Ställ in NTP-tidsservern i ditt land.
Konfigurera en OpenVPN-klient
I det här exemplet kommer vi att använda en Windows 7-bärbar dator som vår klient. Det första du vill göra är att installera OpenVPN på din klient som vi gjorde ovan i de första stegen under Konfigurera OpenVPN. Navigera sedan till C: \ Program \ OpenVPN \ config vilket är där vi ska klistra in våra filer.
Nu måste vi gå tillbaka till vår ursprungliga dator och samla totalt fyra filer för att kopiera till vår klientdator. Navigera till C: \ Programfiler (x86) \ OpenVPN \ easy-rsa \ keys igen och kopiera ca.crt, client1.crt, och client1.key. Klistra in dessa filer i klientens config mapp.
Slutligen måste vi kopiera en fil över. Navigera till C: \ Programfiler (x86) \ OpenVPN \ config och kopiera över den nya client.ovpn filen vi skapade tidigare. Klistra in den här filen i klientens config mapp också.
Testa OpenVPN-klienten
På klientens bärbara dator klickar du på Windows Start-knappen och navigerar till Alla program> OpenVPN. Högerklicka på OpenVPN GUI-filen och klicka på Kör som administratör. Observera att du alltid måste köra OpenVPN som administratör för att den ska fungera korrekt. För att permanent ställa in filen för att alltid köra som administratör, högerklicka på filen och klicka på Egenskaper. Markera Kör det här programmet som administratör under fliken Kompatibilitet.
OpenVPN GUI-ikonen kommer att visas bredvid klockan i aktivitetsfältet. Högerklicka på ikonen och klicka på Anslut. Eftersom vi bara har en .ovpn-fil i vår config mappen, kommer OpenVPN att ansluta till det nätverket som standard.
En dialogruta kommer dyka upp och visar en anslutningslogg.
När du är ansluten till VPN, blir ikonen OpenVPN i Aktivitetsfältet grön och visar din virtuella IP-adress.
Och det är allt! Du har nu en säker anslutning mellan din server och kundens nätverk med OpenVPN och TomatoUSB. För att ytterligare testa anslutningen, försök öppna en webbläsare på klientens bärbara dator och navigera till din tomatrouter på serverns nätverk.
Bild av The Ewan