Saltar al contenido

Configura tu propia VPN con wireguard y docker

WireGuard es una de las VPN más rápidas y seguras disponibles hoy en día, ideal para proteger tu conexión y acceder a redes de forma privada. Implementarlo con Docker facilita su instalación y administración, evitando configuraciones complejas en el sistema. En esta guía, te explicaré paso a paso cómo desplegar WireGuard en un contenedor Docker, permitiéndote tener tu propia VPN de manera sencilla y eficiente.

Voy a suponer que ya tienes instalado docker en alguna distro linux y una IP publica (puede ser cualquier VPS), el primer paso es configurar el servidor, creamos una carpeta que se llame wireguard y dentro de ella creamos un archivo docker-compose.yaml usaremos la imagen de linuxserver.

~$ mkdir wireguard
~$ cd wireguard
~/wireguard$ touch docker-compose.yaml

El contenido del archivo docker compose debe de ser el siguiente, puedes modificar algunos parametros dependiendo de tu caso, usaremos nano docker-compose.yaml .

services:
  wireguard:
    image: linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Mexico_City
      - SERVERURL=#IP de tu servidor o tu dominio 
      - SERVERPORT=989 #El puerto predeterminado es 51820
      - PEERS=2 #Numero de clientes
      - PEERDNS=auto #DNS de los clientes
      - INTERNAL_SUBNET=10.13.13.0 #Subred de la VPN
    volumes:
      - /root/wireguard:/config
      - /lib/modules:/lib/modules
      - /usr/src:/usr/src
    ports:
      - 989:989/udp #123,563,989 depende de tu ISP, algunos puertos estan bloqueados
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped
Después de probar varios puertos use el 989 que parece no esta bloqueado por ningún ISP en México

Inicializamos el archivo .yaml con sudo docker compose up -d

Prácticamente ya esta hecho el trabajo pesado con docker, solamente necesitas ver los registros del contenedor(sudo docker logs wireguard)para conseguir el codigo QR y agregar algun dispositivo movil o copiar los archivos peerx.conf de /root/wireguard/peerx para agregar alguna computadora.

Configurar WireGuard con Docker es una excelente forma de tener tu propia VPN de manera rápida, segura y sin complicaciones. Con esta implementación, puedes proteger tu tráfico de red, acceder de forma remota a otros dispositivos y mejorar tu privacidad en línea. Además, gracias a Docker, la gestión y actualización de WireGuard es mucho más sencilla. Si tienes dudas o quieres compartir tu experiencia, ¡déjalas en los comentarios!