Guía detallada para instalar la VPN WireGuard en un contenedor Dockers y la integración con Pi-Hole para tener una navegación segura , limpia y ultrarápida.
Requisitos para CyberPanel
- Un nombre de dominio en registro A apuntando a su dirección IP publica
- Un VPS con al menos 1 GB de RAM.
- Docker y Docker compose previamente configurado
Aunque Wireward recomienda obtener un mínimo de 1 GB de RAM, le recomiendo que obtenga al menos 2 GB de RAM. Esto te evitará problemas más adelante.
En primer lugar, cambie a usuario root
sudo -s
El siguiente paso es actualizar el sistema operativo.
apt update -y
Después de eso, actualice los paquetes usando el siguiente comando.
apt upgrade -y
una vez actualizado, procedemos a crear un directorio y un fichero .yml
mkdir -p docker/wireward+pihole
touch docker-compose.yml
Configuración de fichero docker-compose.yml
version: '3.7'
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=America/Lima #Cambiar de acuerdo a la zona horaria local
- SERVERPORT=51820
- PEERS=5 #Cantidad de usuarios creados
- PEERDNS=auto
- INTERNAL_SUBNET=10.13.13.0
volumes:
- /root/wireguard:/config
- /lib/modules:/lib/modules
- /usr/src:/usr/src
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
dns:
- 172.20.0.7
restart: unless-stopped
networks:
containers:
ipv4_address: 172.20.0.6
pihole:
container_name: pihole
image: pihole/pihole:v5.7
expose:
- "55"
- "67"
- "80"
- "443"
ports:
- 80:80/tcp
environment:
TZ: 'America/Lima'
WEBPASSWORD: 'mundolinux' #Cambiar a una contraseña de preferencia
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
cap_add:
- NET_ADMIN
restart: unless-stopped
networks:
containers:
ipv4_address: 172.20.0.7
networks:
containers:
ipam:
config:
- subnet: 172.20.0.0/24
Luego de personalizar el archivo docker-compose.yml , inciamos los contenedores y verificamos
docker-compose up -d
docker ps -a

posterior a ello, podemos visualizar la interfaz de pihole ingresado a la dirección local del equipo (recomendamos no publicar el puerto de no ser necesario)

Creación de clientes VPS con Wireguard
En este punto, solo bastaria revisar los logs para visualizar los codigos QR que corresponden a los usuarios creados. cabe resaltar que esta información la declaramos al momento de editar nuestro fichero docker-compose.yml para ellos ingresamos el siguiente comando.
docker logs (Id de contenedor Wireguard

Una vez listado, podemos scanear el codigo QR utilizando el aplicativo para teléfonos móviles Wireguard APP
Si queremos utilizar dicho servicio en nuestros equipos desktop, debemos descargar los archivos de configuración e importarlos en el aplicativo de Wireguard para escritorio Para ello nos dirigimos al directorio Wireguard y descargamos las carpetas peer que corresponden a los clientes VPN

para descargar la configuración de dichos clientes desde distribuciones linux o macOS pueden ejecutar el siguiente parametro con la dirección IP de su servidor

scp -r [email protected]:wireguard/peer5 /home/
para usuarios Windows, pueden descargarlo mediante el software WinsSCP
