Sommario:
- Passaggio 1: scelta del servizio VPN
- Passaggio 2: installa il Raspberry Pi
- Passaggio 3: installa OpenVPN
- Passaggio 4: configurazione del percorso
- Passaggio 5: installazione di firewall e NAT
- Passaggio 6: conclusione
Video: Gateway VPN Raspberry Pi: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Aggiornamento 2018-01-07:
- Aggiornate le cose mancanti e le modifiche necessarie per la versione corrente di Raspian.
- Creata anche una guida specifica per NordVPN.
Ci sono alcuni usi diversi per VPN. O vuoi proteggere la tua privacy e i tuoi dati privati da occhi indiscreti o devi rifornirti da un altro paese. L'approvvigionamento da un altro paese può essere molto utile per accedere a servizi non forniti nel tuo paese. Esistono numerosi servizi VPN oggi disponibili e la maggior parte di essi offre software di facile utilizzo per il tuo computer e app per il tuo tablet o telefono. Ma se hai altri dispositivi non supportati dal software vuoi passare alla VPN? Quindi crea un gateway che ti dia accesso a Internet tramite la VPN.
Se guardi la tua configurazione di rete di base hai un "gateway predefinito" che viene utilizzato per qualsiasi indirizzo IP non situato nella tua sottorete corrente (molto semplificato). Quindi, se imposti un gateway in grado di instradare il traffico Internet su una connessione VPN stabilita, qualsiasi dispositivo abilitato alla rete può sfruttare il tunnel VPN.
Il mio caso d'uso principale nel mio appartamento a San Francisco è un tunnel VPN per la mia nativa Svezia, così posso trasmettere in streaming i canali di riproduzione svedesi sui miei lettori multimediali e smart TV. Questo è un caso d'uso abbastanza comune per la maggior parte delle persone che necessitano di un tunnel VPN. Poiché i miei lettori multimediali e le mie smart TV non sono supportati dal software VPN, ne ho creato uno con un Raspberry Pi.
Puoi prenderne uno per meno di $ 40 su Amazon. Tuttavia, ti consiglio di acquistare anche una custodia e un alimentatore decente. Per questo istruibile hai bisogno di:
- Raspberry Pi 2 o 3
- Un caso di tuo gradimento
- Un alimentatore decente
- Un cavo di rete
Passaggio 1: scelta del servizio VPN
La cosa importante quando si seleziona un servizio VPN è che soddisfi i propri requisiti. Per questo caso d'uso avevo bisogno di un servizio VPN con un punto di uscita svedese, questa è la cosa più importante poiché ho bisogno dei servizi svedesi per essere convinto di essere in Svezia. Nel corso degli anni ho utilizzato diversi fornitori e di seguito sono riportate le cose che tengo in considerazione quando scelgo il fornitore VPN per il caso d'uso specifico:
Prova gratuita
Desidero un periodo di prova gratuito o una piccola quantità di dati di prova per avere un'idea del software o dell'app. Inoltre voglio testare le prestazioni e l'esperienza complessiva prima di pagare per questo. È anche bello controllare che la mia idea funzionerà prima di iniziare a pagare.
Privacy
Se l'implementazione è per problemi di privacy, è davvero importante ciò che afferma l'informativa sulla privacy. È anche importante da quale paese opera l'azienda e quali leggi proteggono la tua privacy. Gli utenti realmente interessati alla privacy dovrebbero guardare a un servizio che affermi che non vengono archiviati registri di traffico e consente pagamenti anonimi tramite Bitcoin, ad esempio.
Traffico consentito
Potrebbero esserci limitazioni sul tipo di traffico che ti sarà consentito eseguire. I fornitori più seri di solito bloccano il traffico peer-to-peer. Questo non solo per evitare problemi legali, ma per essere in grado di mantenere le prestazioni per tutti gli utenti. Tuttavia, ci sono molti buoni fornitori là fuori che consentono il peer-to-peer e forniscono comunque un servizio di alta qualità. Ma se questo non è il tuo obiettivo principale, ti consiglio di selezionare un servizio che non permetta il peer-to-peer.
Limite dati
Non utilizzare mai un servizio che mantiene un limite di dati sui propri utenti paganti. Questo si esaurirà nel momento peggiore possibile, esattamente come i dati sul tuo telefono appena prima della parte divertente in un video clip!
Paesi di uscita
A seconda del caso d'uso, questo ha un'importanza diversa. Per un caso d'uso come il mio, in cui devo finire in un paese specifico, ovviamente deve essere nell'elenco. Devo anche poter selezionare il paese in cui esco. Ci sono servizi in cui non puoi selezionare il paese di uscita, stai lontano da quelli. Puoi finire in un paese con cattive prestazioni o leggi sulla privacy. Anche se non hai bisogno di un paese specifico, dovresti comunque selezionare un servizio con alcuni paesi diversi da cui mostrare per poterne trovare uno con buone prestazioni.
Tipo di software e supporto
Questo è uno dei motivi principali per cui preferisco i servizi con un test gratuito. Ci sono così tanti fornitori con software scadente che sono bacati, insicuri o semplicemente non funzionano. Per un'implementazione Raspberry Pi ho bisogno di un provider che supporti OpenVPN.
La mia selezione
Per questa build sono andato con Tunnel Bear. Viene offerto un test gratuito fino a 500 GB in modo da poter verificare di poter effettivamente eseguire lo streaming prima di pagare qualsiasi cosa. Hanno sede in Canada che, dopo la Svezia, ha alcune delle leggi sulla privacy più severe al mondo. Nessun limite di dati sul servizio a pagamento e posso anche avere più dispositivi collegati contemporaneamente. Quindi anche la protezione per il mio telefono, tablet e computer durante il viaggio su Wi-Fi non sicuro è ordinata. Il nodo di uscita in Svezia è supportato, in realtà è fornito tramite Bahnhof, noto per la forte privacy in Svezia. Per i piani a pagamento offrono il supporto OpenVPN. Non lo fanno per il test gratuito, ma è stato sufficiente eseguirlo dal mio laptop per assicurarmi che i servizi di streaming funzionassero.
Passaggio 2: installa il Raspberry Pi
Per implementazioni come questa utilizzo il sistema operativo Raspbian Lite. Dal momento che non ho affatto bisogno della GUI. Puoi ottenere l'ultima versione qui.
Uso Win32DiskImager per caricare il file.img sulla scheda SD per il Raspberry Pi.
Una volta avviato il Raspberry Pi, guardo nell'elenco DHCP del mio router per ottenere l'indirizzo IP e quindi mi connetto su SSH con Putty. Il nome utente e la password standard sono pi/raspberry
Una volta connesso eseguo lo strumento raspi-config per modificare le impostazioni di base.
sudo raspi-config
Le cose più importanti di cui occuparsi in questa configurazione sono:
- Espandi il file system
- Cambia la password
Puoi anche cambiare il nome host del tuo Raspberry Pi, se lo desideri. Il mio DHCP ha contratti di locazione molto lunghi e posso anche prenotare un indirizzo specifico. Se non hai questa capacità, devi configurare il Raspberry Pi per utilizzare un indirizzo IP statico. Poiché altri dispositivi lo utilizzeranno come gateway predefinito, è importante che continui a utilizzare lo stesso indirizzo IP. Ecco un post che ho scritto sull'impostazione di un IP statico in Raspbian Jessie.
Quindi dobbiamo aggiornare tutto all'ultima versione:
sudo apt-get updateudo apt-get upgrade sudo apt-get dist-upgrade
Passaggio 3: installa OpenVPN
Ora dobbiamo installare OpenVPN sul Raspberry Pi.
sudo apt-get install openvpn
Quindi dobbiamo assicurarci che il servizio si avvii correttamente.
sudo systemctl abilita openvpn
Al termine dell'installazione, è necessario copiare i file di configurazione e i certificati di OpenVPN nella scatola. Questo ti verrà fornito dal tuo provider VPN. Nel mio caso, usando TunnelBear, ho trovato un post sul blog sul supporto Linux. In quella pagina c'è un collegamento al file zip contenente tutto ciò di cui abbiamo bisogno.
Il file contiene i file del certificato e un file di configurazione.opvn per ogni paese in cui puoi eseguire il tunneling. Hai bisogno di tutti i file del certificato e il file di configurazione.opvn per il paese di tua scelta, nel mio caso la Svezia. Decomprimi i file necessari e usa winscp per caricare i file sul tuo Raspberry Pi. Lo stesso nome utente/password utilizzato per SSH ti porterà a /home/pi, basta rilasciare i file lì.
Quindi torniamo al terminale SSH e spostiamo i file nella cartella OpenVPN. Il primo comando è solo per assicurarsi di essere nella cartella /home/pi.
cd /home/pi
sudo mv * /etc/openvpn/
Ora dobbiamo apportare alcune modifiche ai file. Per prima cosa dobbiamo rinominare il file di configurazione da.ovpn a.conf. Qualsiasi file che termina con.conf nella cartella /etc/openvpn verrà avviato automaticamente all'avvio del demone OpenVPN. Per prima cosa dobbiamo entrare in quella directory.
cd /etc/openvpn
Quindi cambiamo il nome del file di configurazione. Puoi chiamarlo come vuoi, purché termini con.conf. Preferisco usare nomi di file senza spazi, in questo caso vado con swe.conf.
sudo mv *.ovpn swe.conf
Quindi abbiamo bisogno di un file di autenticazione contenente il nome utente e la password utilizzati per il tunnel VPN. Apri un editor di testo e scrivi il nome utente e la password su righe separate. Chiameremo questo file auth.txt.
sudo nano auth.txt
Il contenuto dovrebbe essere come questo esempio:
nome utente
parola d'ordine
Quindi usa CTRL + O per scrivere sul file e CTRL + X per uscire dall'editor di testo nano. Dobbiamo anche proteggere il file auth.txt contenente le nostre credenziali.
sudo chmod 600 /etc/openvpn/auth.txt
Quindi dobbiamo modificare il file di configurazione per assicurarci che tutti i percorsi siano corretti e aggiungere un riferimento al file auth.txt appena creato.
sudo nano swe.conf
Le righe da modificare sono quelle che fanno riferimento ad altri file, devono essere percorsi assoluti. In questo esempio questo è quello che stiamo cercando:
ca CACertificate.crt
cert UserCertificate.crt key PrivateKey.key
Li cambiamo in percorsi assoluti come questo:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt chiave /etc/openvpn/PrivateKey.key
Quindi alla fine del file aggiungiamo un riferimento al file auth.txt, in questo modo:
auth-user-pass /etc/openvpn/auth.txt
Ancora una volta usiamo CTRL + O per salvare il file e poi CTRL + X per uscire da nano. Ora possiamo riavviare il demone OpenVPN e vedere che il tunnel funziona.
sudo service openvpn riavvio
Se esegui il comando ifconfig dovresti vedere un adattatore tun0 oltre agli adattatori eth0 e lo se il tunnel è attivo. Puoi anche eseguire il comando questo comando per controllare il tuo IP pubblico:
wget https://ipinfo.io/ip -qO -
Se hai problemi con il tunnel, prova prima a riavviare il tuo Raspberry Pi e poi ricontrolla la configurazione per gli errori.
Passaggio 4: configurazione del percorso
Ora dobbiamo abilitare l'inoltro IP. Consente al traffico di rete di fluire in entrata da una delle interfacce di rete e in uscita dall'altra. Fondamentalmente creando un router.
sudo /bin/su -c "echo -e '\n#Abilita routing IP\nnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"
Se esegui sudo sysctl -p dovresti vedere questo stampato sullo schermo:
net.ipv4.ip_forward = 1
Ora il routing è abilitato e il traffico può passare attraverso il Raspberry Pi, attraverso il tunnel e su Internet.
Passaggio 5: installazione di firewall e NAT
Poiché avremo diversi client all'interno che accedono a Internet tramite un indirizzo IP pubblico, dobbiamo utilizzare NAT. È l'acronimo di traduzione degli indirizzi di rete e terrà traccia di quale client ha richiesto quale traffico quando le informazioni ritornano attraverso il tunnel. Abbiamo anche bisogno di impostare una certa sicurezza attorno al Raspberry Pi stesso e al tunnel.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Abilitazione NAT.
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
Consentire a qualsiasi traffico proveniente da eth0 (interno) di superare tun0 (tunnel).
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED, ESTABLISHED -j ACCEPT
Consentire al traffico da tun0 (tunnel) di tornare su eth0 (interno). Poiché specifichiamo lo stato RELATED, ESTABLISHED sarà limitato alla connessione avviata dalla rete interna. Blocco del traffico esterno che tenta di avviare una nuova connessione.
sudo iptables -A INPUT -i lo -j ACCEPT
Consentire il traffico di loopback del Raspberry Pi.
sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT
Consentire ai computer della rete locale di eseguire il ping del Raspberry Pi.
sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Consentire SSH dalla rete interna.
sudo iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
Consentire a tutto il traffico avviato dal Raspberry Pi di tornare. Questo è lo stesso preside di stato di prima.
sudo iptables -P FORWARD DROP
sudo iptables -P INPUT DROP sudo iptables -L
Se il traffico non corrisponde a nessuna delle regole specificate, verrà eliminato.
sudo apt-get install iptables-persistent
sudo systemctl abilita netfilter-persistent
La prima riga installa una pace di codice che rende persistenti le regole iptable che abbiamo appena creato tra i riavvii. Il secondo salva le regole dopo averle modificate. Questa volta è sufficiente eseguire il primo. Se cambi le regole, esegui la seconda per salvare. Le regole di Iptable entrano in vigore non appena le aggiungi se sbagli e perdi l'accesso, basta riavviare e quelle non ancora salvate verranno ripristinate.
Passaggio 6: conclusione
Ora puoi utilizzare questo tunnel da qualsiasi dispositivo o computer sulla stessa rete. Basta cambiare il gateway predefinito con qualsiasi indirizzo IP del tuo Raspberry Pi. Nel mio caso entrambi i miei media center Kodi (una camera da letto e un soggiorno) utilizzano questa connessione in modo da poter trasmettere in streaming i miei canali di gioco svedesi. Ovviamente ci sono anche altre cose per cui puoi usarlo.
Tieni presente che, a seconda del fornitore VPN che hai scelto e della velocità della tua connessione Internet, potrebbero esserci prestazioni lente.
Se avete domande o volete chiarire qualcosa fatemelo sapere nei commenti! Per ulteriori post tecnici, visita il mio blogg Hackviking!
Consigliato:
Come trasformare il tuo Raspberry Pi in un gateway di accesso remoto: 6 passaggi
Come trasformare il tuo Raspberry Pi in un gateway di accesso remoto: Ehi ragazzi! Alla luce dei recenti avvenimenti, il nostro team di remote.it ha lavorato duramente per raccogliere idee per rendere il lavoro a distanza indolore e accessibile. Abbiamo creato l'immagine della scheda SD remote.itPi, che è una scheda SD che puoi inserire in un nuovo
Crea VPN sul tuo dispositivo Raspberry Pi: 6 passaggi (con immagini)
Crea VPN sul tuo dispositivo Raspberry Pi: VPN o rete privata virtuale possono aiutare i normali utenti di Internet a rimanere un po' più privati durante la navigazione in rete. Può anche aiutare gli sviluppatori di software professionisti mentre lavorano ai loro progetti. E la connessione VPN Raspberry Pi, che si basa
Guida all'installazione di VPN Premium per DOWNLOAD AD ALTA VELOCITÀ e streaming OK di REO: 10 passaggi
Guida all'installazione di VPN Premium per DOWNLOAD AD ALTA VELOCITÀ e streaming OK di REO: grazie, Asuswrt-MerlinHi, vengo dalla Thailandia. Scriverò una guida dettagliata alla configurazione della VPN per un download ad alta velocità di circa 100 Mb/s in media e forse lo streaming più fluido per Netflix, Crunchyroll, Hulu, ecc. Dalla Thailandia, la destinazione
Proteggi tutto il Wifi con una VPN - Access Point!: 5 passaggi
Proteggi tutto il Wi-Fi con una VPN - Access Point!: Poiché sempre più delle nostre vite vengono inviate alla grande nuvola nel cielo che è Internet, diventa sempre più difficile rimanere al sicuro e privato nelle tue avventure personali su Internet. Sia che tu stia accedendo a informazioni sensibili che desideri mantenere private
Gateway Raspberry Pi LoRaWAN: 3 passaggi
Gateway LoRaWAN Raspberry Pi: questo progetto è un gateway LoRaWAN Raspberry PI iC880a-spi. È stato messo insieme utilizzando vari altri tutorial online e incorpora il meglio e ciò che funziona attualmente da quei tutorial e sono i riferimenti necessari per tutto il tempo. Il cancello