For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cum configurezi un VPN WireGuard pe Ubuntu

WireGuard este un protocol VPN modern. Este mai rapid, mai simplu si mai sigur decat solutiile mai vechi ca OpenVPN. Un singur fisier de configurare este tot ce ai nevoie pentru a incepe.

Configurarea propriului VPN pe un VPS iti ofera un tunel privat catre internet. Iti poti securiza conexiunea pe Wi-Fi public, accesa reteaua de acasa remote sau oferi echipei tale acces securizat la server.

Pasul 1: Instaleaza WireGuard

sudo apt update
sudo apt install wireguard -y

Pasul 2: Genereaza cheile serverului

WireGuard foloseste chei publice si private, similar cu SSH:

cd /etc/wireguard
umask 077
wg genkey | tee server-private.key | wg pubkey > server-public.key

Asta creaza doua fisiere. server-private.key ramane secret pe server. server-public.key poate fi distribuit clientilor.

Pasul 3: Creaza configuratia serverului

sudo nano /etc/wireguard/wg0.conf

Adauga urmatoarele, inlocuind cheia privata cu cea a serverului tau:

[Interface]
PrivateKey = <cheia-privata-server>
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <cheia-publica-client>
AllowedIPs = 10.0.0.2/32

Obtine cheia privata a serverului:

Inlocuieste eth0 cu interfata ta de retea reala daca este diferita. Verifica cu ip route | grep default.

Pasul 4: Activeaza IP forwarding

Pentru ca VPN-ul sa routeze trafic, activeaza IP forwarding:

Decomenteaza sau adauga aceasta linie:

Aplica:

Pasul 5: Configureaza firewall-ul

Permite portul WireGuard prin UFW:

Pasul 6: Porneste WireGuard

Verifica starea:

Ar trebui sa vezi interfata cu peer-ul configurat.

Pasul 7: Configureaza un client (Linux desktop sau laptop)

Pe calculatorul client, instaleaza WireGuard:

Genereaza cheile clientului:

Creaza configuratia clientului:

Daca setezi AllowedIPs = 0.0.0.0/0, tot traficul trece prin VPN. Daca vrei doar acces la reteaua serverului, foloseste AllowedIPs = 10.0.0.0/24.

Pasul 8: Adauga cheia publica a clientului pe server

Pe server, adauga un alt peer in wg0.conf:

Apoi reporneste WireGuard:

Pasul 9: Conecteaza clientul

Testeaza conexiunea ping-uind serverul de pe client:

Gestionarea WireGuard

Adauga un client nou:

  1. Genereaza chei pe calculatorul client

  2. Adauga o noua sectiune [Peer] pe server

  3. Reporneste WireGuard

  4. Da configuratia clientului utilizatorului

Elimina un client:

Sterge sectiunea [Peer] din configuratia serverului si reporneste.

Verifica conexiunile active:

Fiecare client conectat arata ultimul handshake.

Probleme comune

"Destination address required" AllowedIPs pe client ar putea fi gresit. Pentru tunel complet, foloseste 0.0.0.0/0. Pentru tunel partial, foloseste doar subnet-ul VPN.

Fara internet dupa conectare IP forwarding ar putea fi dezactivat, sau regula NAT face referire la interfata gresita. Verifica sudo sysctl net.ipv4.ip_forward si ip route | grep default.

Handshake fails Asigura-te ca portul UDP 51820 este deschis in firewall. Verifica ca endpoint-ul IP si portul sunt corecte pe client.

Concluzie

WireGuard este cel mai bun VPN pentru majoritatea cazurilor. Simplu de configurat, rapid si sigur. Acum ai propriul server VPN pe VPS-ul tau.

Last updated