Anteriormente demostré cómo instalar un servidor OpenVPN y cómo configurar el cliente en Ubuntu para que se conecte a la VPN. En esta oportunidad voy a demostrar cómo configurar el cliente OpenVPN para que sea capaz de conectarse a más de una VPN al mismo tiempo.
Para que el cliente pueda conectarse a más de un servidor en simultáneo, es necesario cambiar la configuración de arranque del servicio en el archivo /etc/default/openvpn
:
# nano /etc/default/openvpn
Cambiar AUTOSTART="client"
por AUTOSTART="all"
:
AUTOSTART="all" #AUTOSTART="client"
Esta configuración hace que se levanten todos los archivos de configuración de VPNs con extensión .conf
que se encuentren dentro del directorio /etc/openvpn
:
# cd /etc/openvpn
En este ejemplo cambié el archivo client.conf
por dos archivos de configuración diferentes, uno para cada VPN a la que me deseo conectar:
root@vaio:/etc/openvpn# ll *.conf lrwxrwxrwx 1 root root 20 Mar 25 08:31 VPN1.conf -> Emiliano_Marini.ovpn lrwxrwxrwx 1 root root 27 Mar 25 08:32 vpn2.conf -> emiliano.marini/client.conf
Luego reiniciar el servicio openvpn:
root@vaio:/etc/openvpn# service openvpn restart [ ok ] Stopping virtual private network daemon: client. [ ok ] Starting virtual private network daemon: VPN1 vpn2.
Se observa que se detiene la VPN en la configuración anterior (client) y se inician las dos VPNs configuradas en el directorio /etc/openvpn
(VPN1 y vpn2).
Luego es posible comprobar que aparece una interfaz de red tun/tap para cada VPN:
root@vaio:/etc/openvpn# ip a | grep tun 6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 inet 10.8.0.4/24 brd 10.8.0.255 scope global tun0 7: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 inet 10.100.100.22 peer 10.100.100.21/32 scope global tun1
Cabe destacar que, a fin de conectarse a múltiples VPNs al mismo tiempo, estas deben ofrecer IPs en diferentes subredes. Se observa en este ejemplo que una VPN otorga IP en la red 10.8.0.0/24
(red por defecto de OpenVPN) mientras que la otra otorga IP en la red 10.100.100.0/24
.
Por otro lado, la configuración de dispositivo debe ser dinámica para cada VPN (dev tun
o dev tap
) o sino debe cambiarse el nombre de dispositivo en cada una para que no haya conflicto entre VPNs (dev tun0
, dev tun1
, etc.).
Referencias