Configuración del servidor WireGuard en Linux (wg0, NAT, pares)

12 min de lectura - 22 de junio de 2026

hero section cover
Tabla de contenidos
  • Cuándo utilizar un servidor WireGuard
  • Configuración del servidor
  • Añadir y eliminar pares
  • Solución de problemas
  • Rotación de claves y claves precompartidas
Compartir

Configuración práctica de un servidor WireGuard para Linux: claves, wg0.conf, NAT, gestión de pares con syncconf y los comandos de resolución de problemas que utilizan realmente los administradores de sistemas.

Ejecuta un servidor WireGuard cuando desees acceder de forma privada a la infraestructura alojada sin exponer los puertos de administración a la red pública de Internet. Utiliza autenticación de clave pública, se ejecuta dentro del núcleo de Linux desde la versión 5.6 y, una vez en marcha, pasa desapercibido. Esta entrada explica cuándo utilizar un servidor WireGuard, cómo ponerlo en marcha wg0y cómo mantener los pares en funcionamiento día a día.

Cuándo utilizar un servidor WireGuard

Hay tres patrones que abarcan la mayoría de las configuraciones: acceso remoto, enlaces de servidor a servidor y enrutamiento de sitio a sitio.

Para el acceso remoto, ejecuta el servidor en un VPS o en un servidor dedicado y redirige el tráfico de administración a través del túnel. Configura AllowedIPs en cada nodo la subred privada de gestión (algo así como 10.0.0.0/24) para que solo el tráfico destinado a los sistemas internos utilice el túnel. Todo lo demás permanece en la conexión local del usuario. Si los usuarios se conectan desde casa o desde redes móviles, añade PersistentKeepalive = 25 en el lado del cliente para evitar que se interrumpan las sesiones NAT.

Para enlaces de servidor a servidor, mantenga AllowedIPs estrechos. Normalmente basta con una sola /32 o una pequeña subred de backend. Esto evita que se introduzca tráfico no relacionado en el túnel y mantiene el enrutamiento predecible.

Las conexiones de sitio a sitio son diferentes. El host de WireGuard actúa como puerta de enlace entre subredes, por lo que hay que habilitar el reenvío de IP y las reglas NAT deben enviar el tráfico de retorno a través de la interfaz correcta.

PatrónAllowedIPs alcanceMejor opciónComplejidad de la configuración
Acceso remotoSubredes privadas, p. ej. 10.0.0.0/24Acceso de administradores y desarrolladoresBaja
De servidor a servidorIP específicas o subred de backendEnlaces de host punto a puntoBajo a medio
De sitio a sitioToda la LAN remota, p. ej. /24Enrutamiento de puerta de enlace a puerta de enlaceDe medio a alto
Acceso a servicios privadosSolo subred interna (túnel dividido)Aislamiento de los servicios de backendMedio

Configuración del servidor

El servidor almacena la clave privada, escucha en UDP 51820 por defecto y termina el túnel. La misma configuración básica funciona para los tres patrones anteriores.

Claves y wg0.conf

Genera el par de claves del servidor:

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Protege la clave privada:

sudo chmod 600 /etc/wireguard/server_private.key

La clave privada permanece en el servidor. La clave pública es la que se facilita a los pares.

Crear /etc/wireguard/wg0.conf:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
 
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Busca la interfaz de salida en la que insertar <PUBLIC_IFACE> con:

ip -o -4 route show to default | awk '{print $5}'

Reenvío, cortafuegos y NAT

Abre el puerto de escucha:

sudo ufw allow 51820/udp

Habilita el reenvío de IP añadiendo esta línea a /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Aplicar sin reiniciar:

sudo sysctl -p

El PostUp y PostDown líneas de wg0.conf añaden y eliminan la regla de enmascaramiento NAT cuando la interfaz se activa o se desactiva. Sin ellas, el tráfico de retorno procedente de la LAN nunca llega al nodo homólogo.

Al activar el túnel

wg-quick se encarga de la interfaz, el enrutamiento y los PostUp/PostDown ganchos en un solo comando:

sudo wg-quick up wg0

Para el inicio automático tras un reinicio, habilita la unidad de systemd:

sudo systemctl enable --now wg-quick@wg0

Comprueba el estado con:

sudo wg show

Una latest handshake confirma que el túnel funciona. Si parece obsoleta o vacía, comprueba el cortafuegos, las claves de ambos lados y el AllowedIPs.

Añadir y eliminar pares

Cada par necesita su propio par de claves. Génalo en el cliente y, a continuación, añade la clave pública del par a wg0.conf en un nuevo [Peer] bloque con una AllowedIPs entrada que le asigne su IP de túnel.

Utiliza /32 para un único dispositivo:

AllowedIPs = 10.8.0.3/32

Esto evita que un nodo reclame direcciones asignadas a otro. Para el acceso con túnel dividido, enumera únicamente las subredes privadas que deben pasar por el túnel, por ejemplo AllowedIPs = 10.8.0.0/24.

Aplica los cambios de configuración sin interrumpir las sesiones activas:

sudo wg syncconf wg0 <(wg-quick strip wg0)

La eliminación de un par funciona de la misma manera. Elimina su [Peer] bloque de wg0.conf y ejecuta syncconf de nuevo.

Solución de problemas

Si un par se conecta pero no puede acceder a nada del otro lado, la causa suele ser una de estas cuatro:

  • El reenvío de IP está desactivado
  • Falta la regla de enmascaramiento NAT
  • La interfaz de salida en la regla NAT es incorrecta
  • AllowedIPs no incluye el destino

Comprueba el reenvío:

cat /proc/sys/net/ipv4/ip_forward

Debería devolver 1. Si devuelve 0, el cambio en sysctl no se ha aplicado o no se ha guardado.

Comprueba la regla NAT y la interfaz de salida:

sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1

El segundo comando muestra el nombre real de la interfaz de salida, como ens3, enp1s0, o eth0. Este debe coincidir con la interfaz de la regla MASQUERADE.

Si falta el propio handshake, comprueba que el puerto UDP 51820 esté abierto en el cortafuegos y en cualquier proveedor de nivel superior, y que ambas partes dispongan de la clave pública correcta de la otra.

Para los pares situados detrás de un NAT residencial o móvil que cierre las sesiones UDP inactivas, configura PersistentKeepalive = 25 en el cliente.

Rotación de claves y claves precompartidas

Para los túneles que permanecen activos durante meses, rota las claves una vez al año aproximadamente. Genera un nuevo par de claves, actualiza ambos extremos y aplícalo con wg syncconf. No reutilices una clave privada entre dos pares. Esto genera conflictos de enrutamiento e interrumpe la transmisión entre ellos.

Para añadir una capa adicional a la autenticación de clave pública, añade una clave precompartida por cada nodo:

wg genpsk

Añade el resultado como PresharedKey = <PSK> en el [Peer] bloque en ambos lados. WireGuard integra la PSK en el protocolo de establecimiento de conexión, por lo que un atacante que, de alguna manera, consiga comprometer una de las claves asimétricas seguirá sin poder descifrar el tráfico sin ella.

Comandos útiles para el día a día:

ComandoFinalidad
wg showPares, protocolos de establecimiento de conexión, contadores de tráfico
wg show wg0 transferContadores de bytes para wg0
wg show all dumpSalida procesable por máquina para scripts de monitorización
wg syncconf wg0 <(wg-quick strip wg0)Aplicar cambios de configuración sin interrumpir las sesiones
wg genpskGenerar una clave precompartida

Si necesitas un servidor estable y accesible públicamente para terminar los túneles de WireGuard y enrutar el tráfico privado hacia tu infraestructura, echa un vistazo a los planes de VPS sin límites de FDC.

Blog

Destacados de la semana

Más artículos
Fatiga visual digital: cómo proteger tu vista en un mundo en el que se pasa mucho tiempo frente a la pantalla

Fatiga visual digital: cómo proteger tu vista en un mundo en el que se pasa mucho tiempo frente a la pantalla

¿Pasas todo el día mirando pantallas? Descubre cómo reducir la fatiga visual digital con técnicas y herramientas de eficacia probada. Esta guía es imprescindible para teletrabajadores, desarrolladores y cualquier persona del sector tecnológico.

4 min de lectura - 21 de mayo de 2025

Por qué es importante disponer de un VPS potente y sin límites de tráfico

8 min de lectura - 9 de mayo de 2025

Más artículos