Cum să configurați un server OpenVPN pe Debian 11

Rețelele Virtuale Private (VPN) oferă utilizatorilor posibilitatea de a se conecta la rețele private printr-o legătură securizată, folosind o rețea publică. OpenVPN, un software VPN open-source extrem de adaptabil, este adesea utilizat pentru a stabili conexiuni VPN sigure. Acest tutorial vă va ghida prin pașii necesari pentru a configura un server OpenVPN pe un sistem Debian 11.

Pregătirea

Înainte de a începe, asigurați-vă că îndepliniți următoarele condiții:

  • Un server Debian 11 cu o adresă IP fixă
  • Acces cu privilegii sudo sau root
  • Acces la linia de comandă

Pasul 1: Instalarea OpenVPN

Începeți prin actualizarea listei de pachete și instalarea OpenVPN:


sudo apt update
sudo apt install openvpn

Pasul 2: Configurare Server OpenVPN

Creați un fișier de configurare nou pentru serverul OpenVPN:


sudo nano /etc/openvpn/server.conf

Adăugați următoarea configurație în fișier:


port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

Detaliile fișierului de configurare:

  • port: Specifică portul pe care serverul OpenVPN va asculta conexiuni.
  • proto: Specifică protocolul de comunicare (UDP în acest caz).
  • dev: Definește interfața tunel utilizată pentru comunicarea VPN.
  • ca: Calea către fișierul certificatului autorității de certificare (CA).
  • cert: Calea către certificatul serverului.
  • key: Calea către cheia privată a serverului.
  • dh: Calea către parametrii Diffie-Hellman.
  • server: Definește intervalul IP care va fi alocat clienților VPN.
  • push: Trimite setări DHCP către clienți, inclusiv redirecționarea gateway-ului și servere DNS.
  • keepalive: Definește intervalul pentru verificarea conexiunii.
  • cipher: Specifică algoritmul de criptare utilizat.

Pasul 3: Generarea Autorității de Certificare (CA)

Creați cheia CA:


sudo openssl genrsa -out ca.key 4096

Generați un certificat CA auto-semnat:


sudo openssl req -x509 -new -nodes -key ca.key -subj "/C=RO/ST=Bucuresti/L=Bucuresti/O=Organizatia/OU=IT/CN=ca.example.com" -days 3650 -out ca.crt

Pasul 4: Crearea Cheilor Serverului

Generați cheia serverului:


sudo openvpn --genkey --secret /etc/openvpn/ta.key

Creați certificatul serverului:


sudo openvpn --gencert --ca ca.crt --key ca.key --req server.req --out server.crt

Creați cheia privată a serverului:


sudo openvpn --genkey --secret server.key

Pasul 5: Inițializarea Serverului OpenVPN

Inițializați PKI-ul pentru OpenVPN:


sudo openvpn --initpki

Pasul 6: Activarea și Pornirea OpenVPN

Activați serviciul OpenVPN:


sudo systemctl enable openvpn-server@server.service

Porniți serviciul OpenVPN:


sudo systemctl start openvpn-server@server.service

Pasul 7: Configurarea Clientului

Creați un fișier de configurare pentru client:


sudo nano client.ovpn

Adăugați următoarea configurație:


client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
user nobody
group nogroup
cert client.crt
key client.key
ca ca.crt

Explicații pentru fișierul client:

  • remote: Adresa IP și portul serverului OpenVPN. Înlocuiți `your-server-ip` cu adresa IP reală a serverului.
  • resolv-retry: Specifică comportamentul în cazul unor erori de rezolvare DNS.
  • cipher: Algoritmul de criptare folosit.
  • cert: Calea către certificatul clientului.
  • key: Calea către cheia privată a clientului.
  • ca: Calea către certificatul CA.

Pasul 8: Generarea Cheilor Clientului

Generați cheia clientului:


sudo openvpn --genkey --secret client.key

Creați certificatul clientului:


sudo openvpn --gencert --ca ca.crt --key ca.key --req client.req --out client.crt

Concluzii

Ați configurat cu succes un server OpenVPN pe Debian 11. Acum, utilizatorii pot accesa serverul VPN prin intermediul fișierului de configurare a clientului. OpenVPN oferă un nivel superior de securitate și protecție a confidențialității, facilitând accesul sigur la rețele private sau la resurse de la distanță.

Întrebări frecvente

  1. Ce reprezintă OpenVPN?

    OpenVPN este un software VPN open-source, versatil, utilizat pe scară largă pentru crearea de conexiuni VPN securizate.

  2. Care sunt beneficiile OpenVPN?

    OpenVPN oferă securitate și confidențialitate sporite, protecție împotriva scurgerilor DNS și compatibilitate cu multe platforme și dispozitive.

  3. Ce cerințe sunt necesare pentru configurarea unui server OpenVPN?

    Aveți nevoie de un server Debian 11 cu o adresă IP statică, privilegii de administrator (sudo sau root) și acces la linia de comandă.

  4. Cum pot genera cheile necesare pentru server și client?

    Utilizați comenzile OpenVPN indicate în acest ghid pentru a genera cheile serverului și clientului.

  5. Cum mă conectez ca și client la serverul OpenVPN?

    După generarea fișierului de configurare al clientului, utilizați un client VPN, ca OpenVPN Connect, pentru a stabili conexiunea la server.

  6. Cum verific funcționarea serverului OpenVPN?

    Puteți examina logurile serverului sau folosiți comanda systemctl status openvpn-server.

  7. Cum reînnoiesc certificatul serverului?

    Certificatul serverului trebuie reînnoit periodic. Consultați documentația OpenVPN pentru instrucțiuni detaliate: https://openvpn.net/community-resources/how-to/renew-key-and-certificate/.

  8. Cum depanez problemele de conectare?

    Verificați fișierele de log ale serverului sau consultați forumul comunității OpenVPN pentru asistență: https://forums.openvpn.net/.