Home

Petición Añadir paquetes necesarios para utilizar WireGuard

Husus1

Usuario
Amigo OpenSPA
20 Sep 2020
83
7
0
Buenas tarde, veo que es el mismo errror que tengo yo, a ver si el amigo eltorres nos ayuda
Saludos
 

Clemente

Usuario Destacado
Vip OpenSPA
13 Jul 2009
8.492
1.365
0
72
Murcia
Buenos días. Con permiso de los a qui presentes, me incluyo en la petición, mi exposición es similar a la de Husus1.
Me explico: tengo dos decos uno en casa y otro en el campo necesito acceder con el deco del campo al servidor montado en la misma red del deco de casa, de esa forma ambos obtienen la misma ip publica (esa es mi necesidad) pero obtengo dos errores al iniciar ambos decos como cliente del servidor (casa) (servidor que ya esta probado con la aplicación Wireguard Android)
Mis dos errores son los siguientes al iniciar el usuario wireguard xxxx.conf

root@sf8008:~# wg-quick up nombrearchivo
[#] ip link add nombrearchivo type wireguard
[#] wg setconf nombrearchivo /dev/fd/63
[#] ip -4 address add 10.66.66.2/32 dev nombrearchivo
[#] ip link set mtu 1420 up dev nombrearchivo
[#] resolvconf -a nombrearchivo -m 0 -x
/sbin/resolvconf: illegal option -- x
[#] wg set ynombrearchivo fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev nombrearchivo table 51820
RTNETLINK answers: File exists
[#] resolvconf -d nombrearchivo -f
[#] ip link delete dev nombrearchivo
root@sf8008:~#

El contenido del nombrearchivo es el siguiente:

[Interface]
Address = 10.66.66.2/32
DNS = 212.166.211.4, 212.166.132.96
PrivateKey = etc.........u7nxI/6g5k6ETE1ZvyEQ=

[Peer]
AllowedIPs = 0.0.0.0/0
Endpoint = dirección.com:51820
PreSharedKey = INCsVaSCT4VzgOXo etc.........
PublicKey = CU676xytqEaX etc.........

Si necesitas algún dato o aclaración gustosamente los aportare, espero que husus1 vea reflejado su problema con el mío y asi ayudarle con mi aportación.
Muy agradecido por la paciencia y tiempo dedicado, un saludo y birras para todos.
sin entender mucho del tema, porque no asignas dos ip diferentes a los decos, yo tengo en red dos decos y los tengo con IP diferentes, pero si asi fuera lo veria una magnifica opcion, ya que tengo 2 decos en la playa y con todo esto, podria acceder desde mi casa a los decos de la playa
suerte
 

pitu

Usuario Destacado
Betatester
Amigo OpenSPA
9 Feb 2013
412
100
0
41
Buenas de nuevo. Creo que no me explique bien, los decos no están en la misma Intranet, ni con el mismo ISP, están en lugares distintos con ips publicas distintas, lo que persigo es que el deco que no esta en el mismo lugar donde esta el server de wireguard se conecte a la vpn y salga con la misma ip publica.

NOTA: Sobre la nueva versión de OpenSpa, me alegra muchísimo, gran Team seguidor desde hace años, toda mejora se agradece.
 

Husus1

Usuario
Amigo OpenSPA
20 Sep 2020
83
7
0
sin entender mucho del tema, porque no asignas dos ip diferentes a los decos, yo tengo en red dos decos y los tengo con IP diferentes, pero si asi fuera lo veria una magnifica opcion, ya que tengo 2 decos en la playa y con todo esto, podria acceder desde mi casa a los decos de la playa
suerte
Buenas tardes, el tema es que no están en la misma ubicacion
Un saludo
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Buenas tarde, veo que es el mismo errror que tengo yo, a ver si el amigo eltorres nos ayuda
Saludos
Veo que no queréis montar la VPN para tener acceso al deco desde otro sitio, si no para que varios decos salgan a Internet con la misma IP (supongo que para compartir las flores), por lo que la configuración es distinta a la que yo os proponía.

Para que desde una red se tenga acceso a la otra se suele utilizar una configuración del tipo Site-to-Site, pero para lo que vosotros queréis bastaría con utilizar una configuración Cliente-Servidor.

El error que os da sobre resolv se debe a la línea DNS = ... en la parte del que hace de servidor. La versión de resolv que hay en nuestros decos es una versión reducida, por lo que no se puede utilizar. Basta con eliminar esa línea en la parte del servidor para que ya no os de error (o montar el servidor en algo que lo soporte como un PC, una raspberrypi,...). Un ejemplo de la configuración en el servidor con varios clientes sería el siguiente (las líneas con # son comentarios)

Configuración de Apache:
#wg0.conf
[Interface]
# La red de la VPN sería 10.9.0.1-10.9.0.255, siendo 10.9.0.1 el que actúa como servidor
Address = 10.9.0.1/24
# Poned el puerto que consideréis
ListenPort = 12345
# En el servidor no es necesario esta línea, ya que se puede poner en los clientes
#DNS = 1.0.0.1,8.8.8.8
PrivateKey = <oculto>
# Se necesita tener instalado IPTables
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#Peer-1
PublicKey = <oculto>
AllowedIPs = 10.9.0.2/32
PersistentkeepAlive = 25

[Peer]
#Peer-2
PublicKey = <oculto>
AllowedIPs = 10.9.0.3/32
PersistentkeepAlive = 25

Y un ejemplo de cliente configurado para que utilice la VPN para salir a Internet sería:
Configuración de Apache:
#peer1
[Interface]
Address = 10.9.0.2/32
DNS = 8.8.8.8, 1.0.0.2
PrivateKey = <oculto>

[Peer]
PublicKey = <oculto>
Endpoint = ip_o_dns_del_servidor:12345
# Utiliza la VPN como ruta principal (Internet incluida)
AllowedIPs = 0.0.0.0/0, ::/0
# Utiliza la VPN sólo para el acceso a la red VPN y la subred del servidor (Añadir cualquier otra IP/rango a la que se quiera acceder utilizando la VPN)
#AllowedIPs = 10.9.0.1/24, 192.168.100.0/24
PersistentkeepAlive = 25

De todas formas, me suena que existe una manera de configurar un deco como cliente del otro, pero no lo he hecho nunca.
 
Última edición:

pitu

Usuario Destacado
Betatester
Amigo OpenSPA
9 Feb 2013
412
100
0
41
Veo que no queréis montar la VPN para tener acceso al deco desde otro sitio, si no para que varios decos salgan a Internet con la misma IP (supongo que para compartir las flores), por lo que la configuración es distinta a la que yo os proponía.

Para que desde una red se tenga acceso a la otra se suele utilizar una configuración del tipo Site-to-Site, pero para lo que vosotros queréis bastaría con utilizar una configuración Cliente-Servidor.

El error que os da sobre resolv se debe a la línea DNS = ... en la parte del que hace de servidor. La versión de resolv que hay en nuestros decos es una versión reducida, por lo que no se puede utilizar. Basta con eliminar esa línea en la parte del servidor para que ya no os de error (o montar el servidor en algo que lo soporte como un PC, una raspberrypi,...). Un ejemplo de la configuración en el servidor con varios clientes sería el siguiente (las líneas con # son comentarios)

Configuración de Apache:
#wg0.conf
[Interface]
# La red de la VPN sería 10.9.0.1-10.9.0.255, siendo 10.9.0.1 el que actúa como servidor
Address = 10.9.0.1/24
# Poned el puerto que consideréis
ListenPort = 12345
# En el servidor no es necesario esta línea, ya que se puede poner en los clientes
#DNS = 1.0.0.1,8.8.8.8
PrivateKey = <oculto>
# Se necesita tener instalado IPTables
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#Peer-1
PublicKey = <oculto>
AllowedIPs = 10.9.0.2/32
PersistentkeepAlive = 25

[Peer]
#Peer-2
PublicKey = <oculto>
AllowedIPs = 10.9.0.3/32
PersistentkeepAlive = 25

Y un ejemplo de cliente configurado para que utilice la VPN para salir a Internet sería:
Configuración de Apache:
#peer1
[Interface]
Address = 10.9.0.2/32
DNS = 8.8.8.8, 1.0.0.2
PrivateKey = <oculto>

[Peer]
PublicKey = <oculto>
Endpoint = ip_o_dns_del_servidor:12345
# Utiliza la VPN como ruta principal (Internet incluida)
AllowedIPs = 0.0.0.0/0, ::/0
# Utiliza la VPN sólo para el acceso a la red VPN y la subred del servidor (Añadir cualquier otra IP/rango a la que se quiera acceder utilizando la VPN)
#AllowedIPs = 10.9.0.1/24, 192.168.100.0/24
PersistentkeepAlive = 25

De todas formas, me suena que existe una manera de configurar un deco como cliente del otro, pero no lo he hecho nunca.

Buenas noches. Lo primero seguir dándote las gracias por tu aportación.
Lo segundo es que no me funciona esta configuración: "AllowedIPs = 0.0.0.0/0, ::/0" siempre obtengo el mismo error:
root@sf8008:~# wg-quick up wg0_client2
[#] ip link add wg0_client2 type wireguard
[#] wg setconf wg0_client2 /dev/fd/63
[#] ip -4 address add 10.9.0.3/32 dev wg0_client2
[#] ip link set mtu 1420 up dev wg0_client2
[#] resolvconf -a wg0_client2 -m 0 -x
/sbin/resolvconf: illegal option -- x
[#] wg set wg0_client2 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0_client2 table 51820
RTNETLINK answers: File exists
[#] resolvconf -d wg0_client2 -f
[#] ip link delete dev wg0_client2
root@sf8008:~#

Sin Embargo al utilizar esta otra: "#AllowedIPs = 10.9.0.1/24, 192.168.100.0/24" se conecta al servidor y le puedo hacer un ping, pero navega con su ip publica, no con la del servidor
 
  • Me gusta
Reactions: Husus1

Husus1

Usuario
Amigo OpenSPA
20 Sep 2020
83
7
0
Buenos días, tras hacer las comprobaciones y pruebas con la configuración que pusiste,obtengo el resultado que puedo comunicarme con el se Dior y cliente como ya nos hacia pero el resultado de obtener la up pública del servidor no es así, obtenemos la ip del router B, y no la del servidor o router A, no es un tema de flores como comentaste pero el fin es obtener la misma up que el servidor, si se te ocurre algo nos comentas, que veo que algún otro compañero le pasa lo mismo.Por otro lado,si pruebo esa configuración como ya me pasaba en cualquier otro dispositivo si que funciona correctamente, por lo que parece que no está compilado funcionando correctamente , bueno, siento la molestia y si se te ocurre alguna idea nos comentas.
Un saludo
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Buenas noches. Lo primero seguir dándote las gracias por tu aportación.
Lo segundo es que no me funciona esta configuración: "AllowedIPs = 0.0.0.0/0, ::/0" siempre obtengo el mismo error:
root@sf8008:~# wg-quick up wg0_client2
[#] ip link add wg0_client2 type wireguard
[#] wg setconf wg0_client2 /dev/fd/63
[#] ip -4 address add 10.9.0.3/32 dev wg0_client2
[#] ip link set mtu 1420 up dev wg0_client2
[#] resolvconf -a wg0_client2 -m 0 -x
/sbin/resolvconf: illegal option -- x
[#] wg set wg0_client2 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0_client2 table 51820
RTNETLINK answers: File exists
[#] resolvconf -d wg0_client2 -f
[#] ip link delete dev wg0_client2
root@sf8008:~#

Sin Embargo al utilizar esta otra: "#AllowedIPs = 10.9.0.1/24, 192.168.100.0/24" se conecta al servidor y le puedo hacer un ping, pero navega con su ip publica, no con la del servidor
El error que te aparece se debe a que ya existe una ruta que entra en conflicto con la que quiere añador el comando ip -4 route add

¿Puedes enviar el resultado de ejecutar los siguientes comandos?
  • route
  • ip route list
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Buenos días, tras hacer las comprobaciones y pruebas con la configuración que pusiste,obtengo el resultado que puedo comunicarme con el se Dior y cliente como ya nos hacia pero el resultado de obtener la up pública del servidor no es así, obtenemos la ip del router B, y no la del servidor o router A, no es un tema de flores como comentaste pero el fin es obtener la misma up que el servidor, si se te ocurre algo nos comentas, que veo que algún otro compañero le pasa lo mismo.Por otro lado,si pruebo esa configuración como ya me pasaba en cualquier otro dispositivo si que funciona correctamente, por lo que parece que no está compilado funcionando correctamente , bueno, siento la molestia y si se te ocurre alguna idea nos comentas.
Un saludo
Te digo lo miso que a pitu, envía el resultado de los comandos route e ip route list
 

pitu

Usuario Destacado
Betatester
Amigo OpenSPA
9 Feb 2013
412
100
0
41
El error que te aparece se debe a que ya existe una ruta que entra en conflicto con la que quiere añador el comando ip -4 route add

¿Puedes enviar el resultado de ejecutar los siguientes comandos?
  • route
  • ip route list

root@sf8008:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
192.0.0.0 * 255.0.0.0 U 0 0 0 eth0
root@sf8008:~# ip route list
default via 192.168.3.1 dev eth0
192.0.0.0/8 dev eth0 proto kernel scope link src 192.168.3.52
root@sf8008:~#
Eso es lo que me tira.
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
root@sf8008:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
192.0.0.0 * 255.0.0.0 U 0 0 0 eth0
root@sf8008:~# ip route list
default via 192.168.3.1 dev eth0
192.0.0.0/8 dev eth0 proto kernel scope link src 192.168.3.52
root@sf8008:~#
Eso es lo que me tira.
Lo que veo es que estás utilizando una red con rango de clase C 192.x.x.x, pero con una máscara de clase A (255.0.0.0) en vez de una clase C (255.255.255.0). No se si es que realmente tienes configurada tu red como una clase A, lo cual sería un tanto extraño y causaría colisión en cuando la intentes interconectar (VPN) con cualquier otra red que sea del tipo 192.x.x.x.

La segunda línea de la salida del comando route debería ser
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0

Y lo que devuelve ip route list debería ser
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.52

...lo que significa que creo que no tienes bien configurada la red.

Si en el deco tienes configurada la red en automático (DHCP) es problema del router. Si la tienes configurada en manual, tienes que cambiar la mascara de red por 255.255.255.0
 
  • Me gusta
Reactions: Clemente

pitu

Usuario Destacado
Betatester
Amigo OpenSPA
9 Feb 2013
412
100
0
41
Lo que veo es que estás utilizando una red con rango de clase C 192.x.x.x, pero con una máscara de clase A (255.0.0.0) en vez de una clase C (255.255.255.0). No se si es que realmente tienes configurada tu red como una clase A, lo cual sería un tanto extraño y causaría colisión en cuando la intentes interconectar (VPN) con cualquier otra red que sea del tipo 192.x.x.x.

La segunda línea de la salida del comando route debería ser
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0

Y lo que devuelve ip route list debería ser
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.52

...lo que significa que creo que no tienes bien configurada la red.

Si en el deco tienes configurada la red en automático (DHCP) es problema del router. Si la tienes configurada en manual, tienes que cambiar la mascara de red por 255.255.255.0
Disculpa, me sabe mal haberte pasado esta información,y no haberme dado cuenta, fue una prueba que hice a ultima hora, ya aburrido de probar cosas diferentes, todas las pruebas anteriores se han echo con la mascara 255.255.255.0. de echo la voy a volver a dejar como estaba y te paso el reporte:

root@sf8008:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
root@sf8008:~# ip route list
default via 192.168.3.1 dev eth0
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.52
root@sf8008:~#
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Disculpa, me sabe mal haberte pasado esta información,y no haberme dado cuenta, fue una prueba que hice a ultima hora, ya aburrido de probar cosas diferentes, todas las pruebas anteriores se han echo con la mascara 255.255.255.0. de echo la voy a volver a dejar como estaba y te paso el reporte:

root@sf8008:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
root@sf8008:~# ip route list
default via 192.168.3.1 dev eth0
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.52
root@sf8008:~#
Es un problema de la tabla de rutas.

He probado a que el deco actue como cliente y es cierto que cuando en AllowedIPs se pone 0.0.0.0/0 no se establece el tunel. Si se pone la red de la VPN más cualquier otro rango al que se necesite acceder saliendo por la VPN si que funciona.

Por ejemplo, si en el deco el fichero incluye AllowedIPs = 10.9.0.0/24, 216.0.0.0/8, 172.0.0.0/8 enrutaría tanto la red de la VPN como el tráfico dirigido a los rangos 216.0.0.1-216.255.255.254 y 172.0.0.1-172.255.255.254. Esos rango los he utilizado para poder probar el servicio ifconfig.me y ifconfig.co que básicamente devuelven la IP con la que sales a internet.

Puedes ver las pruebas de con qué IP sale en esta captura:
pIYNaRb.png


Recapitulando: si lo que necesitas es que el deco salga a ciertos sitios usando la IP del servidor, puedes utilizar lo que te digo indicando los rangos a los que necesitas acceder. Si lo que quieres es que todo el tráfico del deco vaya por la VPN, tendrás que esperar a que en OpenSPA se permita sustituir la ruta por defecto por la de la VPN (Yo he intentado varias formas pero no he sido capaz)
 
Última edición:

bynoe

Presentado
Forero
19 Nov 2012
2
0
0
Es un problema de la tabla de rutas.

He probado a que el deco actue como cliente y es cierto que cuando en AllowedIPs se pone 0.0.0.0/0 no se establece el tunel. Si se pone la red de la VPN más cualquier otro rango al que se necesite acceder saliendo por la VPN si que funciona.

Por ejemplo, si en el deco el fichero incluye AllowedIPs = 10.9.0.0/24, 216.0.0.0/8, 172.0.0.0/8 enrutaría tanto la red de la VPN como el tráfico dirigido a los rangos 216.0.0.1-216.255.255.254 y 172.0.0.1-172.255.255.254. Esos rango los he utilizado para poder probar el servicio ifconfig.me y ifconfig.co que básicamente devuelven la IP con la que sales a internet.

Puedes ver las pruebas de con qué IP sale en esta captura (no me deja adjuntar imágenes en las respuestas).

Recapitulando: si lo que necesitas es que el deco salga a ciertos sitios usando la IP del servidor, puedes utilizar lo que te digo indicando los rangos a los que necesitas acceder. Si lo que quieres es que todo el tráfico del deco vaya por la VPN, tendrás que esperar a que en OpenSPA se permita sustituir la ruta por defecto por la de la VPN (Yo he intentado varias formas pero no he sido capaz)
Buenas, si no entiendo mal, si el deco todo su trafico, ya que cuenta con una ip 192.168.1.x si pusiéramos en allowedips 192.168.0.0/8 si podría salir totalmente o no?Eso seria la solución pues.
saludos
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Buenas, si no entiendo mal, si el deco todo su trafico, ya que cuenta con una ip 192.168.1.x si pusiéramos en allowedips 192.168.0.0/8 si podría salir totalmente o no?Eso seria la solución pues.
saludos
No, para que todo el tráfico del deco se enrute por la VPN se debe usar algo como ip -4 route add 0.0.0.0/0 dev wg1-client, pero no funciona debido a que ya hay una regla por defecto.

Lo que he puesto es para enrutar el tráfico a un determinado rango de Internet a través de la VPN, pero no todo.
 

Husus1

Usuario
Amigo OpenSPA
20 Sep 2020
83
7
0
No, para que todo el tráfico del deco se enrute por la VPN se debe usar algo como ip -4 route add 0.0.0.0/0 dev wg1-client, pero no funciona debido a que ya hay una regla por defecto.

Lo que he puesto es para enrutar el tráfico a un determinado rango de Internet a través de la VPN, pero no todo.
Ya pero si el deco está en la 192.168.1.x con que solo enrutara los datos de esa up tendríamos todo su tráfico
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Ya pero si el deco está en la 192.168.1.x con que solo enrutara los datos de esa up tendríamos todo su tráfico
No es así. Lo que tienes que añadir es el destino, no el origen, además que no tiene sentido que utilices la VPN para acceder a la red local

Enviado desde mi Mi 9 mediante Tapatalk