Principal Mac Transformați un Raspberry Pi într-un VPN pentru a vă accesa rețeaua de oriunde

Transformați un Raspberry Pi într-un VPN pentru a vă accesa rețeaua de oriunde



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.

Editați fișierul Vars

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

Creați o autoritate de certificare

Î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

Construiți cheia serverului

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

Construiește-l pe Diffie-Hellman

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.

Chei de configurare a serverului 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

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.

OpenVPN Server Config Auth

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

Chei de configurare pentru client OpenVPN

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

Cifrele client OpenVPN

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

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.

Articole Interesante

Alegerea Editorului

Cum se ascunde pagina Programului Windows Insider din aplicația Setări din Windows 10
Cum se ascunde pagina Programului Windows Insider din aplicația Setări din Windows 10
Dacă rulați o versiune stabilă de Windows 10 și nu doriți să încercați versiunile Insider Preview, puteți ascunde pagina Program Windows Insider din Setări.
Cum se adaugă butonul de pornire pe ecranul Start pe tablete
Cum se adaugă butonul de pornire pe ecranul Start pe tablete
Dacă dețineți o tabletă Windows 8.1 și ați instalat Actualizarea 1, este posibil să fi observat că butonul de alimentare lipsește pe ecranul de pornire. Aceasta este prin design - pentru unele dimensiuni de ecran, Windows 8.1 Update ascunde butonul respectiv pentru a economisi spațiu pe ecran. De asemenea, dacă dispozitivul dvs. acceptă Connected Standby
Cum să ștergeți contul dvs. din abundență de pește
Cum să ștergeți contul dvs. din abundență de pește
Există o mulțime de motive pentru care ați putea dori să ștergeți contul dvs. Plenty of Fish (POF). Indiferent dacă ați găsit în sfârșit captura perfectă, doriți o pauză de la jocul de întâlniri sau ați decis să utilizați una dintre
Cum să vă schimbați numărul de telefon în GroupMe
Cum să vă schimbați numărul de telefon în GroupMe
La fel ca multe alte aplicații de mesagerie, GroupMe vă cere să introduceți numărul de telefon. Din motive de securitate - aplicația are nevoie să introduceți un cod în timp ce vă înscrieți pentru a confirma că sunteți cu adevărat cel care creați un
Ce înseamnă Snapchat când spune „În limita a X picioare?”
Ce înseamnă Snapchat când spune „În limita a X picioare?”
Dacă folosiți Snap Maps în Snapchat și vedeți un Bitmoji pe hartă cu „la 200 de picioare” de o locație, ce înseamnă? De ce nu spune doar „în cafeneaua din colț”
Tuner de meniu contextual
Tuner de meniu contextual
Context Menu Tuner este o aplicație care vă permite să personalizați meniul contextual al Explorer în Windows 10, Windows 7, 8 și 8.1. Mai multe capturi de ecran sunt disponibile mai jos. Ultima versiune este 3.0.0.2, consultați jurnalul de modificări de mai jos. Spre deosebire de alte instrumente, acesta vă oferă următoarele opțiuni: Abilitatea de a adăuga ORICE comandă Ribbon la meniul contextual al
Cum să creezi un sondaj în Facebook
Cum să creezi un sondaj în Facebook
Sondajele de pe Facebook sunt cea mai bună modalitate de a aduna opinii despre probleme specifice de la prietenii și adepții tăi. Indiferent dacă trebuie să aflați ce cred clienții dvs. despre o idee nouă sau doriți să injectați puțin umor într-o prietenie