Al conectarse a una red privada virtual (VPN), el servidor asigna a sus clientes una dirección IP perteneciente a una subred (mediante el protocolo DHCP). A su vez, como mencioné anteriormente, OpenVPN permite reservar direcciones IP de este pool para asignar estáticamente a determinados clientes. Sin embargo, y a pesar de que todos los clientes de una misma VPN poseen direcciones IP de una misma subred, por defecto no existe conectividad entre los mismos. Hablando en criollo: "no se ven entre ellos". Aunque es posible lograr que se puedan conectar entre ellos a través de una configuración simple en el servidor de VPN.

Veamos un ejemplo. Con la configuración por defecto del servidor OpenVPN, puedo conectarme con el servidor desde cualquier cliente a través de la subred de la VPN (IP 10.8.0.1):

emi@vaio:~$ ping -c 1 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=173 ms

--- 10.8.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 173.485/173.485/173.485/0.000 ms

Pero no puedo conectarme con otros clientes de la VPN (por ejemplo el cliente cuya IP es 10.8.0.100):

emi@vaio:~$ ping -c 1 10.8.0.100
PING 10.8.0.100 (10.8.0.100) 56(84) bytes of data.

--- 10.8.0.100 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Una vez más, esto ocurre porque, por defecto, la configuración del servidor VPN no permite el acceso entre clientes (es decir conexiones de cliente a cliente).

Para permitir el acceso o conexión entre clientes es necesario editar el archivo de configuración del servidor OpenVPN:

root@vpn:~# nano /etc/openvpn/server.conf

Dentro del mismo, localizar la directiva client-to-client:

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
;client-to-client

Esta es la directiva que permite que los clientes puedan comunicarse entre ellos a través de la VPN, y por defecto se encuentra deshabilitada (comentada con un punto y coma por delante). Simplemente remover el comentario y guardar los cambios:

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

Luego, reiniciar el servicio de VPN:

root@vpn:~# service openvpn restart

Una vez reiniciado el servicio se debe esperar unos minutos o segundos...

emi@vaio:~$ ping 10.8.0.100
PING 10.8.0.100 (10.8.0.100) 56(84) bytes of data.
64 bytes from 10.8.0.100: icmp_seq=24 ttl=64 time=558 ms
64 bytes from 10.8.0.100: icmp_seq=25 ttl=64 time=345 ms
64 bytes from 10.8.0.100: icmp_seq=26 ttl=64 time=345 ms
64 bytes from 10.8.0.100: icmp_seq=27 ttl=64 time=347 ms
64 bytes from 10.8.0.100: icmp_seq=28 ttl=64 time=347 ms
64 bytes from 10.8.0.100: icmp_seq=29 ttl=64 time=342 ms
^C
--- 10.8.0.100 ping statistics ---
29 packets transmitted, 6 received, 79% packet loss, time 28541ms
rtt min/avg/max/mdev = 342.808/381.381/558.498/79.230 ms

Es necesario esperar unos segundos/minutos dependiendo de la instalación, ya que todos los clientes de la VPN deberán reconectarse luego de haber reiniciado el servicio.

Se observa que a partir de ese momento ya es posible el acceso entre clientes.

Referencias


Tal vez pueda interesarte


Compartí este artículo