Innehållsförteckning:

Skydda all wifi med ett VPN - åtkomstpunkt !: 5 steg
Skydda all wifi med ett VPN - åtkomstpunkt !: 5 steg

Video: Skydda all wifi med ett VPN - åtkomstpunkt !: 5 steg

Video: Skydda all wifi med ett VPN - åtkomstpunkt !: 5 steg
Video: Vad är MAC-adress, typer av IP-adresser, DHCP, IP och MAC-spoofing? #spoofing #cybersäkerhet 2024, November
Anonim
Skydda all wifi med ett VPN - åtkomstpunkt!
Skydda all wifi med ett VPN - åtkomstpunkt!

När allt fler av våra liv skickas till det stora molnet på himlen som är internet, blir det svårare att vara säker och privat i dina personliga internetäventyr. Oavsett om du använder känslig information som du vill behålla privat, försöker kringgå gränserna för var eller vad du kan bläddra till i ditt nätverk, eller om du bara vill ha en säkrare surfupplevelse, det vanligaste rådet jag hör för att vara säker på internet är att använda ett virtuellt privat nätverk (eller VPN för kort).

VPN erbjuder två bra tjänster i ett paket, genom att de krypterar alla paket med information som skickas genom dem, och de gör fjärrtjänster som finns i samma nätverk som VPN lokalt för den maskin du använder för att ansluta. Om min VPN -server är i Tyskland och jag ansluter till min VPN från en bärbar dator i Australien kommer min bärbara dator nu att ha en IP -adress från Tyskland!

En viktig stickpunkt med de mer populära VPN -tjänsterna är dock att många typer av enheter befinner sig i situationer där de antingen inte kan konfigureras för att använda en VPN -klient, eller inte har en VPN -klient tillgänglig för användning. Så vi vill att våra enheter ska vara anslutna till vårt VPN, men för dessa andra maskiner som inte kan ansluta till en enkel VPN -klient, vill vi att de ska vara anslutna till vår VPN utan att ens veta att de är anslutna! Ange en VPN -åtkomstpunkt!

Steg 1: Material

Material
Material

Material för detta projekt är låga, men alla artiklar krävs.

Annat än din hemrouter (som jag antar att du borde ha) behöver du

- 1 Raspberry Pi (helst Raspberry Pi 3 eller bättre, men så länge den kan stödja en Ethernet -anslutning borde det vara bra!)

- 1 Ethernet -kabel

- 1 wifi -dongel (om du inte använder en Raspberry Pi 3, i så fall kan du använda den inbyggda wifi

- 1 5V 2amp strömförsörjning för Raspberry Pi

Steg 2: Wifi Access Point Setup - Del 1 - Statisk IP -adress för Wifi

Wifi Access Point Setup - Del 1 - Statisk IP -adress för Wifi
Wifi Access Point Setup - Del 1 - Statisk IP -adress för Wifi

Innan vi konfigurerar VPN -anslutningen för vår Raspberry Pi -åtkomstpunkt måste vi konfigurera Pi: en som en åtkomstpunkt. För att göra detta använder vi paketet hostapd och dnsmasq för Raspberry Pi. Hostapd är en användarutrymme för att ställa in trådlösa åtkomstpunkter och autentiseringsservrar, medan dnsmasq tillhandahåller nätverksinfrastruktur (DNS, DHCP, nätverksstart, etc.) för små nätverk och små nätverksroutrar.

Så innan du börjar, se till att du har en ren bild av Raspbian OS som körs på Pi, med de senaste uppdateringarna tillämpade. Du vill också se till att din Raspberry Pi är ansluten till din router via hård Ethernet -anslutning, INTE wifi! Så småningom accepterar vi anslutningsförfrågningar från andra enheter via vår wifi -modul, så att du inte vill vara ansluten till din router via samma modul. Om du använder en Raspberry Pi Zero eller ett äldre tillägg (som inte har inbyggt wifi) kan du fortfarande använda den Raspberry Pi, du behöver bara en USB wifi -dongel.

Efter att ha anslutit till din Raspberry Pi (via SSH eller med en bildskärm uppe) kontrollera att den är uppdaterad

sudo apt-get uppdatering

sudo apt-get uppgradering

Därefter vill du ladda ner och installera hostapd och dnsmasq

sudo apt-get install hostapd dnsmasq

När paketen är installerade startas båda programmen automatiskt, men vi vill göra ändringar i deras konfigurationer innan vi kör dem. Så vi kommer att kontakta systemkontrollen för att stoppa de tjänster som är knutna till dessa program

sudo systemctl stoppa hostapd

sudo systemctl stoppa dnsmasq

När tjänsterna nu är stoppade vill vi tilldela oss en statisk IP -adress med hjälp av konfigurationsfilen dhcpcd som finns på /etc/dhcpcd.conf

Innan vi gör det vill vi dock se till att vi refererar till rätt gränssnitt när vi tilldelar den statiska IP -adressen. Om du använder en Raspberry Pi 3b eller Raspberry Pi Zero W bör den listas som wlan0. Om du använder en wifi -dongel tycker jag normalt att det är lite lättare att ansluta wifi -dongeln till routern, ta en ny IP -adress och kontrollera sedan din anslutning för att hitta ditt gränssnitt. Du kan kontrollera ditt gränssnitt genom att köra följande kommando

ifconfig

Om du kontrollerar den översta bilden som bifogas detta steg kan du se (minus de redigerade IP -adresserna) gränssnitten som tilldelats min Raspberry Pi. I mitt fall använder jag wlan0, men det beror på din inställning. Som jag nämnde tidigare, om du använder en wifi -dongel, anslut till ditt nätverk, kör ifconfig -kommandot, och vilket gränssnitt som kommer upp som har en giltig IP -adress och inte är "eth0" eller "lo" kommer att vara det gränssnitt du vill ha att använda.

Nu när jag vet vilket gränssnitt som är för min wifi -adapter kan jag tilldela den en statisk IP -adress i dhcpcd -konfigurationsfilen! Ta fram konfigurationen i din favoritredigerare (jag använder nano).

sudo nano /etc/dhcpcd.conf

Längst ner i konfigurationen vill vi lägga till följande rader, men ersätta "wlan0" med vad ditt gränssnitt är:

gränssnitt wlan0 statisk ip_address = 192.168.220.nohook wpa_supplicant

Vad det här kommandot gör är att upprätta en statisk ip på 192.168.220.1 och sedan berätta för wlan0 -gränssnittet att inte länka till wpa_supplicant -drivrutinen som vanligtvis används för detta gränssnitt för att ansluta till andra nätverk. Vi gör detta för att (så småningom) vi kan sända vår egen signal via wlan0 -gränssnittet, istället för att ansluta till ett nätverk via detta gränssnitt.

Om du använder nano för att göra dessa ändringar, spara ändringarna genom att trycka på ctrl+x och sedan Y och sedan ange för att spara filen och avsluta nano. (kom ihåg att vi kommer in och ut ur nano ganska mycket i denna handledning).

Slutligen, för att dessa ändringar ska träda i kraft måste du antingen starta om din Pi eller bara starta om dhcpcd -tjänsten för att ladda om konfigurationen och tillämpa dessa ändringar

sudo systemctl starta om dhcpcd

Vänta en stund och kör sedan ifconfig -kommandot igen för att kontrollera om dina ändringar har trätt i kraft. Jag erkänner, ibland har jag provat detta och min router har fortfarande ett giltigt leasingavtal på den IP -adress jag använde, så den behåller den gamla adressen. Om så är fallet, dubbelkolla allt i konfigurationen och starta om dhcpcd -tjänsten igen.

Vår wifi -adapter (borde) nu ha en statisk IP -adress!

Nästa upp, hostapd och dnsmasq konfiguration!

Steg 3: Wifi Access Point Setup - Del 2 - Hostapd -konfiguration

Wifi Access Point Setup - Del 2 - Hostapd -konfiguration
Wifi Access Point Setup - Del 2 - Hostapd -konfiguration

Med dhcpcd.conf ändringar ur vägen, dags att komma igång med hostapd! Börja med att skapa en ny hostapd.conf -fil i din textredigerare (igen i nano för mig!)

sudo nano /etc/hostapd/hostapd.conf

När du tar fram konfigurationsfilen kopierar du följande text och klistrar in den i konfigurationen.

gränssnitt = wlan0driver = nl80211

hw_mode = g kanal = 6 ieee80211n = 1 wmm_enabled = 0 macaddr_acl = 0 ignore_broadcast_ssid = 0

auth_algs = 1 wpa = 2 wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP

# Wifi-nätverksnamn och lösenord DU SKA ÄNDRA DETTA ssid = Pi-WifiFoLife # Nätverkslösenfrasen wpa_passphrase = Y0uSh0uldCh@ng3M3

När du har klistrat in det hittar du det sista avsnittet längst ner som har "ssid =" och "wpa_passphrase =". Detta är vad wifi -nätverket som vi sätter upp kommer att kallas och vad lösenordet är för att ansluta till det wifi -nätverk vi konfigurerar. SÅ VAR SÄKER ATT ÄNDRA DETTA MED NÅGOT annat! Du har blivit varnad.

Om du använder en wifi-dongel istället för inbyggd wifi måste du också ändra gränssnittsdelen högst upp i konfigurationen för att matcha gränssnittet för din wifi-dongel. Du kan också behöva byta drivrutin, beroende på modellen för wifi -dongeln du använder. För en (mestadels omfattande) lista över kompatibla wifi -donglar, deras motsvarande drivrutiner och supportsidor, tyckte jag att den här sidan var mycket användbar! Kontrollera också supportsidan för den produkt du använder om du fastnar. Kom ihåg att om du kunde ansluta till ditt nätverk tidigare i handledningen med din wifi -dongel, betyder det att det borde finnas en fungerande drivrutin för dongeln på din pi någonstans !!!

Nu när vi har vår nya konfigurationsfil måste vi se till att vi säger till hostapd -processerna att referera till den nya konfigurationsfilen! börja med följande:

sudo nano/etc/default/hostapd

Hitta raden i filen vi just öppnade som läser # DAEMON_CONF = "" och ändra den till DAEMON_CONF = "/etc/hostapd/hostapd.conf" (se till att du tar av # -tecknet i början för att avmarkera fält!)

Det finns ytterligare en konfigurationsfil för hostapd som vi behöver uppdatera. Kör följande kommando:

sudo nano /etc/init.d/hostapd

Denna förändring är nästan identisk med den föregående. Hitta avsnittet DAEMON_CONF = och ersätt det med DAEMON_CONF =/etc/hostapd/hostapd.conf

Spara sedan och lämna filen!

Hostapd är nu konfigurerat!

Steg 4: DNSMasq -konfiguration och vidarebefordran av IP

DNSMasq -konfiguration och vidarebefordran av IP
DNSMasq -konfiguration och vidarebefordran av IP

Med hostapd nu konfigurerad (men körs inte ännu) kan vi nu gå vidare till dnsmasq!

Innan vi hoppar in med redigering av konfigurationsfiler kan vi fortsätta och byta namn på en av de ursprungliga konfigurationsfilerna, eftersom vi inte kommer att använda något som finns i just denna konfigurationsfil.

Att göra ett snabbt mv -kommando med ett nytt filnamn borde göra susen

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old

Skapa sedan en ny konfigurationsfil!

sudo nano /etc/dnsmasq.conf

Utan att gå in på det här skulle jag bara kopiera följande och klistra in det i den nya filen

gränssnitt = wlan0 # Använd gränssnitt wlan0 (eller vilket gränssnitt som helst är ditt trådlösa) server = 1.1.1.1 # Cloudfare dhcp-range = 192.168.220.50, 192.168.220.150, 12h # IP-intervall och leasingtid

Den översta raden i denna konfiguration är för gränssnittet vi använder för att sända vår signal, mittlinjen är för vår Doman Name Service Provider, och sedan är den nedersta raden intervallet av IP -adresser som Pi kommer att tilldela användare som ansluter till Pi Wifi. Spara den här filen och avsluta sedan nano (eller vim, eller vad du än använder för filändringar).

Därefter måste vi ställa in systctl.conf config -filen för att vidarebefordra all trafik som kommer till det trådlösa gränssnittet för att dirigera genom ethernet -anslutningen

sudo nano /etc/sysctl.conf

I den här konfigurationsfilen behöver du bara kommentera raden som är #net.ipv4.ip_forward = 1 och spara/avsluta denna konfigurationsfil.

Nu när vi har konfigurerat vidarebefordran vill vi skapa en NAT (Network Address Translation) mellan det trådlösa gränssnittet (wlan0) och ethernet -gränssnittet (eth0). Detta hjälper till att vidarebefordra all trafik från wifi över till Ethernet (och så småningom VPN!) Anslutning.

Lägg till en ny regel till iptable för NAT -vidarebefordran

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Regeln är nu inställd, men iptable spolas varje gång Raspberry Pi startas om, så vi måste spara denna regel så att den kan (om) laddas varje gång vår Pi startas om.

sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"

Regeln är nu sparad, men vi måste uppdatera Pi: s lokala rc.local config -fil för att se till att den laddas varje gång!

Öppna filen rc.local i din favoritredigerare

sudo nano /etc/rc.local

och hitta avsnittet som säger exit 0

Rätt ovanför den raden (ta inte bort den!) Lägg till följande kommando som laddar om NAT -regeln som vi ställde in. Det ska se ut så här nu

iptables-restore </etc/iptables.ipv4.nat exit0

Spara och avsluta den här filen, och nu bör alla våra konfigurationer göras för åtkomstpunkten!

Allt vi behöver göra är att starta hostapd- och dnsmasq -tjänsterna och starta om vår Raspberry Pi!

sudo service hostapd start

sudo service dnsmasq start

Testa så att du kan se din nya AP. Om allt är rätt inställt bör du nu ha en wifi -åtkomstpunkt på din Raspberry Pi! Starta om pi nu

sudo starta om

Därefter konfigurerar du en OpenVPN -anslutning!

Steg 5: OpenVPN -konfiguration och VPN -tjänsteleverantörskonfiguration

OpenVPN -konfiguration och VPN -tjänsteleverantörskonfiguration
OpenVPN -konfiguration och VPN -tjänsteleverantörskonfiguration

Nu när vår Pi sänder ut wifi är det dags att installera openvpn! Vi börjar med att installera openvpn genom apt-get install

sudo apt -get install openvpn -y

Efter installationen av openvpn måste vi navigera till var vi ska lagra våra autentiseringsuppgifter och openvpn -konfigurationsfil.

cd /etc /openvpn

Det första vi ska göra här (inom /etc /openvpn) är att skapa en textfil som vi lagrar vårt användarnamn och lösenord för VPN -tjänsten som vi använder.

sudo nano auth.txt

Allt vi behöver är att lagra användarnamn och lösenord i den här filen, inget annat.

Användarnamn

Lösenord

Jag skulle tillägga att du vid denna tidpunkt borde ha en uppfattning om vem du vill använda som en VPN -tjänst för dina anslutningar. Det finns en bred debatt om vilken tjänst som är den bästa eller säkraste, så shoppa runt och kolla recensioner på dem också! För denna handledning använder jag Private Internet Access (PIA). De är ganska billiga och är kända för att vara mycket pålitliga! Du kan också konfigurera ditt VPN för att sluta i stort sett alla större regioner i världen! Kanada? Ryssland? Japan? Inget problem!

Om du använder privat internetåtkomst har de också en praktisk del av deras webbplats, där du kan sätta ihop den typ av openvpn -konfigurationsfil som du kan använda i den här installationen! Det finns andra typer av openvpn -konfigurationer du kan använda med andra leverantörer, men jag bestämde mig för att välja den här.

Vilken tjänsteleverantör du än väljer, behöver du en openvpn -anslutningsfil (ska sluta på.ovpn för filtypen) från tjänsteleverantören för att kunna ansluta. För enkelhetens skull bytte jag namn på min "connectionprofile.ovpn" innan jag laddade den på min Raspberry Pi. När du antingen laddar ner.ovpn -filen på Pi eller överför den till Pi, se till att filen finns i /etc /openvpn på din Pi.

Efter att ha flyttat den öppna vpn -filen till rätt mapp måste vi sedan ändra filtypen eftersom openvpn förväntar sig en konfigurationsfil som slutar på.conf istället för.ovpn. När jag gjorde detta ville jag fortfarande behålla den ursprungliga filen intakt, bara om något funky hände, så jag använde bara ett cp -kommando (eftersom du är i /etc /openvpn måste du använda sudo -behörigheter för att köra detta kommando)

sudo cp /etc/openvpn/connectionprofile.ovpn /etc/openvpn/connectionprofile.conf

Med konfigurationen av openvpn -profilen skapad måste vi göra en snabb förändring för att tillhandahålla våra referenser, så det är dags att bryta ut nano igen!

sudo nano /etc/openvpn/connectionprofile.conf

Du vill hitta raden auth-user-pass och ersätta den med auth-user-pass auth.txt

Detta berättar för openvpn att ta tag i autentiseringsfilen som vi använde tidigare för att autentisera den profil vi tillhandahållit.

Spara och avsluta profilkonfigurationsfilen!

Det borde vara allt för VPN -installationen, men vi vill testa att all vår konfiguration var korrekt konfigurerad innan VPN -tjänsten startades automatiskt. Kör följande kommando för att testa VPN -anslutningen

sudo openvpn --config "/etc/openvpn/connectionprofile.conf"

Du bör se en massa textrullning när Pi gör anslutningsförsök till VPN -tjänsteleverantören (förhoppningsvis inga felmeddelanden!) Men du vill lämna den tills du ser Initialiseringssekvensen slutförd i fönstret. Om du slutar se det betyder det att din Pi är ansluten till din VPN -tjänsteleverantör! Du kan fortsätta och döda processen genom att slå ctrl + c i terminalfönstret.

Nu när VPN fungerar, måste vi rensa bort de aktuella iptablesna. Vi kan slutföra det med följande tre kommandon

sudo iptables -Fsudo iptables -t nat -F sudo iptables -X

Eftersom vi spolade bort iptablesna måste vi dock återställa nat -regeln som vi hade skapat tidigare i den här självstudien genom att köra följande kommando (det här kommandot ska se bekant ut!)

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Nu kan vi spara den här konfigurationen över den tidigare konfigurationen som vi satte ihop i föregående steg. (detta kommando bör också se bekant ut!)

sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"

Nu när vi har konfigurerat NAT -reglerna måste vi ändra standardkonfigurationen för openvpn för att använda den profil vi konfigurerade. Vi gör detta genom att redigera konfigurationsfilen i/etc/default/openvpn

sudo nano/etc/default/openvpn

Hitta raden som säger #autostart = "all", avmarkera den här raden och ändra den till namnet på din openvpn -konfigurationsfil (minus.conf förstås!) Så i mitt fall ändrar jag raden till autostart = " anslutningsprofil"

och spara sedan och avsluta denna konfigurationsfil!

Det borde vara allt för VPN -inställningen! Starta bara om Pi och kontrollera att allt fungerar genom att ansluta till hotspot och kontrollera din IP -adress via en webbplats som whatismyip.com.

Med denna konfiguration finns det en möjlighet att din routers IP -adress kan läcka ut genom en DNS -läcka. Vi kan fixa detta genom att ändra DNS som vi refererar till i filen dhcpcd.conf för att peka på en extern DNS -tjänst, till exempel Cloudflare!

Öppna filen dhcpcd.conf i din favoritredigerare:

sudo nano /etc/dhcpcd.conf

Hitta raden i config #static domain_name_servers = 192.168.0.1, avmarkera raden och ändra den till följande: static domain_name_servers = 1.1.1.1 och spara/avsluta konfigurationsfilen. Starta om Pi igen och nu kan du dubbelkolla att routerns IP -adress inte läcker ut via ipleak.net.

En annan sak att vara medveten om är din routers IP -adress som eventuellt läcker ut via WebRTC. WebRTC är en plattform som används av alla moderna webbläsare för att bättre standardisera kommunikation inklusive snabbmeddelanden, videokonferenser och strömning av ljud och video. En biprodukt av denna plattform är att om den inte är markerad kan den läcka din routers IP-adress om du är ansluten till ett VPN. Det enklaste sättet att förhindra detta genom att använda webbläsartillägg eller plugins, till exempel webrtc-leak-prevent.

Med allt inställt på din pi nu, om du vill se till att all din internettrafik är krypterad, kan du ansluta till denna hotspot och all din trafik kommer att krypteras via VPN!

Hoppas du tyckte om min Instructable, gå nu och säkra all wifi !!

Rekommenderad: