De ce să utilizați un VPN pentru a vă accesa casa
Există o mulțime de motive pentru care doriți să accesați rețeaua de acasă de la distanță și cel mai bun mod de a face acest lucru este cu un server VPN. Unele routere vă permit, de fapt, să configurați un server VPN direct în router, dar, în multe cazuri, va trebui să configurați unul singur.
Un Raspberry Pi este o modalitate excelentă de a realiza acest lucru. Nu necesită multă energie pentru a rula și au suficientă putere pentru a rula un server VPN. Puteți configura unul lângă router și, practic, uitați de el.
Când aveți acces la rețeaua de acasă de la distanță, puteți accesa fișierele dvs. de oriunde. Puteți rula computerele de acasă de la distanță. Puteți utiliza chiar și conexiunea VPN de acasă de pe drum. O astfel de configurație vă permite telefonul, tableta sau laptopul să acționeze exact așa cum a fost acasă de oriunde.
Configurați Pi
Înainte de a începe să configurați VPN, va trebui să configurați Raspberry Pi. Cel mai bine este să configurați Pi cu o carcasă și un card de memorie de dimensiuni decente, 16 GB ar trebui să fie mai mult decât suficient. Dacă este posibil, conectați dispozitivul Pi la router cu un cablu Ethernet. Acesta va reduce la minimum orice întârziere a rețelei.
Instalați Raspbian
Cel mai bun sistem de operare de utilizat pe Pi este Raspbian. Este alegerea implicită lansată de fundația Raspberry Pi și se bazează pe Debian, una dintre cele mai sigure și stabile versiuni de Linux disponibile.
Du-te la Pagina de descărcare Rasbian și apucați cea mai recentă versiune. Puteți utiliza versiunea Lite aici, deoarece nu aveți nevoie de fapt de un desktop grafic.
În timp ce se descarcă, obțineți cea mai recentă versiune de Gravor pentru sistemul dvs. de operare. După finalizarea descărcării, extrageți imaginea Raspbian. Apoi, deschide Etcher. Selectați imaginea Raspbian de unde ați extras-o. Selectați cardul SD (introduceți-l mai întâi). În cele din urmă, scrieți imaginea pe card.
cum se face șa în Minecraft
Lăsați cardul SD în computer când ați terminat. Deschideți un manager de fișiere și navigați la card. Ar trebui să vedeți câteva partiții diferite. Căutați partiția de boot. Este cel cu un fișier kernel.img. Creați un fișier text gol pe partiția de încărcare și numiți-l ssh fără extensie de fișier.
Vă puteți conecta în cele din urmă Pi. Asigurați-vă că îl conectați ultima dată. Nu veți avea nevoie de un ecran, tastatură sau mouse. Veți accesa de la distanță Raspberry Pi prin rețeaua dvs.
Acordați Pi câteva minute pentru a se configura. Apoi, deschideți un browser web și navigați la ecranul de gestionare al routerului. Găsiți Raspberry Pi și notați adresa IP a acestuia.
Indiferent dacă sunteți pe Windows, Linux sau Mac, deschideți OpenSSH. Conectați-vă la Raspberry Pi cu SSH.
$ ssh [email protected]
Evident, utilizați adresa IP reală a Pi. Numele de utilizator estemereu pi, iar parola estezmeură.
Configurați OpenVPN
OpenVPN nu este tocmai simplu de configurat ca server. Vestea bună este că trebuie să o faci doar o dată. Deci, înainte de a căuta, asigurați-vă că Raspbian este complet actualizat.
$ sudo apt update $ sudo apt upgrade
După finalizarea actualizării, puteți instala OpenVPN și utilitarul de certificat de care aveți nevoie.
$ sudo apt install openvpn easy-rsa
Autoritate certificată
Pentru a vă autentifica dispozitivele atunci când încearcă să se conecteze la server, trebuie să configurați o autoritate de certificare pentru a crea chei de siginare. Aceste chei vă vor asigura că numai dispozitivele dvs. se vor putea conecta la rețeaua dvs. de acasă.
Mai întâi, creați un director pentru certificatele dvs. Mutați-vă în acel director.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Căutați în jur fișiere de configurare OpenSSL. Apoi, conectați-l pe cel mai recent cuopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
În același folder certs este un fișier numit vars. Deschideți fișierul respectiv cu editorul de text. Nano este implicit, dar nu ezitați să instalați Vim, dacă sunteți mai confortabil cu acesta.
GăsiKEY_SIZEvariabilă mai întâi. Este setat la2048în mod implicit. Schimbați-l în4096.
export KEY_SIZE=4096
Blocul principal cu care trebuie să vă ocupați stabilește informații despre autoritatea de certificare. Vă ajută dacă aceste informații sunt corecte, dar orice vă puteți aminti este bine.
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'
Când aveți totul, salvați și ieșiți.
Pachetul Easy-RSA pe care l-ați instalat anterior conține o mulțime de scripturi care vă ajută să configurați tot ce aveți nevoie. Trebuie doar să le rulați. Începeți prin adăugarea fișierului vars ca sursă. Aceasta va încărca toate variabilele pe care tocmai le-ați setat.
$ sudo source ./vars
Apoi, curățați cheile. Nu aveți, așa că nu vă faceți griji cu privire la mesajul care vă spune că cheile dvs. vor fi șterse.
$ sudo ./clean-install
În cele din urmă, construiți-vă autoritatea de certificare. Ați setat deja valorile implicite, astfel încât să puteți accepta doar valorile implicite pe care le prezintă. Nu uitați să setați o parolă puternică și să răspundeți da la ultimele două întrebări, urmând parola.
$ sudo ./build-ca
Faceți câteva chei
Ați trecut prin toate aceste probleme pentru a crea o autoritate de certificare, astfel încât să puteți semna chei. Acum, este timpul să facem ceva. Începeți prin a construi cheia pentru serverul dvs.
$ sudo ./build-key-server server
Apoi, construiește PEM-ul Diffie-Hellman. Este ceea ce OpenVPN folosește pentru a vă asigura conexiunile clientului la server.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Ultima cheie de care aveți nevoie de acum se numește cheie HMAC. OpenVPN folosește această cheie pentru a semna fiecare pachet individual de informații schimbate între client și server. Ajută la prevenirea anumitor tipuri de atacuri asupra conexiunii.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Configurare server
Aveți cheile. Următoarea piesă în configurarea OpenVPN este configurarea serverului în sine. Din fericire, nu trebuie să faceți atât de mult aici. Debian oferă o configurație de bază pe care o puteți utiliza pentru a începe. Deci, începeți prin a obține acel fișier de configurare.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Folosiți din nou editorul de text pentru a vă deschide/etc/openvpn/server.conf. Primele lucruri pe care trebuie să le găsiți suntca,cert, șicheiefișiere. Trebuie să le setați pentru a se potrivi cu locațiile reale ale fișierelor pe care le-ați creat, care sunt toate/ 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
Găsiadicăși schimbați-l pentru a se potrivi cu Diffie-Hellman.pempe care ai creat-o.
dh dh4096.pem
Setați și calea pentru cheia dvs. HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Găsicifruși asigurați-vă că se potrivește cu exemplul de mai jos.
cipher AES-256-CBC
Următoarele două opțiuni sunt acolo, dar sunt comentate cu un;. Eliminați punctele și virgulele din fața fiecărei opțiuni pentru a le activa.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
CăutațiutilizatorșigrupOpțiuni. Descomentați-le și schimbațiutilizatora deschide vpn.
user openvpn group nogroup
În cele din urmă, aceste ultime două linii nu se află în configurația implicită. Va trebui să le adăugați la sfârșitul fișierului.
Setați rezumatul de autentificare pentru a specifica o criptare mai puternică pentru autentificarea utilizatorului.
# Authentication Digest auth SHA512
Apoi, limitați cipere pe care OpenVPN le poate folosi la cele mai puternice. Acest lucru ajută la limitarea posibilelor atacuri asupra cifrelor slabe.
# 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
Asta este totul pentru configurare. Salvați fișierul și ieșiți.
Porniți serverul
Înainte de a putea porni serverul, trebuie să faceți acest lucruopenvpnutilizator pe care l-ați specificat.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Este un utilizator special doar pentru rularea OpenVPN și nu va face altceva.
Acum, porniți serverul.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Verificați dacă ambii rulează
$ sudo systemctl status openvpn*.service
Dacă totul arată bine, activați-le la pornire.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Configurare client
Serverul dvs. este acum configurat și rulat. Apoi, trebuie să configurați configurația clientului. Aceasta este configurația pe care o veți utiliza pentru a vă conecta dispozitivele la server. Reveniți laanumitfolder și pregătiți-vă să construiți cheia (clientele) clientului. Puteți alege să creați chei separate pentru fiecare client sau o cheie pentru toți clienții. Pentru uz casnic, o cheie ar trebui să fie bună.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Procesul este aproape identic cu cel de server, deci urmați aceeași procedură.
Configurare client
Configurația pentru clienți este foarte similară cu cea pentru server. Din nou, aveți un șablon prefabricat pe care să vă bazați configurația. Trebuie doar să îl modificați pentru a se potrivi cu serverul.
Schimbați-vă înclientdirector. Apoi, despachetați configurația mostră.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Deschidețiclient.ovpnfișier cu editorul de text. Apoi, găsițila distantaopțiune. Presupunând că nu utilizați deja un VPN, căutați pe Google Care este IP-ul meu. Luați adresa afișată și setațila distantaAdresa IP a acestuia. Lăsați numărul portului.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Schimbați certificatele pentru a le reflecta pe cele pe care le-ați creat, la fel cum ați făcut cu serverul.
ca ca.crt cert client.crt key client.key
Găsiți opțiunile utilizatorului și decomentați-le. Este bine să conducem clienții așa cum estenimeni.
user nobody group nogroup
Decomentațitls-authopțiune pentru HMAC.
tls-auth ta.key 1
Apoi, căutațicifruși asigurați-vă că se potrivește cu serverul.
cipher AES-256-CBC
Apoi, trebuie doar să adăugați restricțiile de autentificare și cifrare în partea de jos a fișierului.
# 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
Când totul arată bine, salvați fișierul și ieșiți. Utilizaregudronpentru a împacheta configurația și certificatele, astfel încât să le puteți trimite clientului.
$ 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
Transferați acel pachet către client oricum doriți. SFTP, FTP și o unitate USB sunt toate opțiuni excelente.
Port forwarding
Pentru ca oricare dintre acestea să funcționeze, trebuie să vă configurați routerul pentru a redirecționa traficul VPN primit către Pi. Dacă utilizați deja un VPN, trebuie să vă asigurați că nu vă conectați pe același port. Dacă sunteți, modificați portul pentru configurațiile clientului și serverului.
Conectați-vă la interfața web a routerului dvs. tastând adresa IP a acestuia din browser.
Fiecare router este diferit. Chiar și așa, toți au ar trebui să aibă o formă a acestei funcționalități. Găsiți-l pe router.
Configurarea este practic aceeași pe fiecare router. Introduceți porturile de început și de sfârșit. Acestea ar trebui să fie la fel ca unele și celelalte pe care le-ați setat în configurațiile dvs. Apoi, pentru adresa IP, setați-o la adresa IP a Raspberry Pi. Salvați modificările.
Conectați-vă la client
Fiecare client este diferit, deci nu există o soluție universală. Dacă sunteți pe Windows, veți avea nevoie de Client Windows OpenVPN .
Pe Android, vă puteți deschide tarball-ul și puteți transfera tastele pe telefon. Apoi, instalați aplicația OpenVPN. Deschideți aplicația și conectați informațiile din fișierul de configurare. Apoi selectați tastele.
Pe Linux, trebuie să instalați OpenVPN la fel cum ați făcut pentru server.
$ sudo apt install openvpn
Apoi, schimbați-vă în/ etc / openvpnși despachetați tarball-ul pe care l-ați trimis.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Redenumiți fișierul client.
$ sudo mv client.ovpn client.conf
Nu porniți clientul încă. Va eșua. Mai întâi trebuie să activați redirecționarea porturilor pe router.
Gânduri de închidere
Acum ar trebui să aveți o configurare funcțională. Clientul dvs. se va conecta direct prin router la Pi. De acolo, puteți partaja și conecta prin rețeaua dvs. virtuală, atâta timp cât toate dispozitivele sunt conectate la VPN. Nu există nicio limită, deci vă puteți conecta oricând toate computerele la VPN Pi.