Configurando OpenVPN con CentOS 6 en OpenVZ container

Recientemente adquirí un hosting VPS a un costo bajo con las siguientes especificaciones:

  • 1024MB Ram
  • 50GB DiskSpace
  • 600GB Bandwidth
  • 1 IPv4 Address
  • OpenVZ/SolusVM
  • 100 Mbps Port Speed
  • $3.99/Month

Entre las opciones disponibles para usar esta Cent0S/Debian/Ubuntu para la configuración utilizare CentOS release 6.3 (Final) e instalare el paquete openvpn. La tecnología de virtualización utilizada por el hosting es OpenVZ(base de Parallels) , que funciona similar al jail de BSD o las zonas en Solaris.

Con OpenVZ no es posible agregar módulos al Kernel desde el container por razones de seguridad, los módulos deben ser agregados al kernel del host para ser usados por el container(guest o maquina virtual).

A pesar de poder agregar modulo ipsec al kernel desde host, el container solo puede usar ciertos módulos por ejemplo iptables, ipsec verify falla en el container al verificar el soporte para los módulos de encripción en el kernel hasta el momento el soporte para IPSEC en OpenVZ container es experimental, por suerte tun/tap o ppp están disponibles, PPP no es recomendable por razones de seguridad pero si podremos usar la interfaz tun/tap con Openvpn puesto que este tipo de VPN no carga módulos en el kernel y puede usar claves o PKI(Infraestructura de llave publica) basada en OpenSSL

La VPN a configurar con OpenVPN sera para enrutar todo el trafico de los clientes por la VPN con esta configuración se puede usar por ejemplo para asegurar la comunicación sobre redes inseguras o saltar filtros de geolocalización de ciertos sitios web.

Continue reading “Configurando OpenVPN con CentOS 6 en OpenVZ container”