VPNSmith
Herramienta gratis - split tunneling WireGuard

Calculadora AllowedIPs de WireGuard

WireGuard no tiene un ajuste para «excluir»: para enviar todo menos tu LAN o una dirección, AllowedIPs debe listar todas las demás redes. Indica qué debe llevar el túnel y qué debe dejar fuera, y obtén la línea AllowedIPs exacta, un bloque [Peer] listo para pegar y los comandos para comprobar las rutas. Todo se calcula en tu navegador.

Todo se calcula en tu navegador. Nada de lo que escribes sale de la página.

Normalmente 0.0.0.0/0, ::/0 (todo). Para un túnel que solo llega a una red remota, escribe esa red, por ejemplo 10.0.0.0/24. Separa las entradas con comas, espacios o saltos de línea.

Tu LAN, rangos privados o direcciones sueltas (una IP sola cuenta como /32 o /128).

Se vuelve a añadir tras las exclusiones. Pon aquí la subred de tu túnel WireGuard si cae dentro de un rango excluido.

Una dirección IP, no un nombre de host. Se excluye como dirección única, lo que evita el bucle de rutas en Linux.

Comandos de prueba de rutas para
  • En Linux con wg-quick, una lista sin /0 que cubre la IP pública del servidor envía los paquetes cifrados al túnel. Escribe arriba la IP del servidor para excluirla.

Resultado

24
IPv4: prefijos
1
IPv6: prefijos
99.99%
del espacio IPv4 por el túnel
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.conf
[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
verify-routes.sh
# Lo que captura el peer, tal como está cargado en el kernel
sudo wg show wg0 allowed-ips

# Una dirección excluida: NO debe usar la interfaz WireGuard
ip route get 192.168.1.10

# Una dirección por el túnel: debe usar la interfaz WireGuard
ip route get 1.1.1.1

El split tunneling es preciso en un servidor que controlas

En tu propio servidor WireGuard decides cada rango que pasa por él, la dirección del endpoint nunca cambia y excluirla es una línea. El VPS de entrada de Contabo incluye una dirección IPv4 pública y acceso root completo.

Enlace de afiliado: podemos recibir una comisión sin coste extra para ti. La calculadora sigue siendo gratuita y no depende de ello.

Ver el VPS de Contabo

Por qué una sola exclusión se convierte en dos docenas de líneas

AllowedIPs hace dos trabajos a la vez: es la lista de destinos que el cliente envía al túnel y la lista de direcciones de origen que acepta del peer. Ambas se escriben en bloques CIDR, y un bloque CIDR siempre es un rango de tamaño potencia de dos alineado con su propio tamaño. Quitar un /24 de todo el espacio IPv4 deja, por tanto, un bloque por cada bit entre /0 y /24: 24 prefijos. No es un fallo del resultado, es la respuesta exacta más corta.

Todo menos 192.168.1.0/24, con IPv6 todavía entero por el túnel:

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

En Linux, wg-quick ya mantiene utilizables las rutas de la LAN conectada directamente en modo túnel completo, gracias a su regla suppress_prefixlength 0. Una exclusión explícita importa sobre todo en Android e iOS, en Windows cuando renuncias al kill-switch para tener acceso local, para redes que no están conectadas directamente (una segunda subred detrás del router) y para direcciones públicas que quieres alcanzar fuera de la VPN, como un banco que bloquea las salidas VPN.

Rangos que se suelen excluir

Excluye solo lo necesario: cada rango que dejas fuera es tráfico que sale del túnel sin protección. Estos son los rangos reservados estándar y el motivo para excluir cada uno.

RangoQué esExclúyelo cuando
192.168.1.0/24Una LAN doméstica típica (comprueba la tuya)Necesitas la impresora, el NAS o el router mientras estás conectado
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16Todo el IPv4 privado RFC 1918Cambias entre redes que no conoces de antemano
169.254.0.0/16IPv4 de enlace local (RFC 3927)Dispositivos autoasignados, o la dirección de metadatos cloud 169.254.169.254 en una VM
fc00::/7IPv6 local única (RFC 4193)Tus dispositivos de la LAN también usan direcciones IPv6 ULA
fe80::/10IPv6 de enlace local (RFC 4291)Rara vez necesario: las rutas por interfaz ya ganan
203.0.113.10/32Una dirección pública (ejemplo)Un servicio que rechaza el tráfico VPN, o la IP del propio servidor en Linux

Preguntas frecuentes

¿Cómo excluyo mi red local de un túnel WireGuard?
AllowedIPs no tiene sintaxis de exclusión, así que se escribe el complemento. Pon 0.0.0.0/0, ::/0 en el campo de redes incluidas y tu LAN, por ejemplo 192.168.1.0/24, en el de exclusiones: la calculadora devuelve los bloques CIDR que cubren todo lo demás. Pega esa línea en la sección [Peer] de la configuración del cliente. En Android, la app oficial tiene una casilla «Exclude private IPs» que hace lo mismo con los rangos privados.
¿Por qué la línea AllowedIPs es tan larga?
Un bloque CIDR es un rango de tamaño potencia de dos alineado con su tamaño, así que abrir un hueco deja un bloque por cada bit de diferencia. Quitar un /24 de 0.0.0.0/0 da 24 prefijos; quitar los tres rangos RFC 1918 da algunos más. La lista parece larga, pero es exacta y el kernel la maneja sin coste medible.
¿Hay que excluir la IP del propio servidor WireGuard?
Con wg-quick en Linux, sí en cuanto tu lista no sea un simple 0.0.0.0/0. wg-quick solo aplica su enrutamiento por políticas, que protege el endpoint, a las entradas /0; con cualquier otra lista las rutas van a la tabla principal y, si cubren la dirección pública del servidor, los paquetes cifrados se envían al propio túnel. Escribe el endpoint en la calculadora: se excluye como dirección única. Hacerlo tampoco cuesta nada en otras plataformas.
¿Excluir un rango desactiva el kill-switch en Windows?
Sí. WireGuard para Windows solo ofrece «Block untunneled traffic (kill-switch)» cuando el túnel tiene un único peer cuyo AllowedIPs contiene 0.0.0.0/0 o ::/0. Una lista calculada sin /0 hace desaparecer esa opción. Decide qué pesa más en ese dispositivo: el acceso local o el bloqueo estricto de todo lo que sale del túnel.
Cliente o servidor: ¿dónde va este AllowedIPs?
En la sección [Peer] del cliente, donde decide qué envía el cliente al túnel. En el servidor, cada peer cliente conserva solo su propia dirección de túnel, por ejemplo 10.66.66.2/32. Dos peers del servidor nunca deben compartir un rango: WireGuard asigna cada dirección a un solo peer y el último configurado se la queda.
¿El DNS sigue pasando por el túnel tras excluir la LAN?
No si tu servidor DNS está en el rango excluido. Un router en 192.168.1.1 usado como resolvedor se alcanzará fuera del túnel y cada consulta saldrá sin protección. Ajusta DNS = en la sección [Interface] a una dirección que siga dentro del túnel, como la IP de túnel del servidor o un resolvedor público que la lista todavía enruta.