BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Usar WireGuard como cliente en Windows con el server en Linux

Solospam

Estoy cambiando todo l2tp a WireGuard.

La ventaja de l2tp era que no tenías que ser superusuario para configurarlo y si estabas en la misma red que el servidor l2tp, te dejaba acceder igualmente a todos los rangos de IP.

Tengo 3 ubicaciones 10.0.1.0/24 "central"; 10.1.1.0/24 "local A"; 10.2.1.0/24 "deslocalizada"; el servidor WireGuard se encuentra en central.

Si voy por cualquier parte del mundo incluído "local A" y "deslocalizada" no tengo problema de ningún tipo, la vida es bella y disfrutamos de ella.

Ahora si estoy en "central" con WireGuard activo no tengo acceso a internet, desactivo el túnel y tengo acceso a internet; eso no es problema para mi que tengo acceso de admin en todos los windows, y puedo activar y desactivar el túnel a mi voluntad.

El problema es para aquellos que usan portátil y lleguen a "central" y no puedan conectarse, porque como es normal. no saben la contraseña de admin.

Googleando, llegué a la conclusión que por powershell puedo levantar y tirar el túnel

Levantar

"C:\Program Files\WireGuard\wireguard.exe" /installtunnelservice "C:\Program Files\WireGuard\Data\Configurations\NAME_OF_CONNECTION.conf.dpapi"

Tirar

`"C:\Program Files\WireGuard\wireguard.exe" /uninstalltunnelservice "NAME_OF_CONNECTION"

La idea es saber si se puede hacer un .bat o similar para poder ejecutarlo en sesión no de admin, y que pueda levantar y tirar el túnel dependiendo de si estoy en "central" o en otra parte del mundo.

Gracias de antemano

Saludos

Editado

Entiendo que vosotros sabeis mucho de Linux, pero yo Linux no quiero tocarlo; sigo la máxima de "si algo funciona no lo toques"; busco solución por parte de los clientes en windows donde no corro riesgo de ningún tipo si algo sale mal.

Dejemos Linux aparte y busquemos soluciones para windows si las hay; sino tendré que desechar WireGuard en beneficio de l2tp con ikev2

sergioam
3

Me tiro a la piscina, pero igual el "problema" es que estás enrutando TODO el tráfico por el tunel hacia central y ahí no les estás dando salida hacia fuera (forwarding)

Quieres que los clientes (peers) saquen todo el tráfrico por ese punto (central)? Activa el forwarding en el servidor.

Si lo que quieres es simplemente acceder a recursos de ese tunel (o de otros) pero el tráfico normal sacarlo por el router/red a la que se conecta cada cliente, pon solo los rangos permitidos en el AllowedIPs en vez de "todo el tráfico" (0.0.0.0/0).

🗨️ 2
Solospam

Supón que estoy contigo en el bar abajo de tu casa, entro en mi portatil cuando enciendo win auto se activa WireGuard y todo el tráfico efectivamente sale por central.

como se supone que tengo que configurar forwarding para que central enrute todo el tráfico desde central?

🗨️ 1
sergioam
1

Pues algo tipo…

# sysctl -w net.ipv4.conf.all.forwarding=1

Y seguramente…

# iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Me dejaré cosas casi seguro, estoy diciendo un poco de memoria.

Solospam

Al final lo he solucionado con este tuto

No me hace ilusión hacer a un usuario básico "Operador de configuración de red" pero tampoco veo grandes problemas en eso

Cualquier otra alternativa será bienvenida

Saludos

maqbeq

Para quitarme de líos yo uso tailscale que al final es WireGuard fácil de usar y que funciona sin más. Gratuito para 3 usuarios y 100 dispositivos.

Lo utilizo para acceder a mi server casero desde fuera/móvil por SSH sin tener que abrir puertos en el router ya que hace NAT traversal y sin tener el servidor SSH expuesto a Internet.

Aún siendo de O2 imagino que funcionaría también si tuviera CG-NAT como Digi

🗨️ 11
Solospam

Con tailscale pierdes el control de los datos, además, tu abrirías un puerto ssh a un empleado? no estoy buscando una solución para mi, la estoy buscando a nivel empresarial; siguiendo la norma de el mínimo acceso.

Yo abriría zerotier antes que tailscale, pero eso ya es otra cosa

🗨️ 10
Bramante

tu abrirías un puerto ssh a un empleado?

Creándole un usuario con los permisos limitados a lo mínimo necesario para ejercer su labor, ¿por qué no?

🗨️ 9
Solospam

porque simplemente no tengo el conocimiento para hacer eso… de todas, somos muy de windows, picar código no va con la filosofía de la empresa, somos de enganchar y tirar por eso botones

Levantar

"C:Program FilesWireGuardwireguard.exe" /installtunnelservice "C:Program FilesWireGuardDataConfigurationsNAME_OF_CONNECTION.conf.dpapi"

tirar

"C:Program FilesWireGuardwireguard.exe" /uninstalltunnelservice "NAME_OF_CONNECTION"

Debería ser mucho más fácil que andar tocando en algo en lo que no tenemos conocimiento real, yo te admito y ya lo he hecho en mas de una ocasión que no se securizar un Linux, por eso que funcione para mi ya es un logro.

Lo que estoy buscando es algo en windows que dando el mínimo permiso me permita levantar y tirar el túnel a mi voluntad

Saludos

🗨️ 8
Bramante
Bramante
🗨️ 7
Solospam
Solospam
🗨️ 6
Bramante
Bramante
🗨️ 5
Solospam
Solospam
🗨️ 4
Bramante
Bramante
🗨️ 3
Solospam
Solospam
🗨️ 2
Bramante
Bramante
🗨️ 1
Solospam
1

El tema es mucho mas simple de lo que parece; de hecho tienes 2 soluciones:

Solución 1:

Hairpin NAT; esta es la solución ideal, la bonita, la bien hecha

Solución 2:

Imprescindible tener pi-hole o similar.

Settings > local DNS Records

Creas una DNS cuyo dominio sea tu ddns (a la que apunta el endpoint peer de WireGuard) y le asignas la IP del pihole

myddns.algo.net <> 10.10.10.10

De esta forma cuando entre en el pool que está el WireGuard (10.10.10.0/24 para este ejemplo) resolverá el endpoint como la IP del pihole en vez de la IP de la DDNS.

Con esto queda solucionado el problema de tener que desactivar el WireGuard en el pool donde está la raspberry.

De todas formas, hay que dar privilegios de red al usuario de Windows para que pueda conectarse a los hotspot de wifi gratuitas como hoteles o aeropuertos con portal cautivo, ya que con el WireGuard activo no tienes capacidad para conectarte a estos accesos wifi; desconectas, enchufas la wifi y conectas y todos felices

Saludos