Instalarea și configurarea serverului openvpn în ajutorul debian-debian

acasă # 149; Articole # 149; Instalarea și configurarea serverului OpenVPN în Debian

Lista secțiunilor

VPN (Rețeaua privată virtuală) este o rețea privată virtuală. VPN - un sistem care vă permite să organizați o rețea virtuală care conectează mai multe rețele la distanță într-un singur întreg printr-o rețea terță parte care nu poate furniza în același timp securitate. De exemplu, asocierea rețelelor de sucursale într-una prin Internet. Securitatea și fiabilitatea sunt furnizate prin intermediul criptografiei.







De ce pot avea nevoie de un server VPN? În versiunea profesională - pentru acces securizat la server sau la o rețea cu mai multe servere sau computere de lucru. Puteți organiza utilizatorii de oriunde din lume prin intermediul internetului și un laptop pentru mașinile lor, la birou sau de a avea acces la administratorii de sistem la serverele localizate în rețeaua locală de la locurile de muncă la distanță.

Într-o versiune mult mai puțin profesionistă - pentru a accesa site-urile închise din birou. În cazul în care administratorul rău a închis accesul la site-ul dorit și, în același timp, pur și simplu din întâmplare aveți un server de acasă ruleaza pe Debian 6, puteți configura VPN-tunel cu masina mea de lucru pentru a VPN-server în casa ta și bucurați-vă de Internet fără restricții.

În acest ghid, vom stabili o rețea VPN pe baza OpenVPN pentru Debian Linux 6. Managementul De asemenea, în text sunt date extrase lungi din jurnal, astfel încât atunci când reglați pentru prima dată, nu știu cum ar trebui să arate conținutul normal al jurnalului. Ne vom aștepta, de asemenea, că ați creat deja rețeaua.

A doua comandă nu a dat niciun rezultat pe serverul meu, dar VPN nu a oprit-o.

Instalarea serverului OpenVPN

Presupunem că toate acțiunile de pe server sunt făcute din rădăcină.

Ca rezultat, serverul a folosit următoarele versiuni software: Debian 6.0.7, OpenVPN 2.1.3-2, OpenSSL 0.9.8o

Generarea de chei

Creați un director pentru chei:

În acesta copiem utilitare și config-uri pentru a lucra cu chei:

UPD. Dacă aveți o versiune mai nouă a OpenVPN și easy-rsa în livrare, atunci puteți vedea următorul mesaj de eroare:

cp: nu se poate determina starea „/usr/share/doc/openvpn/examples/easy-rsa/2.0/*“: Nu există un astfel de fișier sau director

Nu-ți fie frică. Este suficient să îl instalați din depozit:

și copiați fișierele dintr-un alt director:

Acest lucru se face astfel încât după actualizarea serverului OpenVPN, modificările pe care le-am făcut nu sunt suprascrise.

Accesați acest director:

În fișierul vars, configurați parametrii cheie:

Suntem interesați doar de următorul bloc:

Schimbăm la ceva de genul:

Ștergem cheile vechi și cheile serverului din certificate și chei vechi:

Generarea unei chei private RSA de 1024 biți
. ++++++
. ++++++
scrierea unei chei private private în 'ca.key'
-----
Sunteți pe punctul de a fi rugați să introduceți informații care vor fi incluse
în cererea dvs. de certificat.
Care este numele unui Nume Distins sau al unui DN.
Există destul de multe domenii, dar puteți lăsa câteva
Pentru unele câmpuri va exista o valoare implicită,
Dacă introduceți ".", Câmpul va fi lăsat necompletat.
-----
Numele țării (cod de 2 litere) [RU]:
Nume de stat sau de provincie (numele complet) [Leningradskaya]:
Numele localității (de exemplu, orașul) [SaintPetersburg]:
Numele organizației (de exemplu, compania) [Firmă]:
Numele unității organizaționale (de exemplu, secțiunea) []:
Nume obișnuit (de exemplu, numele dvs. sau numele de gazdă al serverului dvs.) [Firmă CA]: debgate
Nume []: vasya
Adresa de e-mail [[protejată prin e-mail]]:

Parantezele pătrate indică valorile implicite, cele specificate în fișierul vars. În astfel de rânduri, puteți apăsa tasta "Enter".

Generați cheia de server:

Generarea unei chei private RSA de 1024 biți
. ++++++
. ++++++
scrierea unei chei private private în "server.key"
-----
Sunteți pe punctul de a fi rugați să introduceți informații care vor fi incluse
în cererea dvs. de certificat.
Care este numele unui Nume Distins sau al unui DN.
Există destul de multe domenii, dar puteți lăsa câteva
Pentru unele câmpuri va exista o valoare implicită,
Dacă introduceți ".", Câmpul va fi lăsat necompletat.
-----
Numele țării (cod de 2 litere) [RU]:
Nume de stat sau de provincie (numele complet) [Leningradskaya]:
Numele localității (de exemplu, orașul) [SaintPetersburg]:
Numele organizației (de exemplu, compania) [Firmă]:
Numele unității organizaționale (de exemplu, secțiunea) []:
Nume obișnuit (de exemplu, numele dvs. sau numele de gazdă al serverului dvs.) [server]:
Nume []:
Adresa de e-mail [[protejată prin e-mail]]:

Introduceți următoarele atribute "extra"
pentru a fi trimise cu certificatul dvs.
O parolă de provocare []:
Un nume de companie opțional []:
Folosind configurația din /etc/openvpn/easy-rsa/openssl.cnf
Verificați dacă cererea corespunde semnăturii
Semnătura ok
Denumirea distinsă a disciplinei este după cum urmează
countryName: PRINTABLE: "RU"
stateOrProvinceName: PRINTABLE: "Leningradskaya"
localityName: PRINTABLE: 'SaintPetersburg'






organizațieName: PRINTABLE: "Firm"
commonName: PRINTABLE: "server"
emailAdresa: IA5STRING: '[protejat prin e-mail]'
Certificatul trebuie să fie atestat până la 24 martie 14:50:43 2023 GMT (3650 zile)
Semnează certificatul? [y / n]: y

1 din 1 cereri de certificat certificate, comite? [y / n] y
Scrieți baza de date cu 1 intrări noi
Baza de date actualizată

În acest proces, puteți seta parola pentru certificat pentru o mai mare securitate.

Generați certificatul client:

Generarea unei chei private RSA de 1024 biți
. ++++++
. ++++++
scrierea unei chei private private în "user.key"
-----
Sunteți pe punctul de a fi rugați să introduceți informații care vor fi incluse
în cererea dvs. de certificat.
Care este numele unui Nume Distins sau al unui DN.
Există destul de multe domenii, dar puteți lăsa câteva
Pentru unele câmpuri va exista o valoare implicită,
Dacă introduceți ".", Câmpul va fi lăsat necompletat.
-----
Numele țării (cod de 2 litere) [RU]:
Numele de stat sau provincie (numele complet) [LO]:
Numele localității (de exemplu, orașul) [SaintPetersburg]:
Numele organizației (de exemplu, compania) [Firmă]:
Numele unității organizaționale (de exemplu, secțiunea) []:
Nume obișnuit (de exemplu, numele dvs. sau numele de gazdă al serverului dvs.) [utilizator]:
Nume []:
Adresa de e-mail [[protejată prin e-mail]]:

Introduceți următoarele atribute "extra"
pentru a fi trimise cu certificatul dvs.
O parolă de provocare []:
Un nume de companie opțional []:
Folosind configurația din /etc/openvpn/easy-rsa/openssl.cnf
Verificați dacă cererea corespunde semnăturii
Semnătura ok
Denumirea distinsă a disciplinei este după cum urmează
countryName: PRINTABLE: "RU"
stateOrProvinceName: PRINTABLE: 'LO'
localityName: PRINTABLE: 'SaintPetersburg'
organizațieName: PRINTABLE: "Firm"
commonName: PRINTABLE: "user"
emailAdresa: IA5STRING: '[protejat prin e-mail]'
Certificatul trebuie certificat până la 28 martie 13:30:46 2023 GMT (3650 zile)
Semnează certificatul? [y / n]: y

1 din 1 cereri de certificat certificate, comite? [y / n] y
Scrieți baza de date cu 1 intrări noi
Baza de date actualizată

Dacă creați un VPN pentru rețeaua corporativă, nu neglijați parolele. De asemenea, pentru fiecare client, trebuie să generați chei separate. Cu toate acestea, puteți utiliza o cheie pentru mai mulți clienți, dar această versiune are dezavantaje.

Rețineți că câmpurile Nume comun pentru server și client trebuie să fie diferite.

Generăm cheia Diffie-Hellman:

Generarea parametrilor DH, primă sigură de 1024 biți, generator 2
Acest lucru va dura mult timp

În cele din urmă, ultima cheie pentru autentificarea tls este:

După aceea, în directorul / etc / openvpn / easy-rsa / keys /, s-au creat un număr suficient de fișiere, dintre care unele sunt necesare serverului, iar altele de către client.

Copiați tastele de server în directorul / etc / openvpn:

Clientul va avea nevoie de următoarele chei:

user.crt
user.key
ca.crt
ta.key

Cheia ta.key este necesară pentru autentificarea tls, pe care o vom configura în a doua etapă.

Configurarea serverului OpenVPN

Fișierul de configurare de bază poate fi obținut după cum urmează:

Rulează fișierul de configurare al serverului VPN din Debian:

Am stabilit următorii parametri:

Datorită acestor parametri, vom alege portul, de protocol, tipul de conexiune, specificați certificate Solicitarea setărilor VPN-rețea, specificați fișierul în care pentru a stoca setările de conectare (astfel încât să le puteți restaura după reconectarea client), setat la parametrii de menținere a conexiunii, vă rugăm să folosiți compresia datelor transmise , specifică serverul la repornire nu se conectează la resursele care pot fi disponibile din cauza reducerii privilegiilor, Cerând starea fișierului (care conține informații despre clienții aflați în legătură), fișierul jurnal și nivelul de implicite bnosti informații de depanare.
Dacă aveți nevoie de mai multe informații de depanare, puteți seta parametrul verbului la o valoare de până la 9. În majoritatea cazurilor, trebuie să aveți o valoare de 5 sau maxim 6.

După aceea, porniți serverul din linia de comandă pentru verificare:

Deși cel mai probabil după instalarea openvpn în Debian, daemon va fi deja în desfășurare și că nu interferează cu noi, ar trebui să fie oprit:

Dacă totul este bine, după pornirea serverului în jurnal ar trebui să fie aproximativ următoarele:

Configurarea clientului OpenVPN

Am folosit distribuția Linux Mint 14 bazată pe Ubuntu, care, la rândul ei, se bazează pe Debian. Pe client, acțiunile au fost efectuate sub un utilizator neprivilat folosind comanda sudo.

Vă reamintesc că clientul trebuie să treacă următoarele chei:

Apoi, pe mașina client, plasați-le în directorul / etc / openvpn /.

Copiați fișierul cu configurația aproximativă a clientului în directorul dorit:

Mai jos este o listă de directive de bază care vă permit să vă conectați la un server configurat anterior:

După aceea, dacă totul este bine, atunci nu trebuie să apară nimic în consola și instrucțiunile din linia de comandă nu ar trebui să fie afișate. Următoarele ar trebui să apară aproximativ în jurnalul /var/log/openvpn.log al clientului:

Următoarele vor fi adăugate în jurnalul serverului:

Am configurat serverul OpenVPN în Debian la un nivel minim, verificat performanța acestuia. Rămâne să adăugați criptarea tls și să înfășurați tot traficul clientului pe serverul VPN.

Adăugați criptarea tls

Pe server scrieți în /etc/openvpn/server.conf:

Pe clientul din /etc/openvpn/client.conf:

De fapt, diferența este doar în prima linie. Pe serverul de la sfârșitul liniei se stabilește zero, pe client - unul.

Din nou, conectați, ping 10.8.0.1. Dacă trece ping-ul, atunci totul este bine.

Dacă serverul VPN este repornit, atunci după conectarea la client în jurnal, următoarele vor fi aproximativ:

După cum puteți vedea, au existat linii despre tasta ta.key. de asemenea, liniile despre cifru s-au schimbat.

Am înfășurat tot traficul către serverul VPN

Aici trebuie să înlocuiți fișierul de configurare numai pe server. Adăugăm următoarele linii:

Prima linie modifică gateway-ul implicit la cel stabilit pe serverul VPN. După deconectare, gateway-ul setat anterior pe client va fi returnat.

A doua linie specifică serverul DNS care va fi folosit după conectarea la serverul VPN.

De asemenea, trebuie să specificăm pe server o regulă pentru rutarea traficului de la rețeaua de server VPN la rețeaua locală sau la rețeaua ISP. În debian, aceasta poate fi o regulă pentru iptables:

Acum puteți să deschideți în mod normal serverul și clientul:

Singurul inconvenient la lansarea daemonului pe client va fi suportat constant de o conexiune VPN. Puteți citi cum să dezactivați indexarea automată a daemonului în articolul despre gestionarea inițierii în debian.

Dacă utilizați Linux pe computerul dvs. de lucru, puteți utiliza modulul la Network-Manager pentru a vă conecta ușor la VPN.

Mai multe opțiuni

client-to-client - permite clienților serverului VPN să comunice între ei.
duplicate-cn - parametrul ar trebui adăugat dacă ați creat aceleași chei pentru toți clienții, dar clienții sunt reprezentați prin nume comun diferit.
max-clients 100 - să limiteze numărul maxim de clienți conectați simultan

Pentru a îmbunătăți securitatea sistemelor linux, puteți reduce drepturile serverului VPN:

UPD. Dacă, după toate, aveți o problemă cu dispozitivele NAT și TUN, activați suportul pentru redirecționare. Pentru aceasta, setați următorul parametru în fișierul /etc/sysctl.conf:

și apoi aplicați-o cu comanda:







Articole similare

Trimiteți-le prietenilor: