In linea di principio WireGuard è un protocollo VPN peer-to-peer decentralizzato che, senza utilizzare un server, permette di aprire un tunnel direttamente tra due dispositivi. Un "server" WireGuard è semplicemente un dispositivo su cui sono memorizzate le configurazioni di connessione per diversi utenti.
Il procedimento per stabilire una connessione con WireGuard è simile a SecureShell (SSH): con WireGuard gli utenti ("peers") creano chiavi pubbliche che scambiano tra loro e usano per autenticarsi a vicenda e criptare i pacchetti di dati.
Dopo aver creato le chiavi crittografiche, su ogni utente vengono effettuate diverse impostazioni di rete (vedi di seguito la nostra guida alla configurazione di WireGuard). Per permettere lo scambio di dati, si collegano alla chiave crittografica gli indirizzi IP autorizzati degli utenti mentre vengono scartati quelli di diversa provenienza. Con WireGuard la trasmissione dei dati avviene tramite il protocollo User Datagram Protocol (UDP).
La configurazione sul dispositivo di un utente viene effettuata utilizzando lo strumento della barra dei comandi WireGuard e altri strumenti standard disponibili su Linux. Sebbene il software sia considerato relativamente facile da configurare, WireGuard serve solo come base. Nelle singole fasi di configurazione e di connessione, l’utente può avvalersi di un'applicazione basata sul protocollo. Gli utenti di servizi VPN commerciali possono così godere dei vantaggi del moderno protocollo VPN senza dover utilizzare la barra dei comandi.