📔
Blog
  • 🏠Home
  • 🤖Android
    • LineageOS, PlayIntegrityFix y playcurlNEXT
    • 🖥️Instalar Termux
    • 📦Optimizar paquetes después de instalar ROM
  • 🖥️Hardware
    • Overclocking AMD Ryzen 9 5950X
    • Unboxing Switch POE TP-Link TL-SG1008P
  • 🐧Linux
    • Possible missing firmware /lib/firmware/amdgpu
    • Cifrar con LUKS
    • Habilitar FSR en los juegos en Steam
    • Información del /etc/fstab
    • Instalar Debian cifrado
    • Después de Instalar Debian 12
    • Después de instalar Fedora 38
    • Instalar fuentes OTF y TTF en Linux
    • Instalar GNU/Linux Debian 12, en Macbook Pro (late 2015) A1502
    • Clonar disco a NAS con CloneZilla
    • Activar TRIM con systemd
    • Error ata9 en dispositivo SATA
    • Dash to dock para Gnome
    • Solución al error AACS en VLC al reproducir un BluRay
    • Gnome 42.5, en Linux Mint 21.1
    • dmesg: Initramfs unpacking failed: Decoding failed
    • Como tener AirPrint con tu impresora
    • Crear repo git desde el terminal
    • Añadir marca de agua al DNI
    • Eliminar un path con sed
    • Sacar el .crt y .key de un .pfx
    • Instalar driver AMD GPU
    • Problemas de Vsync con AMD GPU
    • Configurar git
    • Solucion al error amdgpu: powerplay
    • dmesg: Error al leer el búfer del kernel
    • CIDR, mascaras de subred
  • 💻Macintosh
    • My Apps
    • Configurar shell bash por defecto
    • Habilitar Bash Completion
    • Instalar Pyenv
    • Habilitar el "chime sound" en los nuevos Mac's
    • Reset NVRAM en un Macintosh
    • Reset PMU en un PowerBook G4
    • Solucionar el parpadeo de Netflix en Safari a pantalla completa
  • 🪟Windows
  • 🕹️Nintendo NES
    • 8bitdo DIY en mando original
    • Bluetooth interno con 8bitdo
    • Región Free, sin cortar el CIC
  • 🎮PlayStation
    • Review Cable SCART RGB C-SYNC
    • FreeMCBoot
    • Instalación chip PSX, PU-20
  • 📡Ubiquiti
    • Unboxing Cloud key Gen 2 Plus
    • UniFi Controller en Docker
    • Abrir puertos en USG Security Gateway
    • MAC del router HGU de Movistar en el USG
    • Configurar USG Security Gateway para Movistar
    • Habilitar DDNS en USG Security Gateway
    • Error Adopción Pendiente en USG Security Gateway
    • Restaurar firmware USG Security Gateway
    • Cambiar pasta termica en UniFi Switch 8 150W
    • Crear VLAN en UniFi Controller
    • Cambiar IP local en USG antes de adoptarlo
    • Configurar DDNS Cloudflare en EdgeRouter 4
    • Configuración vía terminal, red Home
    • Configurar WireGuard en EdgeRouter 4 / 6P
  • 📶Asus Router
    • Instalar Skynet
    • Habilitar swap
    • Ejecutar tareas crontab
    • Borrar NVRAM
    • Notificación Telegram al inicio
    • Monitorizar temperaturas con Telegram
    • Enviar logs a un servidor RSYSLOG
    • Mostrar temperaturas
  • 🍇RaspberryPi
    • Reducir tamaño imagen .img de un backup de la SD
    • Servidor RSYSLOG
    • Deshabilitar el ahorro de energia en WiFi
  • 🧊Kubernetes
    • Desplegar K8S con Kubespray
    • Flux en AKS
    • Actualizar certificados K8S
    • OpenShift en modo Datacenter en una VM local
  • 🐳Docker
    • HomeBridge en Docker
    • Comprobar vulnerabilidades de imagenes docker
    • Sign docker images with Cosign
    • Acceder a un contenedor con permisos de superusuario
  • 🧪Arduino
    • Minar DuinoCoin desde tu router OpenWRT
  • 🛠️Bricos
    • Rack IKEA HUTTEN
Powered by GitBook
On this page
  • Descargar e instalar wireguard
  • Generar claves
  • Definir reglas
  • Configurar Interface
  • Configuración de peers
  • Configuración para MacOS / Linux y Win
  • Configurar cliente App WireGuard
  • Resultados
  • Test de velocidad.

Was this helpful?

  1. Ubiquiti

Configurar WireGuard en EdgeRouter 4 / 6P

PreviousConfiguración vía terminal, red HomeNextAsus Router

Last updated 4 months ago

Was this helpful?

Vamos a configurar la VPN de WireGuard en el EdgeRouter 4 (válido para el 6P).

Primero de todo, nos conectamos por terminal al router

$ ssh ubnt@ip_router
  _____    _            
 | ____|__| | __ _  ___          (c) 2010-2020
 |  _| / _  |/ _  |/ _ \         Ubiquiti Networks, Inc.
 | |__| (_| | (_| |  __/         
 |_____\__._|\__. |\___|         https://www.ubnt.com
             |___/

Welcome to EdgeOS

By logging in, accessing, or using the Ubiquiti product, you
acknowledge that you have read and understood the Ubiquiti
License Agreement (available in the Web UI at, by default,
http://192.168.1.1) and agree to be bound by its terms.

ubnt@XXX.XXX.XXX.XXX's password: 
Linux EdgeRouter-4 4.9.79-UBNT #1 SMP Thu Jun 15 11:34:36 UTC 2023 mips64
Welcome to EdgeOS
ubnt@EdgeRouter-4:~$

Con el fin de tener todo organizado, creamos una carpeta de nombre wireguard en /home/$user

mkdir wireguard && cd wireguard

Descargar e instalar wireguard

Ahora, descargamos el paquete de wireguard para el EdgeRouter 4 (válido para el 6P, también hay otros modelos disponibles)

Antes de nada, todo este tutorial se ha realizado en la versión de firmware v2.0.9-hotfix.7.

curl -OL https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20220627-1/e300-v2-v1.0.20220627-v1.0.20210914.deb

Ya con el paquete descargado, lo instalamos

sudo dpkg -i e300-v2-v1.0.20220627-v1.0.20210914.deb

y verificamos la instalación

ubnt@EdgeRouter-4:~$ sudo wg --version
wireguard-tools v1.0.20210914 - https://git.zx2c4.com/wireguard-tools/

Generar claves

Generamos las clave privada y pública y tambien la preshared-key

wg genkey | tee /config/auth/wireguard.key | wg pubkey >  /config/auth/wireguard.pub
wg genpsk | tee /config/auth/wireguard.psk

Comprobamos las claves

ubnt@EdgeRouter-4:~$ ls -l /config/auth/
total 12
-rw-r--r--    1 ubnt     vyattacf        45 Dec 31 02:13 wireguard.key
-rw-r--r--    1 ubnt     vyattacf        45 Dec 31 02:13 wireguard.psk
-rw-r--r--    1 ubnt     vyattacf        45 Dec 31 02:13 wireguard.pub

Definir reglas

Ahora definiremos las reglas.

configure
set firewall name WAN_LOCAL rule 20 description 'Allow WireGuard'
set firewall name WAN_LOCAL rule 20 action accept
set firewall name WAN_LOCAL rule 20 protocol udp
set firewall name WAN_LOCAL rule 20 destination port 51820
commit ;save

El puerto 51820, es por defecto, pero mejor utiliza otro.

Configurar Interface

configure
set interfaces wireguard wg0 description "WireGuard"
set interfaces wireguard wg0 private-key /config/auth/wireguard.key
set interfaces wireguard wg0 address 10.1.1.1/24
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 route-allowed-ips false
commit ;save

En address, introduce la IP que quieras usar como servidor de wireguard, y asegurate de seleccionar el puerto que has definido en las reglas en el paso anterior.

Te habrás fijado que la opción route-allowed-ips está en false, es porque vamos a establecer acceso a la LAN.

Configuración de peers

Ya tenemos la parte de la red configurada, ahora toca generar los clientes.

Generamos la clave privada y pública de nuestra peer, (aquí podemos generar tantas como queramos.)

wg genkey | tee /home/ubnt/wireguard/peer.key | wg pubkey > /home/ubnt/wireguard/peer.pub

Necesitaremos la clave privada (peer.key) que usaremos luego para configurar nuestra App.

Hacemos un cat a nuestra clave pública de nuestra peer

cat /home/ubnt/wireguard/peer.pub

y copiamos nuestra clave.

Ahora configuraremos nuestro peer, adaptarlo a vuestra configuración.

configure
set interfaces wireguard wg0 peer {your peer pub key} description "Android"
set interfaces wireguard wg0 peer {your peer pub key} allowed-ips 192.168.1.0/24
set interfaces wireguard wg0 peer {your peer pub key} endpoint {your_sub_domain.domain.com}:51820
set interfaces wireguard wg0 peer {your peer pub key} persistent-keepalive 15
set interfaces wireguard wg0 peer {your peer pub key} preshared-key /config/auth/wireguard.psk
commit ;save

En allowed-ips, le indicamos el rango de ips permitido a ese peer, podemos poner el comodin 0.0.0.0/0 o un rango específico, cambiar el rango si fuera necesario.

Debereis indicar también vuestro endpoint para poder acceder remotamente a vuestra red y el puerto definido en la regla

Realizaremos este paso tantas veces como peers tengamos que generar.

Entramos en el interfaz web del router, y veremos nuestro nuevo interfaz.

Configuración para MacOS / Linux y Win

Creamos un fihcero de texto que guardaremos como peer.conf

[Interface]
Address = {IPv4 del rango definido en "Configurar interface"}
DNS = 1.1.1.1,1.0.0.1 (o la IP del host donde tengamos AdGuardHome / PiHole)
ListenPort = {Puerto definido en "Configurar interface"}
PrivateKey = {Pegar contenido de /home/ubnt/wireguard/peer.key}

[Peer]
AllowedIPs = 192.168.1.0/24
Endpoint = {domain.com}:{port}
PersistentKeepalive = 15
PreSharedKey = {Pegar contenido de /config/auth/wireguard.psk}
PublicKey = {Pegar contenido de /config/auth/wireguard.pub}

Configurar cliente App WireGuard

Creamos una nueva configuración desde 0.

  • Nombre: El que queramos.

  • Clave privada: Pegamos el contenido de /home/ubnt/wireguard/peer.key

  • Clave pública: Se rellena automáticamente al poner la privada. (Que coincidirá con el peer.pub)

  • Puerto: El que hemos definimos anteriormente.

  • MTU: lo dejamos en auto

Le añadimos un Par.

  • Clave pública: Pegamos el contenido de /config/auth/wireguard.pub

  • Clave precompartida: Pegamos el contenido de /config/auth/wireguard.psk

Resultados

En esta captura, vemos como conectado en la red móvil, con la VPN, filtramos la publicidad y además tenemos habilitado y . 😎

Test de velocidad.

  • Red movil: 4G

  • Operador: Simyo

  • VPN: Conectado

A disfrutar! 😊

₿1K7BU83LW1LXZN2DKWRLRWJA51HDPFYZWM

Repositorio oficial de WireGuard para EdgeOS:

Nos descargamos la App para nuestro dispositivo. o

Direcciones: Una IPv4 del rango que definimos "", en este tutorial 10.1.1.1/24, pero no la 10.1.1.1, que esa es reservada del wireguard, elige otra dentro del rango.

Servidor DNS: podemos usar uno público, ejemplo 1.1.1.1,1.0.0.1 de Cloudflare, de Google 8.8.8.8,8.8.4.4 o mejor... si tenemos montado un o un PiHole, podemos poner la IP del host donde lo tenemos, así evitamos tener publicidad también por la VPN 😎

Keepalive: El tiempo que definimos anteriormente en ""

EndPoint: EL dominio y puerto, el puerto es el definido en "", {domain}:{port} que tengamos configurado para poder acceder al el, si tenemos un DDNS, lo pondremos en este campo.

IPs permitidas: Aqui pondremos los rangos separados por "," que queramos tener acceso, en lugar de poner el comodin 0.0.0.0/0, podemos poner el rango de nuestra LAN, por ejemplo 192.16.1.0/24, la que definimos en ""

📡
https://github.com/WireGuard/wireguard-vyatta-ubnt/releases
Google Play
App Store
AdGuardHome
Configurar interface
Configuración de Peers
Definir reglas
Configuración de peers