Principale Mac Trasforma un Raspberry Pi in una VPN per accedere alla tua rete da qualsiasi luogo

Trasforma un Raspberry Pi in una VPN per accedere alla tua rete da qualsiasi luogo



Perché usare una VPN per accedere alla tua casa?

Ci sono molti motivi per cui vorresti accedere alla tua rete domestica da remoto e il modo migliore per farlo è con un server VPN. Alcuni router in realtà ti consentono di configurare un server VPN direttamente all'interno del router, ma in molti casi dovrai configurarne uno tu stesso.

Un Raspberry Pi è un ottimo modo per farlo. Non richiedono molta energia per funzionare e hanno energia sufficiente per eseguire un server VPN. Puoi installarne uno accanto al tuo router e praticamente dimenticartene.

Quando hai accesso alla tua rete domestica da remoto, puoi accedere ai tuoi file da qualsiasi luogo. Puoi eseguire i tuoi computer di casa in remoto. Puoi persino utilizzare la connessione VPN di casa tua dalla strada. Una configurazione come questa consente al tuo telefono, tablet o laptop di agire proprio come se fosse a casa da qualsiasi luogo.

Imposta il Pi

Prima di poter iniziare a configurare la VPN, dovrai configurare il tuo Raspberry Pi. È meglio configurare il Pi con una custodia e una scheda di memoria di dimensioni decenti, 16 GB dovrebbero essere più che sufficienti. Se possibile, collega il tuo Pi al router con un cavo Ethernet. Ridurrà al minimo eventuali ritardi di rete.

Installa Raspbian

Il miglior sistema operativo da utilizzare sul tuo Pi è Raspbian. È la scelta predefinita proposta dalla fondazione Raspberry Pi ed è basata su Debian, una delle versioni Linux più sicure e stabili disponibili.

Vai al Pagina di download di Rasbian e prendi l'ultima versione. Puoi usare la versione Lite qui, perché in realtà non hai bisogno di un desktop grafico.

Durante il download, scarica l'ultima versione di incisore per il tuo sistema operativo Al termine del download, estrai l'immagine Raspbian. Quindi, apri Etcher. Seleziona l'immagine Raspbian da dove l'hai estratta. Seleziona la tua scheda SD (inseriscila prima). Infine, scrivi l'immagine sulla carta.

come collegare un pdf in diapositive di google

Lascia la scheda SD nel tuo computer quando ha finito. Apri un file manager e cerca la scheda. Dovresti vedere un paio di partizioni diverse. Cerca la partizione di avvio. È quello con un file kernel.img al suo interno. Crea un file di testo vuoto nella partizione di avvio e chiamalo ssh senza estensione di file.

Puoi finalmente connettere il tuo Pi. Assicurati di collegarlo per ultimo. Non avrai bisogno di schermo, tastiera o mouse. Accederai in remoto al Raspberry Pi sulla tua rete.

Dai al Pi qualche minuto per configurarsi. Quindi, apri un browser web e vai alla schermata di gestione del tuo router. Trova il Raspberry Pi e annota il suo indirizzo IP.

Che tu sia su Windows, Linux o Mac, apri OpenSSH. Connettiti al Raspberry Pi con SSH.

$ ssh [email protected] 

Ovviamente, usa l'effettivo indirizzo IP del Pi. Il nome utente èsempre pi, e la password èlampone.

Configura OpenVPN

OpenVPN non è esattamente semplice da configurare come server. La buona notizia è che devi farlo solo una volta. Quindi, prima di approfondire, assicurati che Raspbian sia completamente aggiornato.

$ sudo apt update $ sudo apt upgrade

Al termine dell'aggiornamento, puoi installare OpenVPN e l'utilità di certificazione di cui hai bisogno.

$ sudo apt install openvpn easy-rsa

Autorità di certificazione

Per autenticare i dispositivi quando tentano di connettersi al server, è necessario configurare un'autorità di certificazione per creare chiavi di firma. Queste chiavi garantiranno che solo i tuoi dispositivi saranno in grado di connettersi alla rete domestica.

Innanzitutto, crea una directory per i tuoi certificati. Spostati in quella directory.

$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs

Cerca i file di configurazione di OpenSSL. Quindi, collega l'ultimo conopensl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Nella stessa cartella dei certificati c'è un file chiamato vars. Apri quel file con il tuo editor di testo. Nano è l'impostazione predefinita, ma sentiti libero di installare Vim, se ti senti più a tuo agio.

Modifica il file Vars

Trovare laKEY_SIZEvariabile prima. È impostato su2048per impostazione predefinita. Cambialo in4096.

export KEY_SIZE=4096

Il blocco principale che devi gestire stabilisce le informazioni sulla tua autorità di certificazione. Aiuta se queste informazioni sono accurate, ma tutto ciò che puoi ricordare va bene.

export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'

Quando hai tutto, salva ed esci.

Quel pacchetto Easy-RSA che hai installato prima contiene molti script che aiutano a configurare tutto ciò di cui hai bisogno. Hai solo bisogno di eseguirli. Inizia aggiungendo il file vars come sorgente. Questo caricherà tutte le variabili che hai appena impostato.

$ sudo source ./vars

Quindi, pulisci le chiavi. Non ne hai, quindi non preoccuparti del messaggio che ti dice che le tue chiavi verranno eliminate.

$ sudo ./clean-install

Crea autorità di certificazione

Infine, crea la tua autorità di certificazione. Hai già impostato le impostazioni predefinite, quindi puoi semplicemente accettare le impostazioni predefinite che presenta. Ricorda di impostare una password complessa e di rispondere sì alle ultime due domande, dopo la password.

$ sudo ./build-ca

Crea alcune chiavi

Costruisci la chiave del server

Hai affrontato tutti quei problemi per impostare un'autorità di certificazione in modo da poter firmare le chiavi. Ora è il momento di farne un po'. Inizia costruendo la chiave per il tuo server.

$ sudo ./build-key-server server

Costruisci Diffie-Hellman

Quindi, costruisci il PEM Diffie-Hellman. È ciò che OpenVPN utilizza per proteggere le connessioni del tuo client al server.

$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem

L'ultima chiave di cui hai bisogno da ora è chiamata chiave HMAC. OpenVPN utilizza questa chiave per firmare ogni singolo pacchetto di informazioni scambiate tra il client e il server. Aiuta a prevenire alcuni tipi di attacchi alla connessione.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Configurazione del server

Hai le chiavi. Il prossimo passo nella configurazione di OpenVPN è la configurazione del server stesso. Per fortuna, non c'è tutto ciò che devi fare qui. Debian fornisce una configurazione di base che puoi usare per iniziare. Quindi, inizia ottenendo quel file di configurazione.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Usa di nuovo il tuo editor di testo per aprire/etc/openvpn/server.conf. Le prime cose che devi trovare sono lequella,certo, echiaveFile. Devi impostarli in modo che corrispondano alle posizioni effettive dei file che hai creato, che sono tutti in/etc/openvpn/certs/keys.

Chiavi di configurazione del server OpenVPN

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret

Trovare lacioèimpostazione e modificarla in modo che corrisponda a Diffie-Hellman.pemche hai creato.

dh dh4096.pem

Imposta anche il percorso per la tua chiave HMAC.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Trovare lacifrae assicurati che corrisponda all'esempio seguente.

cipher AES-256-CBC

Le prossime due opzioni ci sono, ma sono commentate con a;. Rimuovere i punti e virgola davanti a ciascuna opzione per abilitarli.

push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'

Cerca ilutenteegruppoopzioni. Decommentali e cambia ilutenteaprire vpn.

user openvpn group nogroup

Infine, queste ultime due righe non sono nella configurazione predefinita. Dovrai aggiungerli alla fine del file.

Autenticazione configurazione server OpenVPN

Imposta il digest di autenticazione per specificare una crittografia più forte per l'autenticazione dell'utente.

# Authentication Digest auth SHA512

Quindi, limita i cipers che OpenVPN può utilizzare solo a quelli più potenti. Questo aiuta a limitare possibili attacchi a cifrari deboli.

# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Questo è tutto per la configurazione. Salva il file ed esci.

Avvia il server

Prima di poter avviare il server, devi farloopenvpnutente che hai specificato.

$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

È un utente speciale solo per l'esecuzione di OpenVPN e non farà nient'altro.

Ora avvia il server.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected] 

Controlla che siano entrambi in esecuzione

$ sudo systemctl status openvpn*.service

Se tutto sembra a posto, abilitali all'avvio.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected] 

Configurazione del cliente

Il tuo server è ora configurato e funzionante. Successivamente, è necessario impostare la configurazione del client. Questa è la configurazione che utilizzerai per connettere i tuoi dispositivi al tuo server. Torna alcertocartella e prepararsi a creare le chiavi del client. Puoi scegliere di creare chiavi separate per ogni client o una chiave per tutti i client. Per l'uso domestico, una chiave dovrebbe andare bene.

$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client

Il processo è quasi identico a quello del server, quindi segui la stessa procedura.

Configurazione del cliente

La configurazione per i client è molto simile a quella per il server. Ancora una volta, hai un modello predefinito su cui basare la tua configurazione. Devi solo modificarlo in modo che corrisponda al server.

Cambia inclientedirectory. Quindi, decomprimere la configurazione di esempio.

$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Apri il filecliente.ovpnfile con il tuo editor di testo. Quindi, trova ila distanzaopzione. Supponendo che tu non stia già utilizzando una VPN, cerca su Google Qual è il mio IP. Prendi l'indirizzo visualizzato e imposta il seta distanzaindirizzo IP ad esso. Lascia il numero di porta.

remote 107.150.28.83 1194 #That IP ironically is a VPN

Chiavi di configurazione del client OpenVPN

Modifica i certificati in modo che riflettano quelli che hai creato, proprio come hai fatto con il server.

ca ca.crt cert client.crt key client.key

Trova le opzioni utente e decommentale. Va bene gestire i client comenessuno.

user nobody group nogroup

Rimuovi il commentotls-authopzione per HMAC.

tls-auth ta.key 1

Cifrature client OpenVPN

Quindi, cerca ilcifraopzione e assicurati che corrisponda al server.

cipher AES-256-CBC

Quindi, aggiungi semplicemente il digest di autenticazione e le restrizioni di crittografia nella parte inferiore del file.

# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Quando tutto sembra a posto, salva il file ed esci. Usocatrameper impacchettare la configurazione e i certificati, in modo da poterli inviare al client.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C /etc/openvpn/certs/keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Trasferisci quel pacchetto al cliente come preferisci. SFTP, FTP e un'unità USB sono tutte ottime opzioni.

Port forwarding

Port forwarding

Affinché tutto ciò funzioni, è necessario configurare il router per inoltrare il traffico VPN in entrata al Pi. Se stai già utilizzando una VPN, devi assicurarti di non connetterti sulla stessa porta. Se lo sei, cambia la porta nelle configurazioni client e server.

Connettiti all'interfaccia web del tuo router digitando il suo indirizzo IP sul tuo browser.

Ogni router è diverso. Tuttavia, tutti dovrebbero avere una qualche forma di questa funzionalità. Trovalo sul tuo router.

La configurazione è fondamentalmente la stessa su ogni router. Inserisci le porte di inizio e fine. Dovrebbero essere uguali tra loro e quello che hai impostato nelle tue configurazioni. Quindi, per l'indirizzo IP, impostalo sull'IP del tuo Raspberry Pi. Salva le tue modifiche.

Connettiti al cliente

Ogni cliente è diverso, quindi non esiste una soluzione universale. Se sei su Windows, avrai bisogno di Client Windows OpenVPN .

Su Android, puoi aprire il tuo archivio tar e trasferire le chiavi sul tuo telefono. Quindi, installa l'app OpenVPN. Apri l'app e inserisci le informazioni dal file di configurazione. Quindi seleziona le tue chiavi.

Su Linux, devi installare OpenVPN come hai fatto per il server.

$ sudo apt install openvpn

Quindi, cambia in/etc/openvpne decomprimi il tarball che hai inviato.

$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz

Rinominare il file del cliente.

$ sudo mv client.ovpn client.conf

Non avviare ancora il client. Fallirà. Devi prima abilitare il port forwarding sul tuo router.

Pensieri conclusivi

Ora dovresti avere una configurazione funzionante. Il tuo client si collegherà direttamente tramite il tuo router al Pi. Da lì, puoi condividere e connetterti sulla tua rete virtuale, purché tutti i dispositivi siano connessi alla VPN. Non ci sono limiti, quindi puoi sempre connettere tutti i tuoi computer alla Pi VPN.

Articoli Interessanti

Scelta Del Redattore

Trova le versioni di .NET Framework installate
Trova le versioni di .NET Framework installate
Di seguito sono disponibili diversi modi per individuare le versioni di .NET Framework installate. Potresti avere diverse versioni di .NET Framework installate contemporaneamente.
Come disinstallare Windows 10 versione 1803
Come disinstallare Windows 10 versione 1803
Se hai installato Windows 10 Spring Creators Update ma non sei soddisfatto di questo aggiornamento, ecco come disinstallarlo. Segui questo tutorial.
File M3U (cos'è e come aprirne uno)
File M3U (cos'è e come aprirne uno)
Un file M3U è un file di playlist audio, ma non è un file audio vero e proprio. I lettori multimediali come VLC, Windows Media Player e iTunes sono opzioni per aprire file M3U.
Archivi categoria: Scarica le skin di Winamp
Archivi categoria: Scarica le skin di Winamp
Microsoft ha rilasciato OpenCL e OpenGL Compatibility Pack per Windows 10
Microsoft ha rilasciato OpenCL e OpenGL Compatibility Pack per Windows 10
Microsoft ha rilasciato un nuovo pacchetto di espansione per Windows 10 che aggiunge un nuovo livello di compatibilità a DirectX. Consente alle app OpenCL e OpenGL di funzionare su un PC Windows 10 che non dispone di driver hardware OpenCL e OpenGL installati per impostazione predefinita. Se è installato un driver DirectX 12, le app supportate verranno eseguite con l'hardware
Elenco completo delle tracce di Rock Band 4
Elenco completo delle tracce di Rock Band 4
Rockband 4 è stata la prima nuova uscita della serie in oltre cinque anni. Abbiamo l'elenco completo dei brani del gioco.
Recensione di iSunshare Windows Password Genius - Reimposta la password di Windows dimenticata
Recensione di iSunshare Windows Password Genius - Reimposta la password di Windows dimenticata
“La password non è corretta. Riprova'. Quando ricevi una notizia così negativa nell'interfaccia di accesso di Windows, ti preoccuperai di preoccuparti di quale sia la password di accesso di Windows e di come accedere al computer senza conoscere la password precedente. Non ti preoccupare; otterrai un modo intelligente per sbloccare il computer Windows