Cum se instalează și se configurează serverul OpenVPN pe Ubuntu Linux

Cuprins

OpenVPN Este fără îndoială cel mai bun mod în care putem stabili o conexiune sigură la o rețea prin Internet.

OpenVPN este o resursă VPN a Sursa deschisa Acest lucru ne permite, ca utilizatori, să ne mascăm navigarea pentru a evita să fim victime ale furtului de informații din rețea. Acestea sunt aspecte foarte importante la nivel de securitate pe care trebuie să le luăm în considerare și de data aceasta vom analiza procesul de configurare OpenVPN într-un mediu Ubuntu 16.04.

Folosește OpenVPNDatorită OpenVPN putem realiza sarcini precum:

  • Protejați traficul în timpul procesului de navigare pe web.
  • Funcționează ca un tunel peste orice adresă IP folosind un singur port TCP sau UDP.
  • Înființat mai multe servere VPN scalabil.
  • Utilizare funcții de criptare și autentificare pentru a proteja traficul.
  • Schimb de chei dinamice.
  • Creați poduri de Ethernet securizat.
  • Managementul VPN folosind o interfață grafică din mediile Windows și Mac OS.

Cerințe OpenVPNÎnainte de a începe procesul de instalare, este important să îndepliniți anumite cerințe, acestea fiind:

  • Utilizator rădăcină
  • Droplet Ubuntu 16.04

1. Cum se instalează Update și se instalează OpenVPN pe Ubuntu 16.04

Pasul 1
În primul rând, vom actualiza Ubuntu 16.04 folosind următoarea comandă:

 sudo apt-get update 
Pasul 2
Odată ce sistemul este actualizat, procedăm la instalarea OpenVPN folosind următoarea comandă. Acceptăm descărcarea și instalarea respectivă a pachetelor OpenVPN.
 sudo apt-get install openvpn easy-rsa 

MARI

În acest fel am instalat OpenVPN pe Ubuntu 16 iar acum va fi necesar să se efectueze procesul de configurare.

2. Cum se setează directorul CA în Ubuntu 16.04


Directorul CA. (Autoritatea de certificare - Certificatul de autoritate) este mijlocul prin care putem emite certificate de încredere, deoarece OpenVPN este un VPN care utilizează Protocoale TLS / SSL.

Pasul 1
Pentru asta vom copia șabloanele din easy-rsa în directorul nostru principal folosind comanda face-cadir, vom introduce următoarele în terminalul Ubuntu 16.04:

 make-cadir ~ / openvpn-ca 
Pasul 2
Acum vom accesa ruta creată anterior:
 cd ~ / openvpn-ca 

MARI

3. configurați variabilele certificatelor de autoritate în Ubuntu 16.04


Este necesar să configurăm valorile care vor fi utilizate de certificatele de autoritate sau CA și pentru aceasta trebuie să edităm fișierul vars în director.

Pasul 1
Putem deschide acest fișier folosind editorul preferat, în acest caz va fi nano:

 sudo nano vars 

MARI

Pasul 2
În acest fișier găsim variabilele pe care le putem regla și configura pentru a determina modul în care vor fi create certificatele de autoritate. Vom derula până în partea de jos a fișierului până când vom găsi aceste variabile:

 export KEY_COUNTRY = "SUA" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "[email protected]" export KEY_OU = "MyOrganizationalUnit"

MARI

Pasul 3
Modificăm aceste valori pe baza parametrilor care sunt necesari. În același mod vom edita linia exportă KEY_NAME i s-a atribuit numele corespunzător, în acest caz l-am numit server.

MARI

Pasul 4
păstrăm modificări folosind combinația:

Ctrl + O

Da am ieșit afară de la editor folosind

Ctrl + X

4. Cum se creează certificatul de autoritate în Ubuntu 16.04


Cu aceste valori definite se trece la crearea certificatului de autoritate.

NotăSa nu uiti asta trebuie să fim în directorul ~ / openvpn-ca.

Pasul 1
Odată ce ne aflăm în director, vom executa următoarea comandă:

 surse vars 

MARI

Pasul 2
Continuăm să executăm comanda indicată pentru a avea un mediu curat:

 ./curata tot 
Pasul 3
Acum vom crea certificatul CA rădăcină folosind următoarea comandă:
 ./build-ca 
Pasul 4
Putem vedea o serie de întrebări pe care le-am configurat deja în fișierul vars pentru care trebuie doar să apăsăm introduce pentru a fi completat automat. Prin urmare am creat certificatul care va fi util pentru restul procesului.

MARI

5. Cum se creează certificate de server, cheie și fișiere criptate în Ubuntu 16.04


În acest moment vom crea certificatul de server și cheile respective ale acestuia.

Pasul 1
Pentru aceasta vom executa următoarea comandă:

 ./build-key-server server 
Trebuie să înlocuim numele serverului cu cel atribuit în linie exportă KEY_NAME din fișierul vars). Valorile deja definite în fișierul vars vor fi emise automat, pentru care apăsăm Enter.

Pasul 2
Putem vedea că certificatul a fost creat corect.

MARI

Pasul 3
Apoi, vom crea alți parametri, cum ar fi Criptare Diffie-Hellman care poate fi folosit în timpul schimbului de chei, pentru aceasta vom folosi următoarea linie.

 ./build-dh 

MARI

Pasul 4
Acest proces durează câteva minute. De asemenea, putem genera o semnătură HMAC care ne permite să îmbunătățim nivelurile de integritate TLS ale serverului, pentru aceasta introducem următoarele.

 openvpn --genkey --secret keys / ta.key 

6. Cum se creează certificate de server, cheie și fișiere criptate în Ubuntu 16.04


Acest proces poate fi efectuat pe computerul client și semnat ulterior folosind serverul CA, dar de data aceasta îl vom executa direct pentru a economisi timp. Accesăm din nou directorul, dacă nu suntem deja acolo. ~ / openvpn-ca și acolo vom executa comanda sursă vars.

Pasul 1
Acum vom introduce următoarea linie în care definim numele clientului:

 ./build-key solvetic1 
Trebuie să apăsăm introduce în întrebările respective deja configurate mai sus

MARI

Pasul 2
Această comandă creează acreditări fără a necesita o parolă, dacă din motive de securitate dorim să stabilim o acreditare cu o parolă, trebuie să executăm următoarea linie:

 ./build-key-pass (numele clientului) 

7. Cum se configurează serviciul OpenVPN în Ubuntu 16.04


Următorul pas este să configurați serviciul OpenVPN astfel încât totul să funcționeze așa cum doriți. În primul rând, vom copia fișierele pe care le-am creat în calea ~ / openvpn-ca în cale / etc / openvpn, amintiți-vă că certificatele CA, cheile, fișierul Diffie-Hellman și fișierul HMAC.

Pasul 1
Pentru aceasta vom accesa următorul director:

 cd ~ / openvpn-ca / keys 
Pasul 2
Odată ajuns acolo vom executa următoarea linie pentru procesul de copiere:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Pasul 3
Acum trebuie să copiem și să dezarhivăm un Fișier de configurare OpenVPN în acel director de utilizat ca bază. Pentru aceasta vom introduce următoarele:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

MARI

8. Cum se ajustează setările OpenVPN în Ubuntu 16.04

Pasul 1
Odată ce avem aceste fișiere pe calea necesară, continuăm să ajustăm configurația OpenVPN accesând fișierul server.conf:

 sudo nano /etc/openvpn/server.conf 

MARI

Pasul 2
Acolo vom face următoarele ajustări. Mergem la linie tls-auth ta.key 0 # Acest fișier este secret iar dedesubt vom adăuga următoarele.

 cheie-direcție 0 
Pasul 3
Pe linia cifru AES-128-CBC eliminăm simbolul; situat la începutul acestuia și sub această linie vom introduce următoarele.
 auth SHA256 
Pasul 4
Aceasta este pentru a crea o linie de autentificare pentru alege algoritmul mesajului. Pe linii utilizator Da grup eliminăm simbolul; situat la început.

MARI

Ca alternative opționale putem adăuga următoarele.

Impingerea traficului DNS prin VPNAceastă opțiune este practică atunci când vrem să direcționăm tot traficul exclusiv prin VPN.

 Pentru aceasta, vom face următoarele modificări în fișierul anterior: Decomentăm liniile: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Modificați portul în OpenVPNÎn mod implicit, OpenVPN folosește portul 1194 și protocolul de rețea UDP pentru conexiunile clientului. Dacă dorim să modificăm acest port, mergem la linie port și atribuim noul port în funcție de necesitatea curentă.

MARI

În același mod putem ajusta protocolul pe linie proto.

Reglarea setărilor de rețea - redirecționare IPAcest punct este important, deoarece permite ca tot traficul OpenVPN să fie direcționat corect.

Mai întâi vom activa Redirecționare adresă IP, adică serverul redirecționează traficul, pentru aceasta trebuie să edităm fișierul /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
În interiorul fișierului vom plasa linia net.ipv4.ip_forward = 1 și îl decomentăm eliminând simbolul # situat la începutul acestuia.

MARI

păstrăm modificările și ieșim din fișier. Pentru toate modificările care vor fi aplicate în sesiunea curentă vom executa următoarea comandă.

 sudo sysctl -p

Setarea regulilor în paravanul de protecție Ubuntu 16.04Utilizarea firewall-ului este esențială deoarece ne protejează de conexiunile primite la sistem, în acest moment trebuie editați fișierul de reguli pentru configurarea traficului mascat. În primul rând, trebuie să cunoaștem interfața de rețea publică a serverului, pentru aceasta executăm următoarea comandă:

 ip route | grep implicit 

MARI

În acest exemplu, interfața de rețea publică este enp0s3. Acum vom accesa la fișierul de configurare a regulilor pentru ajustarea dvs., introducem următoarele:

 sudo nano /etc/ufw/before.rules 
Va fi afișată următoarea fereastră.

MARI

Acest fișier gestionează configurația care trebuie precedată înainte de executarea regulilor UFW tipice. În partea de sus vom introduce următoarele linii care vor stabili configurația POSTROUTING:

 # START REGULI OPENVPN # Regulile tabelului NAT * nat: POSTROUTING ACCEPT [0: 0] # Permiteți traficul de la clientul OpenVPN către (interfață) -A POSTROUTING -s 10.8.0.0/8 -o (interfață) -j MASQUERADE COMMIT # END OPENVPN REGULI

MARI

Este important ca în câmp enp0s3 să setăm numele corect al interfeței de utilizat. păstrăm modificări folosind combinația:

Ctrl + O

Da am ieșit afară de la editor folosind:

Ctrl + X

Acum trebuie să permitem UFW acceptați coletele pe cale Mod implicit, pentru aceasta vom executa următoarea comandă:

 sudo nano / etc / default / ufw 
Pe linia DEFAULT_FORWARD_POLICY modificăm termenul DROP prin ACCEPT.

MARI

păstrăm schimbarile.

Deschiderea porturilor VPN și activarea modificărilorUrmătorul pas este să reglați setările firewall-ului pentru a permite tot traficul către OpenVPN. Pentru asta executăm următoarea comandă.

 sudo ufw permit 1194 / udp 
NotăDacă am editat portul și protocolul, trebuie să îl schimbăm în această comandă, acestea sunt valorile implicite ale OpenVPN.

Adăugăm și Port SSH:

 sudo ufw permite OpenSSH 

MARI

La încărcați modificări vom folosi următoarele comenzi.

 sudo ufw dezactivați sudo ufw enable
Putem verifica dacă regulile au fost adăugate folosind comanda starea sudo ufw:

MARI

9. Cum să porniți și să activați serviciul OpenVPN în Ubuntu 16.04


Cu acestea valori deja definite Suntem capabili să pornim serviciul OpenVPN în Ubuntu și pentru aceasta va fi necesar să specificăm numele pe care l-am atribuit.

Pasul 1
Pentru aceasta vom executa următoarea linie:

 sudo systemctl pornește openvpn @ server 
Pasul 2
Ulterior validăm statutul OpenVPN folosind linia:
 sudo systemctl status openvpn @ server 

MARI

Pasul 3
Putem vedea că starea sa este corectă și că a început cu succes. Apăsăm litera q pentru a reveni la linia de comandă. În același mod putem verifica interfața OpenVPN tun0 introducând următoarele:

 ip addr show tun0 

MARI

Pasul 4
Pentru ca serviciul OpenVPN să ruleze automat la fiecare autentificare, trebuie să introducem următorul parametru:

 sudo systemctl activează serverul openvpn @ 

MARI

10. Cum se creează structura clientului OpenVPN pe Ubuntu 16.04

Pasul 1
Următorul pas este crearea fișierelor de configurare ale clientului, pentru aceasta vom crea această structură în directorul personal executând următoarele:

 mkdir -p ~ / client-configs / files 
Pasul 2
Vom bloca permisiunile în ruta respectivă, deoarece cheile create sunt localizate acolo, vom folosi următoarea linie:
 chmod 700 ~ / client-configs / files 

11. Cum se creează o bază de configurare OpenVPN pe Ubuntu 16.04

Pasul 1
În acest moment vom copia o bază de configurare client în director pentru a o avea ca bază, vom executa următoarele:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf 
Pasul 2
Deschidem acest fișier cu editorul nostru preferat:
 sudo nano ~ / client-configs / base.conf 

MARI

Pasul 3
Acolo localizăm linia la distanta și vom introduce adresa IP a serverului care este urmată de portul UDP 1194:

MARI

Pasul 4
În același fișier vom face următoarele modificări:

  • Decomentăm liniile utilizator Da grup scoaterea semnului;
  • Comentăm, adăugând simbolul #, la linii AC, cert Da cheie
  • Adăugăm liniile cifru AES-128-CBC Da auth SHA256
  • Sub linia anterioară scriem direcția cheie 1
  • La sfârșitul fișierului adăugăm următoarele linii:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Dacă nu funcționează pentru dvs., încercați această altă formă de comandă de securitate script:

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

MARI

Pasul 5
păstrăm modificări folosind combinația:

Ctrl + O

Da am ieșit afară de la editor folosind:

Ctrl + X

12. Cum se creează un script pentru configurarea OpenVPN pe Ubuntu 16.04

Pasul 1
Acest script se va ocupa de compilarea celor mai importante evenimente ale certificatului, cheii și fișierelor de criptare din cale ~ / client-configs / files. Vom crea un fișier numit make_config.sh folosind următoarea sintaxă:

 sudo nano ~ / client-configs / make_config.sh
Pasul 2
Se va deschide un fișier gol în care vom adăuga următoarele rânduri:
 #! / bin / bash # Primul argument: identificator client KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

MARI

Pasul 3
păstrăm modificările și am ieșit afară de la editor. Vom face acest fișier executabil introducând următoarele:

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Cum se configurează fișierele client OpenVPN pe Ubuntu 16.04


Următorul pas este crearea fișierelor de configurare pentru client, pe care le-am creat ca fiind Solvetic1.

Pasul 1
Pentru aceasta vom introduce următoarele linii:

 cd ~ / client-configs ./make_config.sh client1 [plain] Pasul 2 [/ plain] Putem vedea conținutul acestui folder folosind comanda ls: ls ~ / client-configs / files

MARI

Vedem că există clientul Solvetic1 creat corect.

14. Cum se transferă setările OpenVPN pe computerele OpenVPN pe Ubuntu 16.04


Odată ce am terminat tot procesul de configurare în Ubuntu 16, este timpul să transferăm Fișier Solvetic1.ovpn la dispozitivele respective, cum ar fi computerele sau dispozitivele mobile.

Pasul 1
Putem folosi clientul de transfer pe care îl dorim pe baza sistemului pe care îl folosim, un exemplu de transfer poate fi următorul într-un mediu Fedora 25:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Pasul 2
În acest exemplu vom folosi Windows și clientul Filezilla:

MARI

15. Cum se instalează și se execută OpenVPN pe Ubuntu 16.04


Pasul 1
OpenVPN este disponibil pentru Windows, Linux, Mac OS, Android, FreeBSD etc. În următorul link putem descărca versiunea adecvată a OpenVPN:

Pasul 2
Apoi, vom vedea cum să rulăm OpenVPN pe diferite sisteme de operare.

Rulați OpenVPN pe WindowsÎn Windows, care este exemplul de sistem, trebuie copiați fișierul .ovpn pe traseu:

 C: \ Program Files \ OpenVPN \ config 
Pasul 3
De acolo putem face clic dreapta pe fișier și selectăm opțiunea Porniți OpenVPN pe acest fișier de configurare

MARI

În acest fel ne vom conecta cu serverul OpenVPN.

NotăOpenVPN trebuie rulat cu privilegii administrative.

Rulați OpenVPN pe LinuxProcesul pe sistemele Linux ar trebui să fie după cum urmează:

Mai întâi actualizăm sistemul și instalăm OpenVPN folosind următoarele comenzi:

 sudo apt-get update 
 sudo apt-get install openvpn 
Dacă folosim CentOS vom folosi următoarele comenzi:
 sudo yum instalează epel-release sudo yum instalează openvpn
Odată instalat OpenVPN vom executa următoarea comandă:
 ls / etc / openvpn 
Următorul pas este să editați fișierul .ovpn transferat cu editorul dorit.
 sudo nano file.ovpn 
În fișierul deschis trebuie necomentariu următoarele rânduri:
 script-security 2 up / etc / openvpn / update-resolv-conf
 jos / etc / openvpn / update-resolv-con 
Acum ne putem conecta la VPN folosind următoarea sintaxă:
 sudo openvpn --config File.ovpn

Rulați OpenVPN pe Mac OSDacă folosim Mac OS, se aplică la macOS Sierra, putem folosi utilitarul tunel de tunel pe care îl putem descărca gratuit la următorul link:

Când executăm aplicația în bara de titlu vom vedea pictograma corespunzătoare, vom face clic acolo și selectăm Conectați și alegem clientul pe care l-am configurat, de exemplu, Solvetic1.

Rulați OpenVPN pe AndroidPentru utilizatorii de Android care doresc să se conecteze la Linux prin VPN, putem descărca aplicația OpenVPN Connect de la următorul link:

Fișierul .ovpn trebuie să-l transferăm prin USB pe telefon pentru utilizare.
Când executăm aplicația, mergem la meniu și selectăm locația în care avem fișierul .ovpn și de acolo îl importăm. Pentru a ne conecta, facem clic pe buton Conectați.

În oricare dintre modalitățile indicate, obiectivul este accesarea Ubuntu 16.04 prin VPN, bucurându-se de avantajele oferite de OpenVPN.

MARI

După cum puteți vedea, configurarea unui server OpenVPN în Ubuntu este oarecum complexă, dar cu acest manual complet aveți pas cu pas tot ce trebuie să faceți pentru a-l introduce în acest sistem. Dacă pe lângă Ubuntu folosiți alte distribuții, aici vă lăsăm cum se configurează și se instalează un server OpenVPN pe Debian.

OpenVPN Debian Server

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave