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

Come aggiungere informazioni sulla posizione a Google Foto Google
Come aggiungere informazioni sulla posizione a Google Foto Google
Se vuoi beneficiare di tutte le utili funzioni che l'app Google Foto ha da offrire, devi sapere come aggiungere le informazioni sulla posizione alle tue foto. Fortunatamente, questo è un processo semplice. In questo articolo, noi'
Come recuperare le email cancellate in Outlook
Come recuperare le email cancellate in Outlook
Hai eliminato accidentalmente un'e-mail importante dal tuo account Outlook? Forse stavi ripulendo la tua casella di posta da messaggi indesiderati e stupidi spam, ma hai accidentalmente rimosso qualcosa che volevi conservare. O forse hai premuto il pulsante 'Elimina' mentre
Come accendere la luce della tastiera (Windows o Mac)
Come accendere la luce della tastiera (Windows o Mac)
Il tuo laptop potrebbe avere luci integrate dietro i tasti. Per accendere la luce della tastiera sul tuo laptop, dovrai trovare la giusta combinazione di tasti.
Come convertire i fogli di calcolo di Fogli Google in XML
Come convertire i fogli di calcolo di Fogli Google in XML
Tutti sanno che Excel è un potente foglio di calcolo e che Fogli Google è l'aspirante Excel online basato su cloud, ma sai cos'è XML? XML sta per Extensible Markup Language ed è un formato di file che è
Tutti i modi per aprire PowerShell in Windows 10
Tutti i modi per aprire PowerShell in Windows 10
Oggi vorrei condividere con voi tutti i modi per eseguire PowerShell in Windows 10.
Skin iTunes [SV] da AIMP3
Skin iTunes [SV] da AIMP3
Qui puoi scaricare iTunes [SV] sking per AIMP3 Tipo di skin: Questa skin può essere applicata solo ad AIMP3 Estensione: .acs3 Dimensioni: 793711 byte Puoi scaricare AIMP3 dal suo sito ufficiale. Nota: Winaero non è l'autore di questa skin, tutti i crediti vanno all'autore della skin originale (vedi le informazioni sulla skin in
Skype ha iniziato a nascondere l'indirizzo IP dell'utente per proteggere gli utenti
Skype ha iniziato a nascondere l'indirizzo IP dell'utente per proteggere gli utenti
Microsoft ha finalmente risolto un problema molto vecchio con Skype. Si è verificata una violazione della privacy in Skype che potrebbe consentire a un utente malintenzionato di ottenere l'indirizzo IP degli utenti Skype.