Maak overal verbinding met uw thuisnetwerk met OpenVPN en tomaat
Een paar weken geleden behandelden we Tomato, een open-source routerfirmware, op uw Linksys WRT54GL. Vandaag bespreken we hoe je OpenVPN naast Tomato kunt installeren en hoe je het kunt instellen om overal ter wereld toegang te krijgen tot je thuisnetwerk!
Wat is OpenVPN?
Een virtueel particulier netwerk (VPN) is een vertrouwde, beveiligde verbinding tussen een lokaal netwerk (LAN) en een ander. Denk aan uw router als de middelste man tussen de netwerken waarmee u verbinding maakt. Zowel uw computer als de OpenVPN-server (in dit geval uw router) "hand geven" met behulp van certificaten die elkaar valideren. Na validatie komen zowel de client als de server overeen elkaar te vertrouwen en krijgt de client vervolgens toegang op het netwerk van de server.
Normaal gesproken kosten VPN-software en hardware veel geld om te implementeren. Als je het al niet geraden hebt, is OpenVPN een open-source VPN-oplossing die (tromgeroffel) gratis is. Tomato is, naast OpenVPN, een perfecte oplossing voor diegenen die een beveiligde verbinding tussen twee netwerken willen zonder hun portefeuille te hoeven openen. Uiteraard werkt OpenVPN niet direct uit de doos. Het vereist een beetje tweaken en configureren om het precies goed te krijgen. Maar maak je geen zorgen; we zijn er om dat proces voor u gemakkelijker te maken, dus grijp uzelf een warm kopje koffie en laten we aan de slag gaan.
Voor meer informatie over OpenVPN, bezoekt u de officiële What Is OpenVPN? pagina.
voorwaarden
In deze handleiding wordt ervan uitgegaan dat u momenteel Windows 7 op uw pc gebruikt en dat u een beheerdersaccount gebruikt. Als u een Mac- of Linux-gebruiker bent, geeft deze gids u een idee van hoe de dingen werken, maar wellicht moet u zelf wat meer onderzoek doen om de dingen perfect te krijgen. Ook zullen we een speciale versie van Tomato installeren genaamd TomatoUSB VPN op een Linksys WRT54GL versie 1.1-router. Als je wilt weten of je router compatibel is met TomatoUSB, bekijk dan hun Build Types-pagina.
In het begin van deze handleiding wordt ervan uitgegaan dat u:
- de originele Linksys-firmware geïnstalleerd op uw router of
- de Tomaat-firmware die we beschreven hebben in ons laatste artikel
Neem nota van de tekst boven bepaalde stappen die aangeven of het om Linksys-firmware of Tomatofirmware gaat.
TomatoUSB installeren
In een vorig artikel hebben we besproken hoe de originele Tomato v1.28-firmware van de PolarCloud-website te installeren. Helaas is die versie van Tomato niet geleverd met OpenVPN-ondersteuning, dus we zullen een nieuwere versie installeren die wordt genoemd TomatoUSB VPN.
Het eerste dat u wilt doen, is naar de TomatoUSB-startpagina gaan en op de download Tomato USB-link klikken.
Download VPN onder de Kernel 2.4 (stabiel) sectie. Sla het .rar-bestand op uw computer op.
U hebt een programma nodig om het .rar-bestand uit te pakken. We raden aan om WinRAR te gebruiken, omdat het gratis te proberen en gebruiksvriendelijk is. Je kunt jezelf een kopie van de gratis versie downloaden op hun website. Na het installeren van WinRAR, klik met de rechtermuisknop op het bestand dat u hebt gedownload en klik hier op Uitpakken. Je zou dan twee geroepen bestanden moeten zien CHANGELOG en tomaat-NDUSB-1.28.8754-vpn3.6.trx.
Als u Linksys-firmware gebruikt ...
Open uw browser en voer het IP-adres van uw router in (standaard is 192.168.1.1). U wordt gevraagd om een gebruikersnaam en wachtwoord. De standaardinstellingen voor een Linksys WRT54GL zijn "admin" en "admin".
Klik bovenaan op het tabblad Beheer. Klik vervolgens op Firmware-upgrade zoals hieronder te zien is.
Klik op de knop Bladeren en ga naar de uitgepakte TomatoUSB VPN-bestanden. Selecteer de tomaat-NDUSB-1.28.8754-vpn3.6.trx bestand en klik op de knop Upgrade in de webinterface. Uw router zal TomatoUSB VPN gaan installeren en het duurt minder dan een minuut om het te voltooien. Na ongeveer een minuut opent u een opdrachtprompt en typt u ipconfig -release om het nieuwe IP-adres van uw router te bepalen. Typ dan ipconfig -nieuw. Het IP-adres rechts van Default Gateway ... is het IP-adres van uw router.
Notitie: Na het installeren van Tomato gaat u naar Beheer> Configuratie en selecteert u "Erase alle NVRAM ...".
Als je Tomatofirmware uitvoert ...
Open uw browser en voer het IP-adres van uw router in. We nemen aan dat als u Tomato hebt geïnstalleerd, u het IP-adres van uw router kent. Als je het niet zeker weet, is het waarschijnlijk ingesteld op de standaard 192.168.1.1. Typ daarna uw gebruikersnaam en wachtwoord in.
Hoewel het niet verplicht is, wil je misschien een back-up maken van je huidige Tomato-configuratie voordat je een upgrade uitvoert naar TomatoUSB VPN, voor het geval dat. Om uw configuratie op te slaan, gaat u naar Beheer> Configuratie en klikt u op de knop Back-up. Dit zal u vragen om het .cfg-bestand op uw computer op te slaan.
Nu is het tijd om Tomato naar TomatoUSB VPN te upgraden. Klik op Upgrade in de linkerkolom en klik op de knop Bestand kiezen. Navigeer naar de bestanden die we eerder hebben geëxtraheerd en kies de tomaat-NDUSB-1.28.8754-vpn3.6.trx het dossier. Klik vervolgens op de knop Upgrade.
U wordt gevraagd om de upgrade te bevestigen; klik gewoon op OK.
Uw router zal de nieuwe firmware uploaden en zal binnen een minuut opnieuw opstarten.
Het kan hetzelfde of een ander IP-adres hebben nadat het opnieuw is opgestart. In ons geval was de routerconfiguratie nog steeds hetzelfde, daarom was ons IP-adres nog steeds hetzelfde. Om het nieuwe IP-adres van uw router te bepalen, opent u een opdrachtprompt en typt u ipconfig -release. Typ dan ipconfig -nieuw. Het IP-adres rechts van Default Gateway ... is het adres van uw router. Als uw configuratie is teruggezet naar de standaardinstellingen, gaat u terug naar de configuratiepagina (Beheer> Configuratie) en klikt u op de knop Bestand kiezen onder Configuratie herstellen. Blader naar het .cfg-bestand dat u eerder op uw computer hebt opgeslagen en klik op de knop Herstellen.
OpenVPN configureren
Of je Linksys-firmware of Tomato Firmware had geïnstalleerd, je zou nu de nieuwe TomatoUSB VPN op je router geïnstalleerd moeten hebben. U zult een paar nieuwe menu's in de linkerkolom opmerken, zoals Web Usage, USB en NAS en VPN Tunnelling. Voor deze gids houden we ons alleen bezig met het VPN-tunneling-menu, dus ga je gang en klik je op VPN-tunneling. Houd dit browservenster open; We komen hier binnenkort op terug.
Laten we nu naar de pagina Downloads van OpenVPN gaan en de OpenVPN Windows Installer downloaden. In deze handleiding gebruiken we de tweede nieuwste versie van OpenVPN, genaamd 2.1.4. De nieuwste versie (2.2.0) bevat een bug waardoor dit proces nog ingewikkelder zou worden. Het bestand dat we downloaden, installeert het OpenVPN-programma waarmee je verbinding kunt maken met je VPN-netwerk. Installeer dit programma dus op alle andere computers die je als client wilt gebruiken (zoals we zullen zien hoe dat te doen) later). Sla het bestand openvpn-2.1.4-install .exe op uw computer op.
Navigeer naar het OpenVPN-bestand dat we zojuist hebben gedownload en dubbelklik erop. Hiermee begint de installatie van OpenVPN op uw computer. Doorloop het installatieprogramma met alle standaardinstellingen aangevinkt. Tijdens de installatie verschijnt er een dialoogvenster met de vraag om een nieuwe virtuele netwerkadapter genaamd TAP-Win32 te installeren. Klik op de knop Installeren.
Nu u OpenVPN op uw computer hebt geïnstalleerd, moeten we beginnen met het maken van de certificaten en sleutels om apparaten te verifiëren.
Certificaten en sleutels maken
Klik op de Windows Start-knop en navigeer onder Accessoires. Je ziet het opdrachtpromptprogramma. Klik er met de rechtermuisknop op en klik op Als administrator uitvoeren.
Typ in de opdrachtprompt cd c: \ Program Files (x86) \ OpenVPN \ easy-rsa als u 64-bits Windows 7 gebruikt, zoals hieronder te zien is. Type cd c: \ Program Files \ OpenVPN \ easy-rsa als u 32-bits Windows 7 gebruikt. Druk vervolgens op Enter.
Typ nu init-config en druk op Enter om twee bestanden genaamd vars.bat en openssl.cnf naar de map easy-rsa te kopiëren. Houd uw opdrachtprompt vast, want we komen hier binnenkort op terug.
Navigeren naar C: \ Program Files (x86) \ OpenVPN \ easy-rsa (of C: \ Program Files \ OpenVPN \ easy-rsa op 32-bits Windows 7) en klik met de rechtermuisknop op het bestand met de naam vars.bat. Klik op Bewerken om het in Kladblok te openen. Als alternatief raden we aan om dit bestand te openen met Notepad ++, omdat het de tekst in het bestand veel beter opmaakt. U kunt Notepad ++ downloaden vanaf hun startpagina.
Het onderste gedeelte van het bestand is waar het ons om gaat. Beginnend bij regel 31, verander de KEY_COUNTRY waarde, KEY_PROVINCE waarde, enz. aan uw land, provincie, enz. We hebben bijvoorbeeld onze provincie gewijzigd in "IL", stad in "Chicago", org in "HowToGeek" en e-mail naar ons eigen e-mailadres. Als u Windows 7 64-bit gebruikt, wijzigt u de HUIS waarde in regel 6 tot % ProgramFiles (x86)% \ OpenVPN \ easy-rsa. Wijzig deze waarde niet als u 32-bits Windows 7 gebruikt. Uw bestand moet er ongeveer zo uitzien als de onze hieronder (met uw respectieve waarden natuurlijk). Sla het bestand op door het te overschrijven als je klaar bent met bewerken.
Ga terug naar je opdrachtprompt en typ vars en druk op Enter. Typ dan Maak alles schoon en druk op Enter. Typ ten slotte build-ca en druk op Enter.
Na het uitvoeren van de build-ca opdracht, wordt u gevraagd om uw landnaam, staat, plaats enz. in te voeren. Aangezien we deze parameters al hebben ingesteld in onze vars.bat bestand, kunnen we deze opties overslaan door op Enter te drukken, maar! Voordat u begint weg te slaan met de Enter-toets, let op voor de parameter Common Name. U kunt alles in deze parameter ingeven (bijvoorbeeld uw naam). Zorg ervoor dat je binnenkomt iets. Deze opdracht voert twee bestanden uit (een Root CA-certificaat en een Root CA-sleutel) in de map easy-rsa / keys.
Nu gaan we een sleutel bouwen voor een klant. Typ in hetzelfde opdrachtpromptype build-key client1. U kunt "client1" wijzigen in alles wat u maar wilt (zoals Acer-Laptop). Zorg ervoor dat u dezelfde naam invoert als de algemene naam als daarom wordt gevraagd. Bijvoorbeeld wanneer u de opdracht uitvoert bouw-sleutel Acer-Laptop, uw algemene naam moet "Acer-Laptop" zijn. Ren door alle standaardinstellingen zoals de laatste stap die we deden (behalve Common Name, natuurlijk). Aan het eind wordt u echter gevraagd om het certificaat te ondertekenen en te binden. Type "y" voor beide en klik op Enter.
Maak je ook geen zorgen als je de foutmelding "niet in staat om te schrijven" willekeurige status hebt ontvangen. Ik heb gemerkt dat je certificaten nog steeds probleemloos worden gemaakt. Met deze opdracht worden twee bestanden (een Client1-sleutel en een Client1-certificaat) uitgevoerd in de map easy-rsa / keys. Als u een andere sleutel voor een andere client wilt maken, herhaalt u de vorige stap, maar zorg ervoor dat u de algemene naam wijzigt.
Het laatste certificaat dat we gaan genereren is de servercode. Typ in dezelfde opdrachtprompt build-key-server server. U kunt "server" aan het einde van de opdracht vervangen door alles wat u maar wilt (zoals HowToGeek-Server). Zoals altijd, zorg ervoor dat u dezelfde naam invoert als de algemene naam als daarom wordt gevraagd. Bijvoorbeeld wanneer u de opdracht uitvoert build-key-server HowToGeek-Server, je algemene naam moet "HowToGeek-Server" zijn. Druk op Enter en doorloop alle standaardwaarden behalve Common Name. Typ aan het einde "y" om het certificaat te ondertekenen en vast te leggen. Met deze opdracht worden twee bestanden (een serversleutel en een servercertificaat) uitgevoerd in de map easy-rsa / keys.
Nu moeten we de Diffie Hellman-parameters genereren. Het Diffie Hellman-protocol "biedt twee gebruikers de mogelijkheid om een geheime sleutel te ruilen voor een onveilig medium zonder voorafgaande geheimen". Je kunt meer lezen over Diffie Hellman op de website van RSA.
Typ in hetzelfde opdrachtpromptype build-dh. Met deze opdracht wordt één bestand (dh1024.pem) uitgevoerd in de map easy-rsa / keys.
Configuratiebestanden voor de client maken
Voordat we configuratiebestanden bewerken, moeten we een dynamische DNS-service instellen. Gebruik deze service als uw ISP om de zoveel tijd een dynamisch extern IP-adres afgeeft. Als u een statisch extern IP-adres hebt, gaat u verder met de volgende stap.
We raden u aan DynDNS.com te gebruiken, een service waarmee u een hostnaam (bijv. Howtogeek.dyndns.org) naar een dynamisch IP-adres kunt verwijzen. Het is belangrijk dat OpenVPN altijd het openbare IP-adres van uw netwerk weet en door DynDNS te gebruiken, weet OpenVPN altijd hoe u uw netwerk kunt lokaliseren, ongeacht uw openbare IP-adres. Meld u aan voor een hostnaam en wijs deze naar uw openbare IP-adres. Vergeet niet om de automatische updateservice in Tomato in te stellen onder Basis> DDNS als u zich hebt aangemeld voor de service.
Nu terug naar het configureren van OpenVPN. Navigeer in Windows Verkenner naar C: \ Program Files (x86) \ OpenVPN \ sample-config als u 64-bits Windows 7 of C: \ Program Files \ OpenVPN \ sample-config als u 32-bits Windows 7 gebruikt. In deze map vindt u drie voorbeeldconfiguratiebestanden; we zijn alleen maar bezig met de client.ovpn het dossier.
Klik met de rechtermuisknop op client.ovpn en open het met Notepad of Notepad ++. U zult merken dat uw bestand er als volgt uit ziet:
We willen echter onze client.ovpn bestand lijkt op deze foto hieronder. Zorg ervoor dat u de DynDNS-hostnaam in uw hostnaam op regel 4 wijzigt (of wijzig deze in uw openbare IP-adres als u een statische IP-adres hebt). Laat het poortnummer over aan 1194 omdat dit de standaard OpenVPN-poort is. Wijzig ook regels 11 en 12 om de naam van het certificaatbestand en het sleutelbestand van uw klant weer te geven. Sla dit op als nieuw bestand .ovpn-bestand in de map OpenVPN / config.
Tomatentaken VPN-tunneling configureren
Het basisidee is nu om de servercertificaten en sleutels die we eerder hebben gemaakt te kopiëren en in de Tomato VPN-servermenu's te plakken. Daarna zullen we een paar instellingen in Tomato controleren, de VPN-verbinding testen en dan kunnen we onze handen wassen en het een dag noemen!
Open een browser en navigeer naar uw router. Klik op het menu VPN-tunneling in de linkerzijbalk. Zorg ervoor dat Server1 en Basis ook zijn geselecteerd. Stel uw instellingen precies zo in als ze hieronder worden weergegeven. Klik op Opslaan.
Update: de standaardmodus is TUN of tunnel, maar u wilt deze waarschijnlijk wijzigen in TAP, waarmee het netwerk wordt overbrugd. De tunnelmodus brengt uw externe clients op een ander netwerk dan het interne netwerk. Verander dus in plaats daarvan Interface Type naar TAP.
Klik vervolgens op het tabblad Geavanceerd naast Basic. Zorg er net als eerder voor dat je instellingen precies zo zijn als ze hieronder worden weergegeven. Klik op Opslaan.
Onze laatste stap is het plakken van de sleutels en certificaten die we oorspronkelijk hebben gemaakt. Open het tabblad Sleutels naast Geavanceerd. Navigeer in Windows Verkenner naar C: \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys op 64-bits Windows 7 (of C: \ Program Files \ OpenVPN \ easy-rsa \ keys op 32-bits Windows 7). Open elk overeenkomstig bestand hieronder (ca.crt, server.crt, server.key, en dh1024.pem) met Kladblok of Notepad ++ en kopieer de inhoud. Plak de inhoud in de overeenkomstige vakken zoals hieronder te zien is. Ik moet er rekening mee houden dat u alleen alles hieronder - BEGIN CERTIFICATE - in de server.crt. OpenVPN zal nog steeds goed werken als je het hele bestand plakt, maar het is meer "clean" en alleen de daadwerkelijke certificaatinformatie geplakt. Klik op Opslaan en klik vervolgens op Nu starten.
Voordat we onze VPN-verbinding testen, is er nog een ding dat we binnen in Tomato moeten controleren. Klik op Basic in de linkerkolom en vervolgens op Tijd. Zorg ervoor dat de routertijd correct is en de tijdzone uw huidige tijdzone weergeeft. Stel de NTP Time Server in naar uw land.
Een OpenVPN-client instellen
In dit voorbeeld zullen we een Windows 7-laptop gebruiken als onze klant. Het eerste dat u wilt doen is OpenVPN op uw client installeren zoals we hierboven deden in de eerste stappen onder OpenVPN configureren. Navigeer vervolgens naar C: \ Program Files \ OpenVPN \ config dat is waar we onze bestanden zullen plakken.
Nu moeten we teruggaan naar onze oorspronkelijke computer en in totaal vier bestanden verzamelen om naar onze client-laptop te kopiëren. Navigeren naar C: \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys nogmaals en kopieer ca.crt, client1.crt, en client1.key. Plak deze bestanden in de client's config map.
Ten slotte moeten we nog een bestand kopiëren. Navigeren naar C: \ Program Files (x86) \ OpenVPN \ config en kopieer het nieuwe client.ovpn-bestand dat we eerder hebben gemaakt. Plak dit bestand in de client's config map ook.
Testen van de OpenVPN Client
Klik op de client-laptop op de Windows Start-knop en ga naar Alle programma's> OpenVPN. Klik met de rechtermuisknop op het OpenVPN GUI-bestand en klik op Als administrator uitvoeren. Houd er rekening mee dat u OpenVPN altijd als beheerder moet uitvoeren voordat dit correct werkt. Als u het bestand permanent wilt instellen om altijd als beheerder te worden uitgevoerd, klikt u met de rechtermuisknop op het bestand en klikt u op Eigenschappen. Controleer op het tabblad Compatibiliteit Dit programma uitvoeren als beheerder.
Het pictogram van de OpenVPN GUI verschijnt naast de klok in de taakbalk. Klik met de rechtermuisknop op het pictogram en klik op Verbinden. Omdat we slechts één .ovpn-bestand in onze config map, maakt OpenVPN standaard verbinding met dat netwerk.
Er verschijnt een dialoogvenster met een verbindingslogboek.
Nadat u bent verbonden met de VPN, wordt het pictogram van OpenVPN in de taakbalk groen en wordt uw virtuele IP-adres weergegeven.
En dat is het! U hebt nu een beveiligde verbinding tussen uw server en het clientnetwerk via OpenVPN en TomatoUSB. Om de verbinding verder te testen, probeert u een browser op de client-laptop te openen en naar uw Tomato-router op het netwerk van de server te navigeren.
Afbeelding door The Ewan