Cum se configurează serverul WireGuard VPN în pfSense

WireGuard VPN Server în pfSense

WireGuard VPN este un nou protocol robust și foarte rapid pentru crearea de rețele private virtuale, în acest articol am văzut cum este capabil să dubleze și chiar să tripleze OpenVPN sau IPsec în viteză. Acest nou protocol VPN este ideal pentru configurații de acces la distanță cu clienții mobili, fie că sunt smartphone-uri, tablete sau laptopuri, deoarece consumă foarte puține resurse, iar conexiunea este foarte rapidă. Sistemul de operare pfSense din versiunea 2.5.0 a încorporat oficial acest nou VPN, împreună cu IPsec, L2TP și, de asemenea, OpenVPN. Astăzi vă vom arăta cum să configurați WireGuard VPN de la zero în pfSense 2.5.0 pentru a vă conecta de la distanță.

Caracteristici WireGuard VPN

VPN WireGuard este un software foarte ușor care ne va permite să configuram rapid și ușor un tunel VPN, implicit, face uz de cea mai modernă criptografie, fără a fi nevoie să alegem diferiți algoritmi de criptare asimetrici, asimetrici sau hash, implicit avem un sistem securizat. suită în mod implicit, spre deosebire de alte protocoale VPN. Scopul WireGuard este să devină cel mai bun VPN atât pentru utilizatorii casnici, cât și pentru cei de afaceri și are succes pentru că a fost deja integrat în Linux Kernel ne oferă cea mai bună performanță posibilă.

În ceea ce privește criptografia utilizată, avem ChaCha20 pentru criptarea simetrică, autentificată cu Poly1305 , deci avem AEAD. De asemenea, folosește Curve25519 pentru ECDH, BLAKE2 pentru hashing, SipHash24 pentru tastele hashtable și HKDF pentru derivarea cheii. După cum ați văzut, avem cei mai moderni algoritmi criptografici utilizați în mod implicit și nu îl putem schimba pentru alții în acest moment, trebuie să fie aceștia da sau da.

Cu acest nou VPN nu va trebui să gestionăm conexiunile sau să facem configurații dificile, funcționează doar în modul tunelare deoarece este un VPN L3 și folosește protocolul UDP ca strat de transport și nu permite selectarea TCP, ce putem face este modificarea portului de ascultare pentru oricine dorim. Desigur, serverul WireGuard poate fi în spatele NAT fără probleme, ar trebui să se facă doar o redirecționare a porturilor. Alte caracteristici interesante sunt faptul că permite roamingul între rețele rapid și ușor, să fie conectat întotdeauna de la orice WiFi sau rețeaua 4G / LTE fără a întrerupe conexiunea. În plus, putem activa și Kill-Switch pentru a preveni scurgerile de date dacă VPN-ul cade.

În cele din urmă, acest nou VPN este compatibil cu mai multe sisteme de operare precum ferestre din, Linux, MacOS, FreeBSD, Android, Si deasemenea iOS . Acum, echipa de dezvoltare pfSense 2.5.0 a încorporat implicit WireGuard în sistemul lor, deși anterior am putea să-l instalăm, dar nu am avut suport oficial.

Configurarea serverului WireGuard VPN

Înainte de lansarea pfSense 2.5.0, dacă am fi vrut să avem WireGuard pe această versiune completă firewall, a trebuit să-l instalăm manual pe sistem prin descărcarea unor pachete compatibile FreeBSD. Datorită echipei de dezvoltare pfSense, începând cu versiunea 2.5.0, este deja implicit integrat în interfața grafică cu utilizatorul.

Primul lucru pe care trebuie să-l facem este să mergem la „ VPN / WireGuard ”Pentru a introduce configurația acestui nou protocol VPN. De îndată ce intrăm în meniu, facem clic pe «Adăugare tunel».

În configurația tunelului, trebuie să activăm tunelul, să îi oferim o descriere și să punem următoarele:

  • Adresă: adresa IPv4 sau IPv6 a serverului VPN pentru interfața tunelului.
  • Port: implicit este 51820 UDP, dar putem trece la orice port UDP.

pfSense încorporează un generator de chei publice / private pentru serverul VPN cu WireGuard, recomandarea noastră este să generați câteva chei pentru clientul VPN și să faceți clic din nou pe „Generați”, astfel încât al doilea care este generat să fie cel al VPN Server. De exemplu, următoarele chei sunt cele pe care le vom folosi mai târziu în clientul VPN. Vă puteți ajuta cu un blocnotes sau Notepad ++ pentru a înregistra configurația.

Pentru a facilita configurarea WireGuard cu chei publice și private, puteți utiliza și fișierul instrumentul wireguardconfig care ne va permite să generăm automat atât serverul, cât și clienții, pentru a-l adapta ulterior la pfSense.

Iar cele de-a doua generate sunt cele ale serverului VPN în sine cu WireGuard.

Odată ce avem cheile, trebuie să facem clic pe „Salvare” și vom fi creat serverul VPN cu configurația anterioară:

Odată ce îl avem, acum trebuie să înregistrăm „colegii”, adică clienții VPN. Ne întoarcem la configurația serverului WireGuard și facem clic pe „Adăugați peer”, care este în verde. Aici va trebui să completăm câteva setări, dar nu este necesar să le completăm pe toate.

Acum vom explica la ce servesc fiecare dintre opțiuni:

  • Descriere: am pus o descriere acestui client, de exemplu, numele nostru.
  • Punct final: punem adresa IP publică a clientului VPN.
  • Portul punct final: punem portul clientului VPN.

Dacă aveți de gând să configurați un client VPN, unde se modifică adresa IP și portul public al clientului, atunci trebuie să lăsăm opțiunile „Endpoint” și „Endpoint Port” goale . Aceste opțiuni trebuie completate dacă vom configura un VPN Site-to-Site, dar în acces la distanță (Roadwarrior) nu este necesar să le completăm.

  • Păstrați în viață: o valoare în secunde, din când în când verifică dacă tunelul este încă activ, în mod implicit este dezactivat.

Acum vin cele mai importante setări:

  • Cheie publică: trebuie să punem cheia publică a clientului VPN, anterior ați văzut cum este generată pentru client, deoarece aici vom pune cheia publică.
  • Adrese IP permise: dacă vrem să existe redirecționare internet și acces la toate rețelele, punem 0.0.0.0/0. Cel mai normal este că clienții VPN cu acces la distanță merg la Internet prin intermediul VPN-ului în sine, dar aici putem configura accesul specific la diferite rețele.
  • Adresa Peer WireGuard: adresa IP a partenerului înregistrat.
  • Cheie pre-partajată: opțional, puteți adăuga o cheie pre-partajată pentru a spori și mai mult securitatea.

În cazul nostru, nu am pus o cheie pre-partajată, dar dacă o puneți, atât în ​​pfSense, cât și în clientul VPN trebuie să fie exact la fel și trebuie să generăm această cheie cu butonul albastru care vine în pfSense. De exemplu, nu putem pune cheia pre-partajată „12345678”, trebuie să folosim generatorul pfSense.

Odată ce am configurat corect serverul WireGuard VPN în pfSense 2.5.0, vom configura partea firewall, deoarece în mod implicit este întotdeauna în modul blocare totul.

Configurare firewall pe WAN și WireGuard

Înainte de a conecta primul client VPN, trebuie să mergem la „Firewall / Reguli” și să adăugăm o nouă regulă pe interfața Internet WAN. Adăugăm o nouă regulă cu următoarele informații:

  • Acțiune: Treceți
  • Interfață: WAN
  • Familia de adrese: IPv4, IPv6 sau ambele
  • Protocol: UDP
  • Sursă: orice (dacă aveți de gând să configurați un site-la-site cu WireGuard, ați putea pune adresa IP sursă aici pentru a îmbunătăți securitatea).
  • Destinație: Adresă WAN pe portul 51820

Odată configurat, facem clic pe «Salvare» pentru a salva această regulă și aplicăm modificări, ca întotdeauna când adăugăm o nouă regulă la firewall.

Odată ce acest lucru este făcut, acum trebuie să mergem la Interfața «WireGuard» care a fost creat automat în « Firewall / Reguli «Secțiunea, aici va trebui să permitem toate comunicațiile odată ce a fost conectată sau doar ceea ce dorim, la fel ca OpenVPN sau IPsec.

În următoarea configurație, puteți vedea că avem o regulă cu următoarea configurație:

  • Acțiune: Treceți
  • Interfață: WireGuard
  • Familia de adrese: IPv4, IPv6 sau ambele
  • Protocol: Orice
  • Sursa: oricare
  • Destinație: oricare

Facem clic pe „Salvare” și aplicăm modificările, ca de obicei. În acest moment suntem pregătiți să configurăm clienții VPN cu WireGuard.

Configurați clienții WireGuard VPN și conectați-vă la pfSense

Configurarea clienților VPN cu WireGuard este aceeași pe toate platformele, vom avea nevoie de aceleași informații. În cazul nostru, am folosit un smartphone Android, puteți descărca mai jos aplicația oficială WireGuard pentru Android și iOS:

Dar îl avem și pentru alte sisteme de operare, cum ar fi Windows, direct de pe site-ul oficial al acestui protocol VPN. Odată ce l-am instalat, vom putea configura cu ușurință clientul.

După cum am mai spus, recomandarea noastră este ca, atunci când generați cheile în pfSense, să copiați aceste chei într-un bloc de notă, atât cheia publică, cât și cheia privată. În plus, trebuie să copiați și cheia publică a serverului. Odată ce acest lucru este făcut, deschidem WireGuard și continuăm să adăugăm un nou tunel VPN, avem trei opțiuni:

  • Importați toată configurația din fișier, dacă aveți de gând să configurați mai mulți clienți, cum ar fi Windows, Linux etc., este normal să aveți un șablon cu diferite configurații.
  • Scanați din cod QR: dacă folosim instrumentul WireGuardConfig, îl putem face cu ușurință.
  • Creați de la zero: aceasta este opțiunea pe care am ales-o.

Când adăugăm un VPN nou, trebuie să completăm toate sau aproape toate informațiile pe care ni le solicită, acesta este clientul VPN:

  • Nume: vom pune o descriere a tunelului VPN, un nume descriptiv în cazul în care avem mai multe.
  • Cheie privată: punem cheia privată pe care am copiat-o anterior din notepad.
  • Cheie publică: atunci când introduceți cheia privată, aceasta o generează automat
  • Adrese: IPv4 sau IPv6 client, în acest caz, am configurat anterior 10.9.0.2/32, am pus acest lucru.
  • Port: îl lăsăm necompletat
  • Servere DNS: putem pune un server DNS specific sau direct care rezolvă tunelul.
  • MTU: îl lăsăm necompletat.

Acum facem clic pe Adăugare pereche și vor fi afișate mai multe configurații, aceste configurații sunt cele ale serverului VPN.

  • Peers - Cheia publică a serverului VPN.
  • Cheie pre-partajată: dacă nu am configurat, o lăsăm necompletată, dacă am configurat o copiem exact la fel.
  • Întreținere persistentă: păstrați în viață, se recomandă să o lăsați necompletată.
  • Punct final: trebuie să punem sintaxa „IP: port”, prin urmare, putem pune: „vpn.redeszone.net:51820”.
  • IP-uri permise: dacă vrem să le punem pe toate, punem 0.0.0.0/0. De asemenea, avem un buton pentru a exclude adresele IP private.

Odată ce am făcut-o, facem clic pe Salvare și vom putea vedea toate setările făcute.

Odată adăugat și verificat că totul este corect, continuăm să ne conectăm și vom vedea că există schimb de trafic și că VPN-ul funcționează perfect.

Dacă nu am primit pachete, înseamnă că este ceva în neregulă și tunelul WireGuard VPN nu a fost stabilit corect. Dacă vi se întâmplă acest lucru, va trebui să examinați toate configurațiile făcute și să examinați jurnalele pfSense pentru a vedea ce se întâmplă.

Sperăm că, cu acest tutorial, ați reușit să configurați serverul VPN WireGuard în magnificul dvs. pfSense 2.5.0