VPN in uw thuisnetwerk

VPN in uw thuisnetwerk

TL;DR: ik installeer Wireguard op VPS, verbind met mijn thuisrouter op OpenWRT, en krijg toegang tot mijn thuisnetwerk via mijn telefoon.

Als u persoonlijke infrastructuur op een thuisserver heeft of veel apparaten heeft die via IP worden beheerd, wilt u waarschijnlijk toegang hebben tot deze apparaten vanuit uw werk, de bus, de trein of de metro. Vaak wordt voor dergelijke doeleinden een IP-adres van de provider aangeschaft, waarna de poorten van elk service naar buiten worden doorgestuurd.

In plaats daarvan heb ik een VPN ingesteld met toegang tot mijn thuisnetwerk. De voordelen van deze oplossing zijn:

  • Transparantie: ik voel me overal als thuis.
  • Eenvoud: ingesteld en vergeten, ik hoef niet na te denken over het doorsturen van elke poort.
  • Prijs: ik heb al een VPS, voor dergelijke taken is een moderne VPN bijna gratis qua middelen.
  • Beveiliging: er steekt niets naar buiten, ik kan MongoDB zonder wachtwoord achterlaten en niemand zal gegevens stelen.

Zoals altijd zijn er ook nadelen. Ten eerste moet u elke client afzonderlijk instellen, ook aan de serverszijde. Dit kan ongemakkelijk zijn met een groot aantal apparaten waarvoor u toegang tot de services wilt. Ten tweede kan er op het werk een overlappende lokale netwerk zijn - dit probleem zal opgelost moeten worden.

We hebben nodig:

  1. VPS (in mijn geval op Debian 10).
  2. Router op OpenWRT.
  3. Telefoon.
  4. Thuisserver met een of andere webservice voor controle.
  5. Handige vaardigheden.

Ik zal Wireguard gebruiken als VPN-technologie. Deze oplossing heeft ook sterke en zwakke punten, die ik niet zal beschrijven. Voor de VPN gebruik ik een subnet 192.168.99.0/24, en thuis heb ik 192.168.0.0/24.

VPS-configuratie

Voor deze taak is zelfs de goedkoopste VPS van 30 roebel per maand voldoende, als je geluk hebt zo'n te pakken.

Alle bewerkingen op de server voer ik als root uit op een schone machine, indien nodig voegt u `sudo` toe en past u de instructies aan.

Wireguard is nog niet in stable gebracht, daarom voer ik `apt edit-sources` uit en voeg ik backports toe met twee regels aan het einde van het bestand:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

Het pakket wordt op de gebruikelijke manier geïnstalleerd: apt update && apt install wireguard.

Vervolgens genereren we een sleutelpair: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Deze operatie herhaalt u nog twee keer voor elk apparaat dat deel uitmaakt van het schema. Verander de bestandslocaties voor de sleutels van het andere apparaat en vergeet de veiligheid van de privésleutels niet.

Laten we nu de configuratie voorbereiden. In het bestand /etc/wireguard/wg0.conf komt de configuratie:

[Interface]
Adres = 192.168.99.1/24
Luisterpoort = 57953
Privé sleutel = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

In de sectie [Interface] de instellingen van het apparaat zelf worden opgegeven, terwijl [Peer] — instellingen voor degenen die verbinding willen maken. In AllowedIPs subnetten moeten door komma's gescheiden worden, die naar de overeenkomstige peer zullen worden gerouteerd. Hierdoor moeten de peers van de ‘client’-apparaten in het VPN-subnet een masker hebben, /32, alles wat overblijft zal door de server worden gerouteerd. Aangezien het thuissnetwerk via OpenWRT zal worden gerouteerd, AllowedIPs moeten we het thuisnetwerk toevoegen aan de overeenkomstige peer. In PrivateKey en PublicKey plaats de privésleutel gegenereerd voor VPS en publieke sleutels van peers respectievelijk.

Op de VPS hoeft alleen de opdracht te worden uitgevoerd die de interface opstart en deze aan het opstarten toevoegt: systemctl enable --now wg-quick@wg0. De huidige status van de verbindingen kan gecontroleerd worden met de opdracht wg.

OpenWRT-configuratie

Alles wat nodig is voor deze stap is beschikbaar in de luci-module (webinterface van OpenWRT). Log in en open het tabblad Software in het menu Systeem. OpenWRT slaat geen cache op de machine op, dus je moet de lijst met beschikbare pakketten bijwerken door op de groene knop Update lists te klikken. Na voltooiing voer je in het filter luci-app-wireguard in, en kijkend naar het venster met de mooie afhankelijkheidsboom installeer je dit pakket.

In het menu Netwerken kies je Interfaces en klik je op de groene knop Nieuwe Interface toevoegen onder de al bestaande lijst. Na het invoeren van de naam (in mijn geval ook wg0 ) en het kiezen van het WireGuard VPN-protocol opent zich een instellingenformulier met vier tabbladen.

VPN in uw thuisnetwerk

Op het tabblad Algemene instellingen moet je de privésleutel en het IP-adres dat voor OpenWRT is voorbereid samen met het subnet invoeren.

VPN in uw thuisnetwerk

Op het tabblad Firewallinstellingen breng je de interface in het lokale netwerk. Hierdoor kunnen verbindingen vanuit VPN vrij naar het lokale netwerk komen.

VPN in uw thuisnetwerk

Op het tabblad Peers klik je op de enige knop, waarna je in het bijgewerkte formulier de gegevens van de VPS-server invult: publieke sleutel, Allowed IPs (je moet het hele VPN-subnet naar de server routeren). Vul respectievelijk het IP-adres van de VPS in met de poort die eerder in de directive ListenPort is opgegeven. Vink Route Allowed IPs aan, zodat routes worden aangemaakt. En vul Persistent Keep Alive in, anders zal de tunnel van de VPS naar de router verbroken worden als de laatste achter NAT staat.

VPN in uw thuisnetwerk

VPN in uw thuisnetwerk

Daarna kun je de instellingen opslaan en op de pagina met de lijst van interfaces op Opslaan en toepassen klikken. Indien nodig kun je de interface handmatig starten met de knop Opnieuw opstarten.

We configureren de smartphone

Je hebt de Wireguard-client nodig, deze is beschikbaar in F-Droid, Google Play en de App Store. Zodra je de app opent, druk je op het plusteken en vul je in de sectie Interface de naam van de verbinding in, de privét sleutel (de publieke wordt automatisch gegenereerd) en het telefoonnummer met het masker /32. In de sectie Peer geef je de publieke sleutel van de VPS op, het paar adres: poort van de VPN-server als Endpoint en de routes naar het VPN- en thuisnetwerk.

Dikke screenshot van de telefoon
VPN in uw thuisnetwerk

Je drukt op het diskette-icoon in de hoek, schakelt in en…

Klaar

Nu kun je toegang krijgen tot de thuismonitoring, de routerinstellingen wijzigen of iets anders doen op IP-niveau.

Screenshots uit het lokale netwerk
VPN in uw thuisnetwerk

VPN in uw thuisnetwerk

VPN in uw thuisnetwerk

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster