Per què utilitzar una VPN per accedir a casa vostra?
Hi ha molts motius pels quals voleu accedir a la vostra xarxa domèstica de manera remota i la millor manera de fer-ho és amb un servidor VPN. Alguns routers us permeten configurar un servidor VPN directament dins del router, però, en molts casos, haureu de configurar-lo vosaltres mateixos.
Un Raspberry Pi és una bona manera d’aconseguir-ho. No requereixen molta energia per funcionar i tenen prou potència per executar un servidor VPN. Podeu configurar-ne un al costat del router i, bàsicament, oblidar-vos-en.
Quan tingueu accés a la vostra xarxa domèstica de manera remota, podreu accedir als vostres fitxers des de qualsevol lloc. Podeu executar els vostres equips domèstics de forma remota. Fins i tot podeu utilitzar la connexió VPN de casa vostra des de la carretera. Una configuració com aquesta permet que el telèfon, la tauleta o l'ordinador portàtil actuïn com si fos a casa des de qualsevol lloc.
Configureu el Pi
Abans de començar a configurar la VPN, haureu de configurar el vostre Raspberry Pi. El millor és configurar el Pi amb una funda i una targeta de memòria de mida decent, 16 GB haurien de ser més que suficients. Si és possible, connecteu el Pi al vostre encaminador amb un cable Ethernet. Minimitzarà els retards de la xarxa.
Instal·leu Raspbian
El millor sistema operatiu que podeu utilitzar al vostre Pi és Raspbian. És l’opció predeterminada de la fundació Raspberry Pi i es basa en Debian, una de les versions de Linux més segures i estables disponibles.
Aneu al Pàgina de descàrrega de Rasbian i agafeu la versió més recent. Podeu utilitzar la versió Lite aquí, perquè en realitat no necessiteu un escriptori gràfic.
Mentre es descarrega, obtingueu la versió més recent de Gravador per al vostre sistema operatiu. Un cop finalitzada la descàrrega, extreu la imatge de Raspbian. A continuació, obriu Etcher. Seleccioneu la imatge de Raspbian d’on l’heu extreta. Seleccioneu la vostra targeta SD (inseriu-la primer). Finalment, escriviu la imatge a la targeta.
com deixar un canal de veu discordant
Deixeu la targeta SD a l'ordinador quan hàgiu acabat. Obriu un gestor de fitxers i aneu a la targeta. Hauríeu de veure un parell de particions diferents. Cerqueu la partició d’arrencada. És el que conté un fitxer kernel.img. Creeu un fitxer de text buit a la partició d'arrencada i anomeneu-lo ssh sense cap extensió de fitxer.
Finalment, podeu connectar el vostre Pi. Assegureu-vos que el connecteu per última vegada. No necessiteu cap pantalla, teclat ni ratolí. Accedireu de forma remota al Raspberry Pi a la vostra xarxa.
Doneu uns minuts al Pi per configurar-se. A continuació, obriu un navegador web i aneu a la pantalla de gestió del router. Cerqueu el Raspberry Pi i observeu la seva adreça IP.
Tant si sou a Windows, Linux o Mac, obriu OpenSSH. Connecteu-vos al Raspberry Pi amb SSH.
$ ssh [email protected]
Viouslybviament, utilitzeu l'adreça IP real del Pi. El nom d’usuari éssempre Pi, i la contrasenya ésgerds.
Configureu OpenVPN
OpenVPN no és precisament senzill configurar-lo com a servidor. La bona notícia és que només cal fer-ho una vegada. Per tant, abans d’explorar, assegureu-vos que Raspbian estigui completament actualitzat.
$ sudo apt update $ sudo apt upgrade
Un cop finalitzada l’actualització, podeu instal·lar OpenVPN i la utilitat de certificat que necessiteu.
$ sudo apt install openvpn easy-rsa
Autoritat certificadora
Per tal d’autenticar els vostres dispositius quan intenten connectar-se al servidor, heu de configurar una autoritat de certificació per crear claus de signatura. Aquestes claus asseguraran que només els vostres dispositius es puguin connectar a la vostra xarxa domèstica.
En primer lloc, creeu un directori per als vostres certificats. Aneu a aquest directori.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Cerqueu fitxers de configuració d'OpenSSL. A continuació, enllaceu l’últim ambopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
En aquesta mateixa carpeta certs hi ha un fitxer anomenat vars. Obriu aquest fitxer amb l'editor de text. Nano és el valor predeterminat, però no dubteu a instal·lar Vim, si esteu més a gust.
Troba elKEY_SIZEvariable primer. Està fixat en2048per defecte. Canvieu-lo a4096.
export KEY_SIZE=4096
El bloc principal amb el qual heu de tractar estableix informació sobre la vostra autoritat certificadora. Us ajuda si aquesta informació és exacta, però tot el que pugueu recordar està bé.
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'
Quan ho tingueu tot, deseu i sortiu.
Aquest paquet Easy-RSA que heu instal·lat anteriorment conté molts scripts que us ajuden a configurar tot el que necessiteu. Només cal que els executeu. Comenceu afegint el fitxer vars com a font. Això carregarà totes les variables que acabeu de definir.
$ sudo source ./vars
A continuació, netegeu les claus. No en teniu cap, així que no us preocupeu perquè el missatge us indiqui que se suprimiran les vostres claus.
$ sudo ./clean-install
Finalment, creeu l'autoritat de certificació. Ja heu definit els valors predeterminats, de manera que només podeu acceptar els valors predeterminats que presenta. Recordeu establir una contrasenya segura i respondre que sí a les dues darreres preguntes, seguint la contrasenya.
$ sudo ./build-ca
Feu algunes claus
Heu passat tots aquests problemes per configurar una autoritat de certificació per poder signar claus. Ara, és hora de fer-ne algunes. Comenceu creant la clau per al vostre servidor.
$ sudo ./build-key-server server
A continuació, construïu el PEM de Diffie-Hellman. És el que utilitza OpenVPN per assegurar les connexions del vostre client amb el servidor.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
L'última clau que necessiteu a partir d'ara s'anomena clau HMAC. OpenVPN utilitza aquesta clau per signar cada paquet individual d'informació intercanviat entre el client i el servidor. Ajuda a prevenir certs tipus d’atacs a la connexió.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Configuració del servidor
Teniu les claus. La següent peça en la configuració d’OpenVPN és la configuració del servidor en si. Afortunadament, no hi ha tot el que cal fer aquí. Debian proporciona una configuració base que podeu utilitzar per començar. Per tant, comenceu per obtenir aquest fitxer de configuració.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Torneu a utilitzar l’editor de text per obrir-vos/etc/openvpn/server.conf. Les primeres coses que heu de trobar són lesaixò,cert, iclauFitxers. Els heu d’establir perquè coincideixin amb les ubicacions reals dels fitxers que heu creat, que es troben tots/ etc / openvpn / certs / keys.
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
Troba elés a dir,i canvieu-lo perquè coincideixi amb el Diffie-Hellman.pemque heu creat.
dh dh4096.pem
Definiu també el camí de la vostra clau HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Troba elxifrati assegureu-vos que coincideixi amb l'exemple següent.
cipher AES-256-CBC
Hi ha el següent parell d’opcions, però es comenten amb un;. Traieu els punts i coma davant de cada opció per habilitar-los.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Cerqueu elusuariigrupopcions. Descomenteu-los i canvieu el fitxerusuaria openvpn.
user openvpn group nogroup
Finalment, aquestes dues darreres línies no es troben a la configuració predeterminada. Els haureu d’afegir al final del fitxer.
Configureu el resum d'autenticació per especificar un xifratge més fort per a l'autenticació d'usuari.
# Authentication Digest auth SHA512
A continuació, limiteu les xifres que OpenVPN pot utilitzar només a les més fortes. Això ajuda a limitar possibles atacs a xifrats dèbils.
# 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
Això és tot per configurar. Deseu el fitxer i sortiu.
Inicieu el servidor
Abans de poder iniciar el servidor, heu de fer-hoopenvpnusuari que heu especificat.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
És un usuari especial només per executar OpenVPN i no farà res més.
Ara, inicieu el servidor.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Comproveu que tots dos funcionin
$ sudo systemctl status openvpn*.service
Si tot sembla bo, activeu-los a l'inici.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Configuració del client
El vostre servidor està configurat i en execució. A continuació, heu de configurar la configuració del client. Aquesta és la configuració que faràs servir per connectar els teus dispositius al servidor. Torna alcertscarpeta i prepareu-vos per crear les claus del client. Podeu triar crear claus separades per a cada client o una clau per a tots els clients. Per a ús domèstic, una clau hauria d’estar bé.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
El procés és gairebé idèntic al del servidor, de manera que seguiu el mateix procediment.
Configuració del client
La configuració per als clients és molt similar a la del servidor. De nou, teniu una plantilla prefabricada per basar-vos en la configuració. Només cal que el modifiqueu perquè coincideixi amb el servidor.
Canvieu aclientdirectori. A continuació, desempaqueteu la configuració de mostra.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Obriu el fitxerclient.ovpnamb el vostre editor de text. A continuació, cerqueu el fitxerremotopció. Suposant que encara no utilitzeu una VPN, cerqueu a Google Quina és la meva IP. Agafeu l'adreça que mostra i configureu el fitxerremotL'adreça IP de la mateixa. Deixeu el número de port.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Canvieu els certificats per reflectir els que heu creat, tal com vau fer amb el servidor.
ca ca.crt cert client.crt key client.key
Cerqueu les opcions de l'usuari i descomenteu-les. Està bé executar els clients comningú.
user nobody group nogroup
Deixa el comentari atls-authopció per a HMAC.
tls-auth ta.key 1
A continuació, busqueu el fitxerxifrati assegureu-vos que coincideixi amb el servidor.
cipher AES-256-CBC
A continuació, només cal afegir les restriccions de resum i xifratge d’autenticació a la part inferior del fitxer.
# 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
Quan tot sembli correcte, deseu el fitxer i sortiu. Úsquitràper empaquetar la configuració i els certificats, de manera que els pugueu enviar 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
Transferiu aquest paquet al client com vulgueu. SFTP, FTP i una unitat USB són bones opcions.
Reenviament de ports
Perquè qualsevol cosa funcioni, heu de configurar l’encaminador per reenviar el trànsit VPN entrant al Pi. Si ja utilitzeu una VPN, heu d’assegurar-vos que no us connecteu al mateix port. Si ho és, canvieu el port de la configuració del client i del servidor.
Connecteu-vos a la interfície web del vostre enrutador escrivint la seva adreça IP al navegador.
Tots els encaminadors són diferents. Tot i així, tots han de tenir alguna forma d’aquesta funcionalitat. Cerqueu-lo al vostre encaminador.
La configuració és bàsicament la mateixa en tots els encaminadors. Introduïu els ports inicial i final. Han de ser iguals que els que heu establert a les configuracions. A continuació, per a l'adreça IP, configureu-la a la vostra adreça IP de Raspberry Pi. Deseu els canvis.
Connecteu-vos amb el client
Tots els clients són diferents, de manera que no hi ha una solució universal. Si utilitzeu Windows, necessitareu el fitxer Client Windows OpenVPN .
A Android, podeu obrir el vostre tarball i transferir les claus al vostre telèfon. A continuació, instal·leu l'aplicació OpenVPN. Obriu l'aplicació i connecteu la informació del fitxer de configuració. A continuació, seleccioneu les claus.
A Linux, heu d’instal·lar OpenVPN molt com ho vau fer per al servidor.
$ sudo apt install openvpn
Després, canvieu a/ etc / openvpni descomprimiu el tarball que heu enviat.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Canvieu el nom del fitxer client.
$ sudo mv client.ovpn client.conf
Encara no inicieu el client. Fracassarà. Primer heu d’habilitar el reenviament de ports al vostre encaminador.
Pensaments finals
Ara hauríeu de tenir una configuració de treball. El vostre client es connectarà directament a través del vostre encaminador al Pi. Des d'allà, podeu compartir i connectar-vos a través de la vostra xarxa virtual, sempre que tots els dispositius estiguin connectats a la VPN. No hi ha límit, de manera que sempre podeu connectar tots els vostres equips a la VPN Pi.