Căutam o soluție VPN capabilă să rezolve două situații distincte. În deplasări, prioritatea mea este accesul nerestricționat la rețeaua de acasă (LAN) pentru a acces la NAS ori HomeAssistant. În schimb, familia și prietenii au nevoie doar de o ieșire sigură pe internet prin IP-ul rezidențial, utilă mai ales pentru a accesa conținutul serviciilor de streaming blocat geografic.

Dashboard OPNsense

Pentru a împăca ambele scenarii, cea mai curată metodă este separarea traficului. Am documentat aici procesul complet pentru a configura WireGuard pe OPNsense (versiunile 25.x sau mai noi) folosind noua interfață cu „Instanțe” și „Peers”, creând o rețea „Admin” pentru mine și o rețea „Guest” izolată pentru ceilalți.

Contextul și Variabilele

Înainte de a trece la treabă, definim variabilele; adaptați-le la configurația voastră.

Deși în capturile de ecran veți observa interfața denumită WG_Server (o rămășiță a configurării inițiale), în acest ghid am folosit terminologia corectă și logică: WG_Admin. Această distincție este esențială pentru a separa accesul complet al administratorilor de cel limitat al oaspeților (WG_Guest).

  • Router: OPNsense
  • IP LAN OPNsense: 10.20.30.1
  • Rețea LAN: 10.20.30.0/24
  • Server DNS (AdGuard): 10.20.30.1 (rulează pe OPNsense)
  • Adresă Publică (DDNS): vpnulmeu.duckdns.org
  • Rețea VPN Admin: 10.100.100.0/24 (aleasă de noi)
  • Rețea VPN Guest: 10.200.200.0/24 (aleasă de noi)

Partea 1: Instalare Plugin

Dacă nu este deja instalat:

  1. Mergeți la System » Firmware » Plugins.
  2. Căutați os-wireguard și apăsați + (Install).

Partea 2: Configurare Rețea VPN „Admin” (Acces Total)

2.1. Creare Instanță WireGuard (Admin)

  1. Mergeți la VPN » WireGuard » Instances.
  2. Apăsați + (Add).
  3. Completați:
    • Enabled: Bifat.
    • Name: WG_Admin
    • Public Key / Private Key: Apăsați (generate).
    • Listen Port: 51820 (Portul pentru admini)
    • Tunnel Address: 10.100.100.1/24 (IP-ul serverului în rețeaua Admin)
    • Deocamdată nu adăugați niciun peer.
  4. Apăsați Save.

Instanța WireGuard Admin

2.2. Asignare Interfață Virtuală (Admin)

  1. Mergeți la Interfaces » Assignments.
  2. La „New interface”, selectați instanța wg0 (WG_Admin) și apăsați +.
  3. O nouă interfață va apărea (ex: OPT3). Apăsați pe numele ei.
  4. Configurează:
    • Enable: Bifat.
    • Description: WG_ADMIN
  5. Apăsați Save, apoi Apply Changes.

Interfața de rețea WG_Admin

2.3. Reguli Firewall (Admin)

  1. Regula WAN (Permite conexiunea):
    • Mergeți la Firewall » Rules » WAN.
    • Apăsați + (Add).
    • Action: Pass
    • Protocol: UDP
    • Destination: WAN address
    • Destination Port Range: 51820
    • Description: Allow WG Admin Inbound
    • Apăsați Save și Apply Changes.
  2. Regula Interfață VPN (Permite tot traficul):
    • Mergeți la Firewall » Rules » WG_ADMIN
    • Apăsați + (Add).
    • Action: Pass
    • Source: WG_ADMIN net (Alias pentru 10.100.100.0/24)
    • Destination: any
    • Description: Allow WG Admin to All
    • Apăsați Save și Apply Changes.

2.4. Configurare Outbound NAT (Admin)

Spunem OPNsense să mascheze traficul VPN când iese pe internet.

  1. Mergeți la Firewall » NAT » Outbound.
  2. Setați Mode în Hybrid outbound NAT rule generation.
  3. Apăsați Save.
  4. În secțiunea „Manual rules” care apare, apăsați + (Add).
  5. Completați:
    • Interface: WAN
    • Source Address: 10.100.100.0/24 (Rețeaua VPN Admin)
    • Translation / Target: WAN address
    • Description: NAT pentru WG Admin
    • Apăsați Save și Apply Changes.

Firewall - NAT - Outbound

2.5. Integrare AdGuard (Admin)

Permitem rețelei VPN să folosească serverul DNS.

  1. Accesați interfața web AdGuard Home.
  2. Mergeți la Setări » Setări DNS » Setări de acces.
  3. La Clienți autorizați, adăugați o linie nouă:
10.100.100.0/24
  1. Apăsați Save.

clienti autorizati AdGuard

Partea 3: Configurare Rețea VPN „Guest” (Doar Internet)

Repetăm pașii, dar cu valori diferite și reguli de firewall stricte.

3.1. Creare Instanță WireGuard (Guest)

  1. Mergeți la VPN » WireGuard » Instances și apăsați + (Add).
  2. Completați:
    • Enabled: Bifat.
    • Name: WG_Guest
    • Listen Port: 51821 (Port diferit de cel al adminilor)
    • Tunnel Address: 10.200.200.1/24 (IP-ul serverului în rețeaua Guest)
    • Deocamdată nu adăugați niciun peer.
  3. Apăsați Save.

3.2. Asignare Interfață Virtuală (Guest)

  1. Mergeți la Interfaces » Assignments.
  2. La „New interface”, selectați wg1 (WG_Guest) și apăsați +.
  3. Apăsați pe numele noii interfețe (ex: OPT4).
  4. Completați:
    • Enable: Bifat.
    • Description: WG_GUEST
  5. Apăsați Save, apoi Apply Changes.

3.3. Reguli Firewall (Guest)

Firewall - Rules - WG_Guest

  1. Regula WAN (Permite conexiunea):
    • Mergeți la Firewall » Rules » WAN și apăsați + (Add).
    • Action: Pass
    • Protocol: UDP
    • Destination: WAN address
    • Destination Port Range: 51821 (Portul Guest)
    • Description: Allow WG Guest Inbound
    • Apăsați Save și Apply Changes.
  2. Reguli Interfață VPN (Securitate Guest): Aici ordinea este CRITICĂ. Creăm regulile în ordinea în care trebuie procesate.
    • Mergeți la Firewall » Rules » WG_GUEST.
    • Regula 1 (Allow DNS):
      • Apăsați + (Add).
      • Action: Pass
      • Protocol: TCP/UDP
      • Source: WG_GUEST net
      • Destination: 10.20.30.1 (IP-ul AdGuard)
      • Destination Port Range: 53 (DNS)
      • Description: Allow Guest VPN to AdGuard DNS
      • Apăsați Save.
    • Regula 2 (Block LAN):
      • Apăsați + (Add).
      • Action: Block
      • Source: WG_GUEST net
      • Destination: LAN net (Alias pentru 10.20.30.0/24)
      • Description: Block Guest VPN to LAN
      • Apăsați Save.
    • Regula 3 (Allow Internet):
      • Apăsați + (Add).
      • Action: Pass
      • Source: WG_GUEST net
      • Destination: any
      • Description: Allow Guest VPN to Internet
      • Apăsați Save.
    • Verificați ordinea finală: Lista trebuie să fie exact așa: 1. Pass DNS, 2. Block LAN, 3. Pass Internet.
    • Apăsați Apply Changes.

3.4. Configurare Outbound NAT (Guest)

  1. Mergeți la Firewall » NAT » Outbound.
  2. În secțiunea „Manual rules”, apăsați + (Add).
  3. Completați:
    • Interface: WAN
    • Source Address: 10.200.200.0/24 (Rețeaua VPN Guest)
    • Translation / Target: WAN address
    • Description: NAT pentru WG Guest
    • Apăsați Save și Apply Changes.

Firewall - NAT - Outbound pentru Guests

3.5. Integrare AdGuard (Guest)

  1. Accesați interfața web AdGuard Home.
  2. Mergeți la Settings » DNS settings » Access settings.
  3. La Allowed clients, adăugați o linie nouă:
10.200.200.0/24
  1. Apăsați Save.

Partea 4: Generare Clienți (Peers)

Folosim „Peer Generator” pentru a crea rapid clienți. Înante veți avea nevoie de un cont pe un serviciu Dynamic DNS (DDNS), DuckDNS, de exemplu, și de un subtomeniu, cum ar fi „vpnulmeu.duckdns.org”.

Peer WireGuard OPNsense

4.1. Creare Client ADMIN

  1. Mergeți la VPN » WireGuard » Peer Generator.
  2. Completați:
    • Mode: Client
    • Instance: WG_Admin
    • Name: Admin_iPhone
    • Public Key / Private Key: Apăsați (generate).
    • Address: 10.100.100.2/32 (Primul IP din rețeaua Admin)
    • Server Address: vpnulmeu.duckdns.org
    • Server Port: 51820 (Portul Admin)
    • DNS Server: 10.20.30.1
    • Allowed IPs: 10.20.30.0/24, 10.100.100.0/24 (Split-tunnel pentru acces LAN)
    • Persistent Keepalive: 25
  3. Apăsați Add.
  4. Mergeți la tab-ul Peers și scanați codul QR cu telefonul vostru.

4.2. Creare Client GUEST (pentru TV, etc.)

  1. Mergeți la VPN » WireGuard » Peer Generator.
  2. Completați:
    • Mode: Client
    • Instance: WG_Guest
    • Name: Guest_TV
    • Public Key / Private Key: Apăsați (generate).
    • Address: 10.200.200.2/32 (Primul IP din rețeaua Guest)
    • Server Address: vpnulmeu.duckdns.org
    • Server Port: 51821 (Portul Guest)
    • DNS Server: 10.20.30.1
    • Allowed IPs: 0.0.0.0/0 (Full-tunnel pentru Internet)
    • Persistent Keepalive: 25
  3. Apăsați Add.
  4. Copiați textul de configurare. Acesta este fișierul .conf pe care îl veți încărca pe dispozitivul „guest”.
[Interface]
PrivateKey = ...
Address = 10.200.200.2/32
DNS = 10.20.30.1

[Peer]
...

Partea 5: Ghid de Depanare Rapidă

Status Peers WireGuard

Problema 1: Fără Handshake

Clientul apare „activ”, dar „Last Handshake” rămâne gol.

  • Verifică 1 (Client): Sunteți pe date mobile (4G/5G)? Nu testați niciodată din aceeași rețea LAN.
  • Verifică 2 (Firewall WAN): Regula de firewall pe WAN este corectă? Portul (51820 sau 51821) este corect și protocolul este UDP?
  • Verifică 3 (Log Firewall): Mergeți la Firewall » Log Files. Încearcați să vă conectați. Vedeți pachete blocate (cu roșu) pe portul UDP corect?
  • Verifică 4 (DDNS): De pe telefon (pe 4G), dați un ping la vpnulmeu.duckdns.org. Se rezolvă la IP-ul public corect al casei voastre?
  • Verifică 5 (Restart): Mergeți la VPN » WireGuard » Instances și apăsați pictograma de restart pentru instanța relevantă.

Problema 2: Handshake OK, dar nu merge Internetul sau LAN-ul

  • Verifică 1 (Outbound NAT): Ați setat modul pe Hybrid? Ați creat regula manuală de NAT pentru rețeaua VPN respectivă (10.100.100.0/24 sau 10.200.200.0/24)?
  • Verifică 2 (Reguli Firewall VPN): Mergeți la regulile interfeței (ex: WG_GUEST). Sunt regulile corecte? Dacă sunteți „Guest” și vreți internet, aveți o regulă BLOCK LAN și PASS ANY în această ordine?

Problema 3: Handshake OK, dar paginile nu se încarcă (problemă DNS)

Firewall - Guests - DNS

  • Verifică 1 (Log AdGuard): Mergeți la Jurnal interogări în AdGuard. Când vă conectați, vedeți cereri venind de la IP-ul vostru VPN (ex: 10.200.200.2)?
  • Verifică 2 (AdGuard Allowed): Dacă nu vedeți cereri, mergeți la Settings » DNS settings » Access settings. Ați adăugat rețeaua VPN (ex: 10.200.200.0/24) la Allowed clients?
  • Verifică 3 (Regula Firewall DNS): Dacă sunteți „Guest”, ați creat regula specială care permite traficul (Port 53) de la WG_GUEST net către 10.20.30.1? Este această regulă deasupra regulii BLOCK LAN?

Configurația de mai sus rezolvă accesul de bază, dar plănuiesc ca în curând să explic și o metodologie mai complexă: cum am evitat blocajele La Liga, care afectează toate site-urile protejate de Cloudflare, folosind două rețele WireGuard noi, WG_București și WG_Cluj, configurate în failover direct din OPNsense, pentru a asigura continuitatea în caz că una dintre ele pică.

Spune-ți părerea!

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.