Herramientas de usuario

Herramientas del sitio


informatica:software:internet:wireguard

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:software:internet:wireguard [2022/02/20 11:15] – [Servidor] tempwininformatica:software:internet:wireguard [2025/08/03 17:25] (actual) – [WireGuard Easy] tempwin
Línea 1: Línea 1:
-====== Wireguard ======+====== WireGuard ======
  
 Solución para crear túneles VPN. Más segura, moderna y eficiente que otras soluciones de código abierto como OpenVPN. Solución para crear túneles VPN. Más segura, moderna y eficiente que otras soluciones de código abierto como OpenVPN.
Línea 11: Línea 11:
 La forma más sencilla de instalarlo es mediante Docker con la imagen de  La forma más sencilla de instalarlo es mediante Docker con la imagen de 
  
-Una forma sencilla de instalarlo es mediante Docker con la imagen [[https://hub.docker.com/r/weejewel/wg-easy|WireGuard Easy]] ([[https://github.com/WeeJeWel/wg-easy|repositorio en GitHub]]). Ejemplo del ''docker-compose.yml'':+Una forma sencilla de instalarlo es mediante Docker con la imagen [[https://github.com/wg-easy/wg-easy|WireGuard Easy]] ([[https://github.com/wg-easy/wg-easy|repositorio en GitHub]]). Ejemplo del ''docker-compose.yml'':
  
 <code yaml> <code yaml>
Línea 20: Línea 20:
       # ⚠️ Required:       # ⚠️ Required:
       # Change this to your host's public address       # Change this to your host's public address
-      - WG_HOST=raspberrypi.local+      - WG_HOST=midominio.com
  
       # Optional:       # Optional:
-      # - PASSWORD=foobar123+      # - PASSWORD_HASH=f$$asdf/.oob$$51234ar123UYUADasd
       # - WG_PORT=51820       # - WG_PORT=51820
       # - WG_DEFAULT_ADDRESS=10.8.0.x       # - WG_DEFAULT_ADDRESS=10.8.0.x
Línea 30: Línea 30:
       # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24       # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
              
-    image: weejewel/wg-easy+    image: ghcr.io/wg-easy/wg-easy
     container_name: wg-easy     container_name: wg-easy
     volumes:     volumes:
Línea 44: Línea 44:
       - net.ipv4.ip_forward=1       - net.ipv4.ip_forward=1
       - net.ipv4.conf.all.src_valid_mark=1       - net.ipv4.conf.all.src_valid_mark=1
 +</code>
  
 +Esta imagen provee también de un panel de administración web desde el que poder añadir y gestionar lo clientes de la VPN. Accesible desde http://ip.servidor.wireguard:51821
 +
 +<WRAP center round important 60%>
 +Para poder conectarnos a este servidor desde fuera de nuestra red local (Internet) es necesario realizar una redirección de puertos para que este puerto local pueda ser accesible desde el exterior.
 +</WRAP>
 +
 +=== Protección con contraseña ===
 +
 +Básicamente:
 +
 +<code>
 +docker run -it ghcr.io/wg-easy/wg-easy wgpw <TU_CONTRASEÑA>
 +</code>
 +
 +Devolverá algo como:
 +
 +<code>
 +PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // literalmente sería <TU_CONTRASEÑA>
 +</code>
 +
 +Utilizaremos la variable ''PASSWORD_HASH'' en el Docker Compose sin las comillas simples y sustituyendo cada ''$'' por dos, es decir, ''$$'':
 +
 +<code yaml>
 +version: "3.8"
 +services:
 +  wg-easy:
 +    environment:
 +      # ⚠️ Required:
 +      # Change this to your host's public address
 +      - WG_HOST=raspberrypi.local
 +      - PASSWORD_HASH=$$2b$$12$$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW
 +      
 +    image: weejewel/wg-easy
 +    container_name: wg-easy
 +    volumes:
 +      - .:/etc/wireguard
 +    ports:
 +      - "51820:51820/udp"
 +      - "51821:51821/tcp"
 +    restart: unless-stopped
 +    cap_add:
 +      - NET_ADMIN
 +      - SYS_MODULE
 +    sysctls:
 +      - net.ipv4.ip_forward=1
 +      - net.ipv4.conf.all.src_valid_mark=1
 </code> </code>
  
 +  * [[https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md|wg-password]]
 ==== Manual ==== ==== Manual ====
  
Línea 136: Línea 184:
   * Cliente Android en [[https://play.google.com/store/apps/details?id=com.wireguard.android&hl=es|Google Play]] o [[https://f-droid.org/en/packages/com.wireguard.android/|F-Droid]]   * Cliente Android en [[https://play.google.com/store/apps/details?id=com.wireguard.android&hl=es|Google Play]] o [[https://f-droid.org/en/packages/com.wireguard.android/|F-Droid]]
   * [[https://download.wireguard.com/windows-client/|Cliente Windows]]   * [[https://download.wireguard.com/windows-client/|Cliente Windows]]
 +
 +==== NetworkManager ====
 +
 +**NetworkManager** tiene soporte native para configurar interfaces de WireGuard. Una vez generado en el servidor el fichero de configuración para un cliente, podemos usar ''nmcli'' para crear el perfil de conexión de la siguiente manera:
 +
 +<code>
 +# nmcli connection import type wireguard file /fichero/wireguard/cliente.conf
 +</code>
informatica/software/internet/wireguard.1645352152.txt.gz · Última modificación: por tempwin