Calcolatore AllowedIPs WireGuard
WireGuard non ha un'impostazione «escludi»: per instradare tutto tranne la tua LAN o un indirizzo, AllowedIPs deve elencare tutte le altre reti. Indica cosa deve passare nel tunnel e cosa deve restarne fuori, e ottieni la riga AllowedIPs esatta, un blocco [Peer] pronto da incollare e i comandi per controllare le rotte. Tutto viene calcolato nel tuo browser.
Funziona interamente nel tuo browser. Niente di ciò che scrivi lascia la pagina.
Di solito 0.0.0.0/0, ::/0 (tutto). Per un tunnel che raggiunge solo una rete remota, inserisci quella rete, per esempio 10.0.0.0/24. Separa le voci con virgole, spazi o a capo.
La tua LAN, intervalli privati o indirizzi singoli (un IP da solo vale /32 o /128).
Riaggiunto dopo le esclusioni. Inserisci qui la subnet del tuo tunnel WireGuard se cade in un intervallo escluso.
Un indirizzo IP, non un nome host. Viene escluso come indirizzo singolo, il che evita il loop di routing su Linux.
- Su Linux con wg-quick, una lista senza /0 che copre l'IP pubblico del server invia i pacchetti cifrati nel tunnel. Inserisci sopra l'IP del server per escluderlo.
Risultato
AllowedIPs = 0.0.0.0/1, 128.0.0.0/2, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.168.0.0/24, 192.168.2.0/23, 192.168.4.0/22, 192.168.8.0/21, 192.168.16.0/20, 192.168.32.0/19, 192.168.64.0/18, 192.168.128.0/17, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 224.0.0.0/3, ::/0
[Peer]
PublicKey = <server public key>
Endpoint = SERVER_PUBLIC_IP:51820
AllowedIPs = 0.0.0.0/1, 128.0.0.0/2, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.168.0.0/24, 192.168.2.0/23, 192.168.4.0/22, 192.168.8.0/21, 192.168.16.0/20, 192.168.32.0/19, 192.168.64.0/18, 192.168.128.0/17, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 224.0.0.0/3, ::/0
PersistentKeepalive = 25
# Cosa cattura il peer, così come è caricato nel kernel
sudo wg show wg0 allowed-ips
# Un indirizzo escluso: NON deve usare l'interfaccia WireGuard
ip route get 192.168.1.10
# Un indirizzo nel tunnel: deve usare l'interfaccia WireGuard
ip route get 1.1.1.1
Lo split tunneling è preciso su un server che controlli
Sul tuo server WireGuard decidi ogni intervallo che ci passa, l'indirizzo dell'endpoint non cambia mai ed escluderlo è una riga. Il VPS di base di Contabo include un indirizzo IPv4 pubblico e accesso root completo.
Link di affiliazione: potremmo ricevere una commissione, senza costi extra per te. Il calcolatore resta gratuito e non dipende da questo.
Perché una sola esclusione diventa due dozzine di righe
AllowedIPs svolge due compiti insieme: è l'elenco delle destinazioni che il client invia nel tunnel e l'elenco degli indirizzi sorgente che accetta dal peer. Entrambi si scrivono in blocchi CIDR, e un blocco CIDR è sempre un intervallo di dimensione potenza di due, allineato sulla propria dimensione. Togliere un /24 dall'intero spazio IPv4 lascia quindi un blocco per ogni bit tra /0 e /24: 24 prefissi. Non è un difetto del risultato, è la risposta esatta più breve.
Tutto tranne 192.168.1.0/24, con IPv6 ancora interamente nel tunnel:
AllowedIPs = 0.0.0.0/1, 128.0.0.0/2, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.168.0.0/24, 192.168.2.0/23, 192.168.4.0/22, 192.168.8.0/21, 192.168.16.0/20, 192.168.32.0/19, 192.168.64.0/18, 192.168.128.0/17, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 224.0.0.0/3, ::/0Su Linux, wg-quick mantiene già utilizzabili le rotte della LAN collegata direttamente in modalità full tunnel, grazie alla regola suppress_prefixlength 0. Un'esclusione esplicita conta soprattutto su Android e iOS, su Windows quando rinunci al kill-switch per l'accesso locale, per le reti non collegate direttamente (una seconda subnet dietro il router) e per gli indirizzi pubblici da raggiungere fuori dalla VPN, come una banca che blocca le uscite VPN.
Gli intervalli che si escludono di solito
Escludi solo il necessario: ogni intervallo lasciato fuori è traffico che esce dal tunnel senza protezione. Ecco gli intervalli riservati standard e il motivo per escludere ciascuno.
| Intervallo | Cos'è | Escluderlo quando |
|---|---|---|
| 192.168.1.0/24 | Una tipica LAN domestica (controlla la tua) | Ti servono stampante, NAS o router mentre sei connesso |
| 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 | Tutto l'IPv4 privato RFC 1918 | Passi tra reti che non conosci in anticipo |
| 169.254.0.0/16 | IPv4 link-local (RFC 3927) | Dispositivi autoassegnati, o l'indirizzo dei metadati cloud 169.254.169.254 su una VM |
| fc00::/7 | IPv6 unique local (RFC 4193) | I dispositivi della LAN usano anche indirizzi IPv6 ULA |
| fe80::/10 | IPv6 link-local (RFC 4291) | Raramente necessario: le rotte per interfaccia vincono già |
| 203.0.113.10/32 | Un indirizzo pubblico (esempio) | Un servizio che rifiuta il traffico VPN, o l'IP del server stesso su Linux |