Inhoudsopgave:
- Stap 1: Uw VPN-service kiezen
- Stap 2: Installeer de Raspberry Pi
- Stap 3: Installeer OpenVPN
- Stap 4: Routering instellen
- Stap 5: Firewall en NAT instellen
- Stap 6: Conclusie
Video: Raspberry Pi VPN-gateway: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Update-2018-01-07:
- Bijgewerkte ontbrekende zaken en aangebrachte wijzigingen die nodig zijn voor de huidige versie van Raspian.
- Ook een specifieke handleiding voor NordVPN gemaakt.
Er zijn een paar verschillende toepassingen voor VPN. Of je wilt je privacy en privégegevens beschermen tegen nieuwsgierige blikken of je moet bronnen uit een ander land halen. Sourcing uit een ander land kan erg handig zijn om toegang te krijgen tot diensten die niet in uw land worden aangeboden. Er zijn tegenwoordig een aantal VPN-services en de meeste bieden gebruiksvriendelijke software voor uw computer en apps voor uw tablet of telefoon. Maar als je andere apparaten hebt die niet worden ondersteund door de software die je over de VPN wilt gaan? Bouw vervolgens een gateway die u internettoegang geeft via de VPN.
Als u naar uw basisnetwerkconfiguratie kijkt, heeft u een "standaardgateway" die wordt gebruikt voor elk ip-adres dat zich niet in uw huidige subnet bevindt (zeer vereenvoudigd). Dus als u een gateway instelt die internetverkeer via een bestaande VPN-verbinding kan routeren, kan elk apparaat met netwerkfunctionaliteit profiteren van de VPN-tunnel.
Mijn belangrijkste gebruiksscenario in mijn appartement in San Francisco is een VPN-tunnel naar mijn geboorteland Zweden, zodat ik Zweedse afspeelkanalen kan streamen op mijn mediaspelers en smart-tv. Dit is een vrij algemeen gebruik voor de meeste mensen die een VPN-tunnel nodig hebben. Omdat mijn mediaspelers en smart-tv's niet worden ondersteund door de VPN-software, heb ik er een uit een Raspberry Pi gebouwd.
Je kunt er een kopen voor minder dan $ 40 op Amazon. Ik raad je echter aan om ook een hoesje en een degelijke stroomadapter te kopen. Voor dit instructable heb je nodig:
- Raspberry Pi 2 of 3
- Een zaak van uw gading
- Een degelijke stroomadapter
- Een netwerkkabel
Stap 1: Uw VPN-service kiezen
Het belangrijkste bij het selecteren van een VPN-service is dat deze voldoet aan uw eisen. Voor deze use case had ik een VPN-service nodig met een Zweeds exit-punt, dat is het belangrijkste aangezien ik de Zweedse services nodig heb om ervan overtuigd te zijn dat ik in Zweden ben. In de loop der jaren heb ik verschillende leveranciers gebruikt en hieronder staan de dingen waar ik rekening mee houd bij het selecteren van de VPN-leverancier voor de specifieke use case:
Gratis test
Ik wil een gratis testperiode of een kleine hoeveelheid testdata om een idee te krijgen van de software of app. Ook wil ik de prestaties en de algehele ervaring testen voordat ik ervoor betaal. Het is ook leuk om te controleren of mijn idee werkt voordat ik ga betalen.
Privacy
Als de implementatie voor privacykwesties is, is het echt belangrijk wat het privacybeleid vermeldt. Het is ook belangrijk vanuit welk land het bedrijf opereert en welke wetten uw privacy beschermen. De echt privacygevoelige gebruikers zouden eens moeten kijken naar een dienst die stelt dat er geen verkeerslogs worden opgeslagen en anonieme betalingen via bijvoorbeeld Bitcoin toestaat.
Toegestaan verkeer
Er kunnen beperkingen zijn aan het type verkeer dat u mag uitvoeren. De meer serieuze leveranciers blokkeren meestal peer-to-peer-verkeer. Dit is niet alleen om juridische problemen te voorkomen, maar om de prestaties voor alle gebruikers te kunnen behouden. Er zijn echter veel goede leveranciers die peer-to-peer mogelijk maken en toch een service van hoge kwaliteit leveren. Maar als dat niet uw belangrijkste recuirment is, raad ik u aan een service te selecteren die peer-to-peer niet toestaat.
Gegevenslimiet
Gebruik nooit een service die een datalimiet houdt voor hun betalende gebruikers. Dit zal op het slechtst mogelijke moment opraken, precies zoals de gegevens op je telefoon net voor het grappige gedeelte in een videoclip!
Landen verlaten
Afhankelijk van de use case heeft dit een ander belang. Voor een use case als de mijne, waar ik in een bepaald land terecht moet komen, moet dat natuurlijk op de lijst staan. Ik moet ook kunnen selecteren in welk land ik vertrek. Er zijn diensten waar je het land van vertrek niet kunt selecteren, blijf daar uit de buurt. U kunt terechtkomen in een land met slechte prestaties of privacywetten. Zelfs als je geen specifiek land nodig hebt, moet je toch een dienst selecteren met een paar verschillende landen om van te laten zien om er een te vinden met goede prestaties.
Type software en ondersteuning
Dit is een van de belangrijkste redenen waarom ik de voorkeur geef aan diensten met een gratis test. Er zijn zoveel providers met slechte software die bugs bevatten, onveilig zijn of gewoon niet werken. Voor een Raspberry Pi implementatie heb ik een provider nodig die OpenVPN ondersteunt.
Mijn selectie
Voor deze build ging ik met Tunnel Bear. Er wordt een gratis test tot 500 GB aangeboden, zodat ik kon testen of ik daadwerkelijk kon streamen voordat ik iets betaalde. Ze zijn gevestigd in Canada, dat naast Zweden enkele van de strengste privacywetten ter wereld heeft. Geen datalimiet op betaalde service en ik mag ook meerdere apparaten tegelijk hebben aangesloten. Dus bescherming voor mijn telefoon, tablet en computer tijdens het reizen op onbeveiligde wifi is ook geregeld. Exit-knooppunt in Zweden wordt ondersteund, het wordt feitelijk geleverd via Bahnhof, dat bekend staat om zijn sterke privacy in Zweden. Voor de betaalde abonnementen bieden ze OpenVPN-ondersteuning. Ze doen het niet voor de gratis test, maar het was genoeg om dat vanaf mijn laptop uit te voeren om er zeker van te zijn dat de streamingdiensten werkten.
Stap 2: Installeer de Raspberry Pi
Voor dergelijke implementaties gebruik ik het Raspbian Lite-besturingssysteem. Omdat ik de GUI helemaal niet nodig heb. U kunt de nieuwste release hier krijgen.
Ik gebruik Win32DiskImager om het.img-bestand op de SD-kaart voor de Raspberry Pi te laden.
Zodra de Raspberry Pi is opgestart, kijk ik in de DHCP-lijst van mijn router om het IP-adres te krijgen en maak vervolgens verbinding via SSH met Putty. Standaard gebruikersnaam en wachtwoord zijn pi/raspberry
Eenmaal verbonden, voer ik de raspi-config-tool uit om de basisinstellingen te wijzigen.
sudo raspi-config
De belangrijkste dingen om voor te zorgen in deze configuratie zijn:
- Bestandssysteem uitvouwen
- Verander wachtwoord
Je kunt desgewenst ook de hostnaam van je Raspberry Pi wijzigen. Mijn DHCP heeft zeer lange huurcontracten en ik kan ook een specifiek adres reserveren. Als je die mogelijkheid niet hebt, moet je de Raspberry Pi configureren om een statisch IP-adres te gebruiken. Aangezien andere apparaten dit als hun standaard gateway zullen gebruiken, is het belangrijk dat het hetzelfde IP-adres blijft gebruiken. Hier is een bericht dat ik heb geschreven over het instellen van een statisch IP-adres in Raspbian Jessie.
Dan moeten we alles upgraden naar de nieuwste versie:
sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade
Stap 3: Installeer OpenVPN
Nu moeten we OpenVPN op de Raspberry Pi installeren.
sudo apt-get install openvpn
Dan moeten we ervoor zorgen dat de service goed start.
sudo systemctl openvpn inschakelen
Wanneer de installatie is voltooid, moeten we de OpenVPN-configuratiebestanden en certificaten naar de box kopiëren. Deze wordt u verstrekt door uw VPN-provider. In mijn geval vond ik met TunnelBear daar een blogpost over Linux-ondersteuning. Op die pagina staat een link naar een zipbestand met alles wat we nodig hebben.
Het bestand bevat de certificaatbestanden en een.opvn-configuratiebestand voor elk land waarnaar u kunt tunnelen. Je hebt alle certificaatbestanden en het.opvn-configuratiebestand nodig voor het land van je keuze, in mijn geval Zweden. Pak de benodigde bestanden uit en gebruik winscp om de bestanden naar uw Raspberry Pi te uploaden. Dezelfde gebruikersnaam/wachtwoord als gebruikt voor SSH brengt je naar /home/pi, zet de bestanden daar gewoon neer.
Daarna gaan we terug naar de SSH-terminal en verplaatsen we de bestanden naar de OpenVPN-map. Het eerste commando is om er zeker van te zijn dat we in de map /home/pi staan.
cd /home/pi
sudo mv * /etc/openvpn/
Nu moeten we enkele wijzigingen aan de bestanden aanbrengen. Eerst moeten we het configuratiebestand hernoemen van.ovpn naar.conf. Elk bestand dat eindigt op.conf in de map /etc/openvpn wordt automatisch gestart wanneer de OpenVPN-daemon wordt gestart. Eerst moeten we in die map komen.
cd /etc/openvpn
Daarna veranderen we de naam van het configuratiebestand. Je kunt het een naam geven die je wilt, zolang het maar eindigt op.conf. Ik gebruik liever bestandsnamen zonder spaties, in dit geval ga ik voor swe.conf.
sudo mv *.ovpn swe.conf
Dan hebben we een authenticatiebestand nodig met daarin de gebruikersnaam en het wachtwoord die voor de VPN-tunnel worden gebruikt. Open een teksteditor en schrijf de gebruikersnaam en het wachtwoord op aparte regels. We zullen dit bestand auth.txt noemen.
sudo nano auth.txt
De inhoud zou als dit voorbeeld moeten zijn:
gebruikersnaam
wachtwoord
Gebruik vervolgens CTRL + O om naar het bestand te schrijven en CTRL + X om de nano-teksteditor af te sluiten. We moeten ook het auth.txt-bestand met onze inloggegevens beschermen.
sudo chmod 600 /etc/openvpn/auth.txt
Vervolgens moeten we het configuratiebestand bewerken om er zeker van te zijn dat alle paden correct zijn en een verwijzing naar het nieuw gemaakte auth.txt-bestand toevoegen.
sudo nano swe.conf
De regels die moeten worden gewijzigd, verwijzen naar andere bestanden, het moeten absolute paden zijn. In dit voorbeeld is dit wat we zoeken:
ca CACertificate.crt
cert UserCertificate.crt sleutel PrivateKey.key
We veranderen ze in absolute paden als volgt:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt sleutel /etc/openvpn/PrivateKey.key
Vervolgens voegen we aan het einde van het bestand een verwijzing naar het auth.txt-bestand toe, zoals dit:
auth-user-pass /etc/openvpn/auth.txt
We gebruiken opnieuw CTRL + O om het bestand op te slaan en vervolgens CTRL + X om nano af te sluiten. Nu kunnen we de OpenVPN-daemon opnieuw opstarten en zien dat de tunnel werkt.
sudo-service openvpn opnieuw opstarten
Als je het commando ifconfig uitvoert, zou je een tun0-adapter moeten zien naast je eth0- en lo-adapters als de tunnel actief is. U kunt ook de opdracht deze opdracht uitvoeren om uw openbare IP-adres te controleren:
wget https://ipinfo.io/ip -qO -
Als u problemen ondervindt bij het opstarten van de tunnel, probeer dan eerst uw Raspberry Pi opnieuw op te starten en controleer vervolgens de configuratie op fouten.
Stap 4: Routering instellen
Nu moeten we IP-forwarding inschakelen. Het zorgt ervoor dat het netwerkverkeer van de ene netwerkinterface naar binnen kan stromen en de andere uit. In wezen een router maken.
sudo /bin/su -c "echo -e '\n#Enable IP Routing\nnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"
Als je sudo sysctl -p uitvoert, zou je dit op het scherm moeten zien staan:
net.ipv4.ip_forward = 1
Nu is routering ingeschakeld en kan het verkeer door de Raspberry Pi, over de tunnel en het internet op.
Stap 5: Firewall en NAT instellen
Omdat we verschillende clients aan de binnenkant hebben die toegang hebben tot internet via één openbaar IP-adres, moeten we NAT gebruiken. Het staat voor netwerkadresvertaling en houdt bij welke client welk verkeer heeft aangevraagd wanneer de informatie over de tunnel terugkeert. We moeten ook wat beveiliging instellen rond de Raspberry Pi zelf en de tunnel.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
NAT inschakelen.
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPTEREN
Toestaan dat verkeer van eth0 (intern) over tun0 (tunnel) gaat.
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state GERELATEERD, GEVESTIGD -j ACCEPTEREN
Toestaan dat verkeer van tun0 (tunnel) teruggaat over eth0 (intern). Aangezien we de status GERELATEERD, GEVESTIGD specificeren, is deze beperkt tot een verbinding die wordt gestart vanaf het interne netwerk. Extern verkeer blokkeren dat een nieuwe verbinding probeert te maken.
sudo iptables -A INPUT -i lo -j ACCEPTEREN
Het eigen loopback-verkeer van de Raspberry Pi toestaan.
sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT
Toestaan dat computers op het lokale netwerk de Raspberry Pi pingen.
sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPTEREN
SSH toestaan vanaf het interne netwerk.
sudo iptables -A INPUT -m state --state GEVESTIGD, GERELATEERD -j ACCEPTEREN
Toestaan dat al het verkeer dat door de Raspberry Pi wordt geïnitieerd, terugkeert. Dit is hetzelfde staatshoofd als eerder.
sudo iptables -P VOORUIT DROP
sudo iptables -P INPUT DROP sudo iptables -L
Als het verkeer niet overeenkomt met een van de opgegeven regels, wordt het verwijderd.
sudo apt-get install iptables-persistent
sudo systemctl netfilter-persistent inschakelen
De eerste regel installeert een stukje code waardoor de iptable-regels die we zojuist hebben gemaakt, blijvend zijn tussen herstarts. De tweede slaat de regels op nadat u ze hebt gewijzigd. Deze keer is het genoeg om de eerste uit te voeren. Als u de regels wijzigt, voert u de tweede uit om op te slaan. Iptable-regels zijn van kracht zodra u ze toevoegt. Als u het verknoeit en de toegang verliest, start u gewoon opnieuw op en degene die nog niet zijn opgeslagen, worden teruggezet.
Stap 6: Conclusie
Nu kunt u deze tunnel gebruiken vanaf elk apparaat of elke computer op hetzelfde netwerk. Verander gewoon de standaard gateway naar het IP-adres van uw Raspberry Pi. In mijn geval gebruiken beide Kodi-mediacentra (een slaapkamer en een woonkamer) deze verbinding, zodat ik mijn Zweedse afspeelkanalen kan streamen. Natuurlijk zijn er ook andere dingen waar je dit voor kunt gebruiken.
Houd er rekening mee dat, afhankelijk van de VPN-leverancier die je hebt gekozen en de snelheid van je internetverbinding, er trage prestaties kunnen zijn.
Als je vragen hebt of wilt dat ik iets verduidelijk, laat het me dan weten in de comments! Ga voor meer technische berichten naar mijn blog Hackviking!
Aanbevolen:
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
VPN maken op uw Raspberry Pi-apparaat - Ajarnpa
Maak VPN op uw Raspberry Pi-apparaat: VPN of Virtual Private Network kan gewone internetgebruikers helpen een beetje meer privé te blijven tijdens het surfen op het internet. Het kan ook professionele softwareontwikkelaars helpen bij het werken aan hun projecten. En Raspberry Pi VPN-verbinding, die is gebaseerd op
VPN Premium-installatiegids voor DOWNLOAD MET HOGE SNELHEID en OKAY Streaming door REO: 10 stappen
VPN Premium-installatiegids voor HIGH SPEED DOWNLOAD en OKAY Streaming door REO: Bedankt, Asuswrt-MerlinHi, ik kom uit Thailand. Ik ga een gedetailleerde VPN-installatiegids schrijven voor een snelle download van gemiddeld ongeveer 100 Mb/s en misschien wel de meest vloeiende streaming voor Netflix, Crunchyroll, Hulu, enz. Uit Thailand, de bestemming
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50
Beveilig alle wifi met een VPN - toegangspunt! - Ajarnpa
Beveilig alle wifi met een VPN - toegangspunt!: Naarmate meer en meer van ons leven naar de grote wolk aan de hemel, het internet, wordt gestuurd, wordt het steeds moeilijker om veilig en privé te blijven tijdens uw persoonlijke internetavonturen. Of je nu toegang hebt tot gevoelige informatie die je privé wilt houden