Guide: Gör om din Raspberry Pi till en VPN-gateway med OVPN
Säkra datorerna i hemmet och gör dem anonyma på internet med OVPN och en Raspberry Pi. Den här guiden berättar hur du snabbt kommer igång.
Uppdaterad: Lade till avsnitt om att ta bort standardanvändaren och lägga till en ny.
Uppdaterad: Lade till avsnitt om att avaktivera WiFi och Bluetooth.
Det här använder vi för den här guiden:
- Raspberry Pi 3
- Raspbian Stretch Lite (ladda ner här)
- OVPN (du måste ha ett konto, skaffa ett här)
- SSH-anslutning via Terminalen i macOS (Putty för Windows fungerar också)
Måste du installera din Raspberry Pi och behöver hjälp kan du följa den här guiden.
Uppdatera och starta om din Raspberry Pi
Innan du börjar installera alla nödvändiga filer och inställningar bör din Raspberry Pi uppdateras. Kör följande tre kommandon efter varandra för att installera eventuell ny mjukvara till systemet:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update && sudo reboot
När du kan ansluta till din Raspberry Pi igen går du till nästa steg här under.
Skapa en ny användare och ta bort den förinställda
Raspbian har en förinställd användare som heter ”pi”. Det är inte säkert att ha kvar den gamla så här börjar vi med att skapa en ny. Därefter tar vi bort användaren ”pi” om du inte redan har gjort det.
Logga in på din Raspberry Pi som vanligt. Kör sedan följande kommando, glöm inte att byta ut ”användarnamn” mot något du själv vill ha.
sudo useradd -m användarnamn -G sudo
För att sätta ett lösenord skriver du följande kommando (åter igen, byt ”användarnamn” mot ditt egenvalda namn).
sudo passwd användarnamn
Logga ut från terminalen och pröva att logga in med ditt nya användarnamn och lösenord. Kör därefter följande.
sudo visudo
Visudo-kommandot kan endast köras av konton med sudo-privilegier. Om det körs korrekt kan du nu ta bort det gamla pi-kontot med följande kommando.
sudo deluser pi
Vill du ta bort alla filer i hem-mappen associerade med kontot pi kör du istället det här kommandot.
sudo deluser -remove-home pi
Installera OpenVPN & ställ in din tidszon
Nu ska vi installera OpenVPN vilken är mjukvaran som används för anslutningen till OVPN. Dessutom måste tidszonen ställas in då det är viktigt att den är korrekt på enheten.
Börja med att köra följande kommando för att installera OpenVPN:
sudo apt-get install openvpn
Därefter ställer vi in tidszonen:
sudo dpkg-reconfigure tzdata
Följ instruktionerna på skärmen och navigera till rätt tidszon i gränssnittet som visas på skärmen. Om du befinner dig i Sverige är det ”Europa/Stockholm” du ska välja.
Ladda ner konfigurationsfilerna från OVPN
För att ansluta till OVPN med din Raspberry Pi måste rätt konfigurationsfiler användas för VPN-tjänsten. Du laddar ner dem genom följande kommando:
sudo mkdir /etc/openvpn
cd /tmp && wget https://files.ovpn.com/raspbian/ovpn-se-tcp.zip && unzip ovpn-se-tcp.zip && mv config/* /etc/openvpn && rm -rf config && rm ovpn-se-tcp.zip
Fungerade ovanstående kommando utan felmeddelande? Hoppa ner till avsnittet om inloggningsuppgifter.
OBS: Om du får felmeddelandet ”permission denied”:
Märker du att nedladdningen av filerna inte startar och ”permission denied” visas på skärmen? Då måste du gå igenom varje steg manuellt istället.
cd /tmp
sudo mkdir /etc/openvpn
sudo wget https://files.ovpn.com/raspbian/ovpn-se-tcp.zip && unzip ovpn-se-tcp.zip && mv config/* /etc/openvpn && rm -rf config && rm ovpn-se-tcp.zip
sudo mv config/ovpn-ca.crt /etc/openvpn/ovpn-ca.crt
sudo mv config/ovpn.conf /etc/openvpn/ovpn.conf
sudo mv config/ovpn-tls.key /etc/openvpn/ovpn-tls.key
sudo rm ovpn-se-tcp.zip
Lägg in dina inloggningsuppgifter
Har du gått igenom allt ovan på korrekt sätt är det dags att fylla i inloggningsuppgifterna. Det gör du genom att lägga till ditt användarnamn och lösenord för OVPN på varsin rad i filen ”credentials”. Du kan skapa den med ”sudo nano etcopenvpn/credentials” och fylla i manuellt, eller ändra till rätt uppgifter i raderna här under och klistra in dem i Terminalen / Putty.
OBS! Har du inga inloggningsuppgifter?
Du måste ha ett konto hos OVPN för att kunna ansluta, du kan registrera ett konto på OVPN här.
sudo echo ”dittanvändarnamn” >> /etc/openvpn/credentials
sudo echo ”dittlösenord” >> /etc/openvpn/credentials
Klart? Dags att testa om OVPN fungerar korrekt.
Testa och verifiera anslutningen till OVPN
Skriv in följande kommando:
sudo openvpn --config /etc/openvpn/ovpn.conf --daemon
Vänta en liten stund och kör sedan följande rad:
curl https://www.ovpn.com/v1/api/client/ptr | python -m json.tool
Efter några sekunder bör det dyka upp något som liknar följande:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 101 0 101 0 0 255 0 --:--:-- --:--:-- --:--:-- 256
{
"ip": ”XXX.XXX.XXX.XX”,
"ptr": ”XXX-XXX-XXX-XX.pool.ovpn.com",
"status": true,
"useragent": "curl/7.52.1"
}
Där det står ”X” i exemplet ovan kommer det vara en rad med siffror. Dessa är ip-adressen som din Raspberry Pi visar utåt när du använder den som VPN-gateway längre fram i guiden. Notera delen ”pool.ovpn.com” som tydligt anger att enheten är ansluten till OVPN.
Första delen är avklarad — du är ansluten till OVPN
Om du har kommit så här långt har du nu en fungerande anslutning till OVPN. Den fungerar även om din Raspberry Pi startar om och väljer du att sluta följa guiden här så har du en fungerande VPN-anslutning att använda.
Grattis, första delen är avklarad och din Raspberry Pi är säkrad med OVPN.
Andra delen — ställ in din Raspberry Pi som VPN-gateway
Nu är det dags att göra om din Raspberry Pi till en VPN-gateway. Härifrån behöver du inte göra några manuella ändringar i de kommandon som följer. Bara kopiera och klistra in rad efter rad i Terminalen / Putty när du är inloggad på din Raspberry Pi.
Börja med att köra följande kommando:
sudo /bin/su -c "echo -e 'n#Enable IP Routingnnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"
Du kan nu skriva in sysctl -w net.ipv4.ip_forward=1 så ska du se följande på skärmen:
net.ipv4.ip_forward = 1
Ställ in brandväggen och NAT
Eftersom det sannolikt finns flera enheter i nätverket som vill använda internet med en publik ip-adress måste vi använda NAT (network address translation). Här passar vi även på att säkerheten med brandväggsinställningar.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Och några fler rader…
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P FORWARD DROP
sudo iptables -P INPUT DROP
sudo iptables -L
Sista steget är att säkerställa sparade inställningar även om din Raspberry Pi startas om. Det gör du genom följande två kommandon.
sudo apt-get install iptables-persistent
sudo systemctl enable netfilter-persistent
Och nu ska allt vara klart. Om inga felmeddelanden dök upp längs vägen och du använde alla kommandon direkt efter varandra enligt vår lista — då ska du ha en fungerande VPN-gateway som är ansluten till OVPN.
Starta om din Raspberry Pi:
sudo reboot
Avaktivera WiFi och Bluetooth
Eftersom din VPN-gateway inte ska användas med WiFi eller Bluetooth passar vi på att avaktivera deras moduler i din Raspberry Pi. Det gör vi genom att lägga till några små rader i filen raspi-blacklist.conf.
Kör följande kommando:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Och klistra in raderna här under:
#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart
Starta om din Raspberry Pi:
sudo reboot
Börja använda din nya VPN-gateway
Sista och roligaste steget är att faktiskt se om din VPN-gateway fungerar korrekt med din dator.
TIPS: Det är fördelaktigt om du ställer in en statisk ip-adress för din Raspberry Pi och dator i routern, då riskerar du inte att routern tilldelar andra ip-adresser i framtiden (hint: det ger dig huvudbry och extraarbete). Hur du gör beror på tillverkare och märke, så kolla instruktionerna som följde med din router eller modem.
Nu ska vi ställa in din dator så att den använder rätt gateway för internetanslutningen och därmed också OVPN:
För att göra det behöver du följande:
- Ip-adressen till din dator
- Ip-adressen till din Raspberry Pi
- Den delnätsmask/subnetmask som används av nätverket
- DNS-adresserna för OVPN
Här förutsätter vi att du ställde in routern så att din dator och Raspberry Pi använder samma ip-adress hela tiden.
Ändra i nätverksinställningarna på datorn så den hela tiden använder samma ip-adress som du tilldelat via routern, att din gateway är samma som ip-adressen till din Raspberry Pi och att de använder samma delnätsmask (med stor sannolikhet är den 255.255.255.0 eller 0xffffff00 som det ibland står).
Du ska även ändra DNS-adresserna till följande:
- 46.227.67.134
- 192.165.9.158
Så här kan det se ut i macOS när du gjort alla inställningar. Åter igen, du måste byta ip-adresserna och delnätsmasken så de motsvarar dina detaljer!
När alla uppgifterna är ändrade startar du om nätverksgränssnittet. Klart! Du ska nu kunna ansluta till internet och få en ip-adress via OVPN.
Gå till webbsajten Minip och klicka på knappen för att se mer information om din ip-adress. Under delen ”Värdnamn” ska du hitta din ip-adress följt av pool.ovpn.com. Du kan även logga in på OVPN.se så kontrollerar webbsajten automatiskt om du är skyddad och säker.
Läsvärda länkar / källor som berör vår guide:
- Byt DNS-servrar till OVPNs (ovpn.com)
- Installera OpenVPN på Raspbian (ovpn.com)
- Raspberry Pi VPN Gateway (instructables.com)
Men äntligen hittade jag vad jag säkt i så många dagar!
Dels Pi som router och med ovpn! Precis exakt vad jag ville göra med min Pi.
En VPN Router med OVPN. 🙂