¿Qué falta en esta configuración OpenVPN de cliente a cliente?

¿Qué falta en esta configuración OpenVPN de cliente a cliente?

Pude configurar un servidor OpenVPN con varios clientes usando ips estáticas, la ip estática se configura agregando una línea como ifconfig-push 192.168.254.6 192.168.255.1en el ccd para cada uno de los clientes. Puedo hacer ping o ssh desde el servidor a cada uno de estos clientes. En la configuración de mi servidor tengo las siguientes líneas (entre otras configuraciones):

server 192.168.255.0 255.255.255.0

y

route 192.168.254.0 255.255.255.0

Ahora lo que estoy tratando de hacer es poder realizar ssh o curl de un cliente a otro, así que después de leer la documentación agregué la línea client-to-clienta la configuración. Me di cuenta de que al reiniciar los servidores y volver a conectar los clientes, agregué la siguiente línea a ip routemis clientes:

192.168.255.0/24 via 192.168.255.1 dev tun0

Lo que parece entender es que le indica al cliente que cada dirección similar 192.168.255.Xiría al servidor VPN. Y de hecho, intenté verificarlo ejecutando traceroute 192.168.255.30y obteniendo:

traceroute to 192.168.255.30 (192.168.255.30), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.454 ms  14.491 ms  14.493 ms

Sin embargo, los otros clientes a los que quiero conectarme tienen direcciones así, 192.168.254.Xasí que supongo que me falta algo y en realidad no sé qué. Intenté agregar manualmente esta ruta:

ip route add 192.168.254.0/24 via 192.168.255.1 dev tun0

Lo que para mí significaría que también direcciones como 192.168.254.X pasan por el servidor VPN. Pero si luego lo hago, traceroute 192.168.254.30los resultados son diferentes:

traceroute 192.168.254.30
traceroute to 192.168.254.30 (192.168.254.30), 30 hops max, 60 byte packets

También puedo hacer ping 192.168.255.1ping desde la máquina cliente, pero no puedo, a otros clientes en el rango 254 como ping 192.168.254.30.

Mi conocimiento de redes es bastante limitado. Lo que falta para poder permitir que un cliente 192.168.254.30acceda a servicios en otro cliente como192.168.254.32

Actualizar:Conecté un nuevo cliente a la VPN, esta vez asignando en el archivo ccd una IP en el rango 192.168.255.X, y luego intenté ejecutar traceroute desde el cliente con el que estaba probando. Tampoco puedo conectarme a este cliente en el rango 255, además, si ejecuto traceroute sucede lo siguiente.

Este nuevo cliente tiene 192.168.255.22, si en mi cliente de prueba lo tengo, traceroute 192.168.255.3obtengo:

traceroute to 192.168.255.3 (192.168.255.3), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.481 ms  21.192 ms  21.472 ms

Lo mismo pasa para las ips 4, 5, 6... que no tienen clientes, hasta llegar a 22cual es la ip del nuevo cliente, en ese caso cuando lo tengo traceroute 192.168.255.22me sale:

traceroute to 192.168.255.22 (192.168.255.22), 30 hops max, 60 byte packets

¿Por qué está pasando esto?

Respuesta1

Parece que estás intentando enrutar el tráfico entre diferentes subredes a través del servidor OpenVPN. Es posible hacer esto, pero necesitarás realizar algunos cambios adicionales en tu configuración de OpenVPN.

Lo primero que debe tener en cuenta es que la serverdirectiva en su archivo de configuración de OpenVPN define la subred que utilizará el servidor. En su caso, el servidor utilizará la 192.168.255.0/24subred. Esto significa que a los clientes se les asignarán direcciones IP en el 192.168.255.Xrango.

La routedirectiva, por otro lado, define una ruta para el tráfico desde los clientes OpenVPN a una subred específica. En su caso, la routedirectiva le dice al servidor OpenVPN que el tráfico de los clientes debe enrutarse a la 192.168.254.0/24subred.

Sin embargo, esto no es suficiente para permitir que los clientes se comuniquen entre sí a través de diferentes subredes. También deberá agregar una pushdirectiva al archivo de configuración de su servidor OpenVPN. Esta directiva le dice al servidor OpenVPN que envíe rutas a los clientes, para que sepan cómo enrutar el tráfico a otras subredes.

A continuación se muestra un ejemplo de cómo podría verse la directiva push en su archivo de configuración:

push "route 192.168.254.0 255.255.255.0"

Esta directiva le dice al servidor OpenVPN que envíe una ruta a los clientes, indicándoles que enrute el tráfico a la 192.168.254.0/24subred a través del servidor OpenVPN.

También deberá asegurarse de que la client-to-clientdirectiva esté habilitada en la configuración de su servidor. Esta directiva le dice al servidor OpenVPN que permita a los clientes comunicarse entre sí directamente, sin enrutar su tráfico a través del servidor.

Una vez que haya realizado estos cambios en su configuración, debería poder conectar sus clientes al servidor OpenVPN y comunicarse entre sí a través de diferentes subredes.

Vale la pena señalar que la client-to-clientdirectiva solo permite que los clientes se comuniquen entre sí si utilizan la misma subred. Por ejemplo, si un cliente tiene una dirección IP en el 192.168.255.Xrango, solo podrá comunicarse con otros clientes que también tengan direcciones IP en el 192.168.255.Xrango. Para que los clientes de diferentes subredes se comuniquen entre sí, deberá utilizar la directiva push como se describe anteriormente.

información relacionada