• Preguntas frecuentes

      Información importante

      • Panel de control: El panel de control está disponible en ZZ.com.ve/panel/.
      • Correo: El correo está disponible en ZZ.com.ve/mail/es.
      • FTP: Puedes acceder fácilmente a tu FTP a través de nuestro gestor de archivos, que está disponible en ZZ.com.ve/es/ftplogin.
      • Foro: Si necesitas ayuda, puedes preguntar en nuestro foro, disponible a través de ZZ.com.ve/foro/.

      Información general

      • Las Condiciones de uso están disponibles en ZZ.com.ve/es/condiciones-de-uso/.
      • Para acceder al panel de control utilice su nombre de usuario, /su dirección web/ o su correo y contraseña establecidas en la creación de la cuenta.
      • Para acceder al buzón de mensajes es necesario que primero cree una cuenta de correo electrónico en el panel de control.
      • Por ejemplo, si usted tiene una cuenta llamada "happy", un sitio web happy.ZZ.com.ve y crea una cuenta de correo electrónico “user”, su identificador para buzón y correo electrónico lucirá de esta manera: "user@happy.ZZ.com.ve".

        Puedes enviar y recibir correos electrónicos usando un gestor externo como Microsoft Outlook, Mozilla Thunderbird u otro. Su usuario y contraseña serán los mismos que en el navegador.

      • El servidor de correo es correo.ZZ.com.ve.
      • El servidor FTP es tu dirección web (ej. happyuser.ZZ.com.ve)
      • Si usted ya posee un dominio y crea una nueva cuenta de alojamiento para este dominio, toda la información necesaria será añadida automáticamente. Lo único que queda por hacer es ingresar nuestros servidores DNS en el panel de control del registrador de su dominio:
        • ns1.ZZ.com.ve
        • ns2.ZZ.com.ve
      • Usted no necesita cambiar la información de los servidores DNS si su domino está registrado en nuestro hosting — será automáticamente configurado y añadido a la cuenta elegida.

      • Todas las reglas para las cuentas con nuestros dominios son válidas para cuentas con dominios que no se registraron en nuestro hosting.
      • Por ejemplo, su inicio de sesión FTP tendrá el siguiente aspecto: "happy@happyuser.ZZ.com.ve", si crea una cuenta de FTP denominada "happy" y posee un dominio happyuser.ZZ.com.ve. El dominio principal (conectado, por ejemplo, a los inicios de sesión de FTP) siempre es El primer dominio de la cuenta de alojamiento que se eligió al crear la cuenta. En los nombres de cuenta de correo electrónico creados para esta cuenta de hosting, la parte después de "@" se puede elegir entre todos los dominios conectados a esta cuenta de alojamiento.

      • Para encontrar ayuda o en caso de algún problema, visita nuestro foro .

      Preguntas frecuentes

      • ¿Es realmente GRATIS el uso de las cuentas libres?

        SÍ, usted no tendrá que pagar el uso de las cuentas LIBRES en nuestro hosting. Pero habrá un aviso de publicidad en la parte superior de su página web.

      • Si compro un paquete con el servicio PRO o VIP ¿estará activo para todas mis cuentas de hosting en el panel de control?

        No, cada cuenta es un sitio web que funciona independientemente. Los paquetes de servicios y actualizaciones que usted compra para cada uno de ellos están activos sólo en la cuenta para la que fueron comprados. Este sistema se ha creado para aquellos usuarios que desean administrar diferentes tipos de sitios desde un mismo panel de control. Tienen la posibilidad de ajustar los parámetros de alojamiento para cada sitio. Cada cuenta de hosting puede incluir muchos dominios independientes (sitios), hay un catálogo separado en FTP y cuenta FTP individual para cada uno de ellos.

      • Me gustaría ponerme en contacto con un administrador de hosting, ¿cómo podría hacerlo?

        Usted puede contactar a un administrador de hosting de 3 maneras diferentes:

        • En el foro, Donde algunos usuarios están en contacto directo con los administradores y de ser necesario se los harán saber;
        • Vía email: {supportMail}, Usted obtendrá una respuesta de parte del servicio de atención al cliente;
        • En el panel de control puedes crear un nuevo tema (Soporte -> Crear), usted además obtendrá una respuesta del servicio de atención al cliente
        • En nuestra página de Facebook: www.facebook.com/zz.com.ve.

      • He encontrado un error en el hosting o tengo problemas con alguna función ¿Qué debería hacer?

        Háganoslo saber utilizando cualquier método mencionado anteriormente.

      • He recibido un correo electrónico de la administración de ZZ.com.ve pidiéndome que proporcione mi nombre de usuario y contraseña del panel de control/base de datos, ¿Qué debería hacer?

        Los administradores de ZZ.com.ve nunca envían correos electrónicos a sus usuarios, especialmente pidiendo nombres de usuario y contraseñas. Este correo electrónico es un engaño, el cual trata de tener acceso a los datos de tu cuenta.

      • He recibido un correo electrónico de la administración de ZZ.com.ve pidiéndome que provea una imagen escaneada de mi pasaporte después de haber registrado un nombre de dominio .uk (u otro nombre de dominio) ¿Qué debería hacer?

        Los administradores de ZZ.com.ve tienen como obligación a chequear si la información personal que usted ha provisto es válida, y la manera más fácil de hacerlo es verificando sus documentos. Esta es una práctica común en todos los servicios de Hosting, así que no lo dude: Escanee su pasaporte y envíenoslo al correo electrónico: {supportMail}. Si ignora este requerimiento, su dominio será bloqueado en un periodo de 30 días después del registro.

      • No puedo iniciar sesión en mi cuenta de hosting/cuenta FTP/base de datos/cuenta de correo eléctrónico ¿Qué debo hacer?

        Si olvidó la contraseña de su cuenta de hosting, trate de crear una nueva contraseña. Si no tiene acceso a la cuenta de correo asociada donde debería recibir el link para cambiar la contraseña, contáctenos {supportMail}.

        Si olvidó la contraseña de su cuenta FTP, puede crear una nueva contraseña en la sección Cuentas FTP en el panel del usuario.

        Si olvidó la contraseña de su base de datos, puede cambiarla en la sección Base de Datos en el panel del usuario. Tenga en cuenta que después de hacer esto, se encontrará con un error de conexión a la base de datos de su sitio web. Necesita cambiar la contraseña en los archivos de su sitio web (o en su herramienta CMS).

        Si olvidó la contraseña de su cuenta de correo electrónico, puede crear una nueva en la sección Cuentas de Email en el panel del usuario.

      • ¿Cómo crear una base de datos? ¿Dónde puedo encontrar los datos para acceder a la base de datos mySQL? ¿Cuántos usuarios de base de datos puedo crear?

        Usted puede crear una base de datos en el Panel de Control en la sección de base de datos. Click "+ Agregar", configura usuario y contraseña. El nombre de la base de datos será creado automáticamente, se basara en la dirección de su sitio (símbolos especiales serán cambiados a "_"). Por ejemplo, para el sitio happyuser.com la base de datos tendrá los siguientes parámetros:

        • MySQL servidor: mysql.ZZ.com.ve
        • Puerto: 3306 (phpBB By Przemo: 80)
        • Tu usuario y contraseña serán los mismos que configuró al la base de datos
        • Nombre de la base de datos: automáticamente creado, está basado en la dirección de su sitios, por ejemplo: happyuser_zz_com_ve

      • No me gusta el anuncio con la publicidad en mi sitio web, ¿Puedo cambiar su ubicación o quitarlo completamente?

        Este aviso está localizado en la parte superior de la página a propósito, no puedes cambiar su ubicación o eliminarlo sin autorización. Gracias a este aviso, usted tiene la posibilidad de usar nuestros servicios de forma gratuita.
        Los anuncios son automáticamente ajustados al fondo de la página web (un parámetro de fondo para el cuerpo o estilo CSS). Usted puede modificar este parámetro, cambiando el color del banner al mismo tiempo.
        Usted puede eliminar completamente los anuncios adquiriendo un servicio PRO o VIP. Los banners no se muestran en el sitio desde el momento en el que usted paga por la actualización y hasta el final del periodo de validez del paquete de servicios.

      • ¿Cómo crear una cuenta FTP? ¿Dónde puedo encontrar los datos para acceder a mi FTP? ¿Cuáles son los limites?

        Cuando usted crea una cuenta de hosting, automáticamente es creada una cuenta FTP. Es una cuenta común, su nombre y usuario lucirán de esta manera: admin@sitioweb (ej. admin@happyuser.ZZ.com.ve). Por defecto La contraseña para esta cuenta será la misma que la del panel de control.
        Desde esta cuenta FTP de perfil general tienes acceso a todos los catálogos de todos los dominios de todas las cuentas de hosting que tenga en su perfil. Puede administrar sus cuentas FTP en el panel de control en la sección Cuentas FTP. Existe la posibilidad de agregarlas y eliminarlas, así como también cambiar las contraseñas.
        Puede acceder a su servidor FTP utilizando nuestro Gestor de Archivos o un programa externo, por ejemplo Filezilla.
        Puede crear una cuenta FTP con el acceso sólo al dominio elegido — En la sección cuentas FTP del panel de control, puede hacer click en “+Add” y elegir un dominio para el que desea crear este tipo de cuenta. El usuario para el acceso a esta cuenta lucirá así: usuario@sitioweb.ZZ.com.ve
        Datos para acceder a su FTP:

        • Servidor FTP: Su sitio web (ej. happyuser.ZZ.com.ve)
        • Inicio de sesión: por defecto admin@sitioweb (ej. admin@happyuser.ZZ.com.ve)
        • Contraseña: por defecto será la misma que la del panel de control (Si no la ha cambiado)
        • Puerto: 21 ó 210
        • Modo: pasivo

        El límite de conexiones simultáneas para una cuenta FTP es de cuatro a las vez. En caso de que este límite sea superado, la sesión será bloqueada por el servidor durante unos segundos — Usted tendrá que esperar un poco e intentar otra vez con un menor número de conexiones (generalmente usted puede lograr ésto en la configuración del FTP de su cliente).
        El tamaño máximo del archivo que puede subir al FTP es:

        • Para cuentas GRATIS: 10 MB
        • Para cuentas PRO y VIP: 1 GB
      • He ingresado la dirección de mi sitio en el navegador, pero este no se muestra!

        Asegúrese de haber cargado el archivo index.html (también puede ser .php o .html) al catalogo principal en su FTP. Lo mismo aplica para cualquier sub-página — por ejemplo, cuando se crea un enlace a subpagina.html pero se olvida de cargar este archivo, se le redirigirá a la página de error 404.

      • ¿Qué clase de dominios están disponibles en ZZ.com.ve?

        Los dominios .com, .biz, .net, .org, .info, .de, .it, .uk, .co.uk, .tv, .us y .xyz están disponibles en ZZ.com.ve.

      • Poseo un dominio registrado y quiero conectarlo a mi cuenta en ZZ.com.ve / Quiero comprar un dominio y crear una cuenta para éste o conectarlo con una cuenta existente en ZZ.com.ve, ¿Cómo lo hago?

        Al crear una cuenta, ingrese su dominio (el que registró anteriormente en otro servicio de registradores de nombres de dominio).
        Introduzca nuestros servidores DNS en el panel de control de su registrador de nombres de dominio:

        • ns1.ZZ.com.ve
        • ns2.ZZ.com.ve

        Después de actualizar los servidores DNS (puede tardar un tiempo, pero por lo general no más de 48 horas) su dominio estará activo y conectado con su cuenta.

        Si usted está registrando un dominio ZZ.com.ve (o creando una nueva cuenta de hosting y registrando un dominio al mismo tiempo), todos los ajustes se configurarán automáticamente después de que se haya realizado el pago.

        Después de comprar un domino tanto como después de conectar el dominio a la cuenta habrá un periodo de 48 horas durante el cual su dominio podría no funcionar como debería. Este es el momento en que el cambio de la información acerca de los servidores DNS se distribuye por la web. Por lo general, tarda menos de 48 horas, podría durar solo unas pocas horas.

      • ¿Cómo activar un certificado SSL? ¿Puedo usarlo para dominios que no apuntan a servidores en zz.com.ve?

        Para adquirir un certificado SSL, dirígete a la sección de Dominios en el panel del usuario y haz clic en el botón de "SSL" sobre el respectivo dominio. Los certificados SSL pueden ser activados sólo en dominios que apuntan a nuestros servidores y puedes adquirirlo por un año o más.

        Si tienes un dominio gratuito (ejemplo: feliz.zz.com.ve) con uno o varios subdominios (ejemplo: usuario.feliz.zz.com.ve), al adquirir un certificado SSL, el mismo se activará tanto para el dominio como para sus subdominios. Sin embargo, los subdominios que añadas luego de haber activado el certificado, no contarán con el certificado activo (Sólo es activado para los subdominios que existen al momento de adquirirlo). Si necesitas un certificado para el subdominio recién añadido ¡También puedes adquirirlo! Sólo presiona "SSL" sobre el subdominio en la sección Dominios del panel del usuario y sigue las instrucciones.

      • Poseo una cuenta GRATIS trato de subir un archivo de 15 MB. Y no puedo, ¿A qué se debe esto?

        El tamaño máximo del archivo que puedes cargar es de 10 MB. Si necesita subir archivos de mayor tamaño, actualice a PRO o VIP — Para estas cuentas este límite no existe.

      • Tengo un problema con el correo, ¿Qué debería hacer?

        No existe una solución universal para esto. Por favor, copia el mensaje de error y cree un nuevo tema en nuestro foro en la sección "ZZ.com.ve Atención al Cliente" o describa su problema en algún tema existente. También puedes crear un nuevo Ticket en la sección de Soporte de su panel de control o escribir un correo electrónico a {supportMail}

      • ¿Cuántas cuentas puedo crear en ZZ.com.ve?

        Usted puede crear una cuenta de hosting (perfil) por dirección de correo electrónico.
        Un perfil en el panel de control puede incluir varias cuentas de hosting. Cada cuenta es un sitio web con dominio independiente, cuentas de MySQL, Cuentas FTP, buzón de correo y otros.

      • ¿Por qué hay un logotipo ZZ.com.ve en lugar de mis imágenes en los diferentes sitios?

        Porque es un Hotlink, y viola las reglas del hosting. A usted se le permite enlazar solo si posee cuenta PRO o VIP.

      • ¡He encontrado un sitio que viola las reglas de hosting! / ¡Encontré un sitio que plagia mi propio sitio!

        Hazlo saber en el foro en este tema.

      • ¿Cómo configurar mi cliente de correo para que pueda recibir correos desde la siguiente dirección *@*ZZ.com.ve?

        Servidor de correo entrante: mail.ZZ.com.ve
        Servidor de correo saliente: mail.ZZ.com.ve
        SMTP - puerto 587 STARTTLS
        IMAP - puerto 993 SSL/TLS
        POP3 - puerto 995 SSL/TLS
        Autorización: contraseña
        Acceso: dirección de correo electrónico.

      • Tengo una cuenta gratuita y estoy usando la función PHP mail(), pero parece que mis emails no están siendo enviados, ¿Cuál podría ser la razón?

        Para usar la función PHP mail() en cuentas gratuitas necesitará crear un buzón en el Panel de Control en la sección Correo y agregarla como una dirección de remitente en el encabezado
        Ejemplo:

        • $to = 'nobody@example.com';
        • $subject = 'the subject';
        • $message = 'hello';
        • $headers = 'From: webmaster@happyuser.zz.com.ve';
        • mail($to, $subject, $message, $headers);

      • Mi cuenta PRO ha cambiado a gratuita antes de la fecha de expiración, ¿Por qué?

        Si se ha alcanzado el límite de transferencia en la cuenta PRO, su cuenta cambia automáticamente a gratuita. Usted debe comprar transferencia adicional para volver a PRO.

      • ¿Cómo reasignar un dominio?

        Para reasignar un dominio registrado en nuestro hosting, complete el siguiente Formulario de reasignación de dominio , fírmelo, escanéelo y envíelo a {supportMail}. Después de eso, todos los datos serán cambiados en WHOIS y el dominio se convertirá en una propiedad del nuevo titular.

      • ¿Puedo recibir de ustedes una factura con IVA y una factura pro forma? ¿Puedo recibir de ustedes una factura para mi empresa?

        Desafortunadamente, nosotros no emitimos facturas con IVA, le podemos entregar solamente una factura sin IVA incluido. Usted puede obtener ambas como persona privada y para su compañía. Cuando el pago sea realizado, su factura estará disponible para descargar en la sección “Pagos” en el Panel de Control. Si usted necesita una factura pro forma, contáctenos: {supportMail}, y le daremos una factura a pagar en 7 o 14 días.

      • He registrado un domino en el panel de control y ahora quiero cambiar los DNSes y los registros MX. ¿Cómo lo hago?

        En el panel de control en la sección de dominios, haga clic en "editar" frente al dominio. en la ventana seleccione "No hosting" en el campo "adjuntar a una cuenta de hosting". En la parte inferior es donde usted puede cambiar los DNS y los registros MX.

      • ¿Por qué no se muestran mis estadísticas?

        Lo más probable, es que usted las esté comprobando el mismo día que haya creado una cuenta. Las estadísticas se actualizan cada día a las 3:00 am. Por favor, espere hasta ese momento y aparecerán.

      • Después de cargar archivos o después de cambiar las configuraciones de mis áreas protegidas aparece una ventana con solicitud de inicio de sesión y contraseña, entonces recibo este mensaje: "Autorización Requerida"

        Lo más probable es que haya descargado un archivo .htaccess junto con otros archivos y no sabe el nombre de usuario y la contraseña correctos. Ingrese a su FTP usando un cliente que permita que los archivos ocultos sean visibles y cambie el nombre o elimine todos los archivos .htaccess.

  • General
    VPS
  • CMS
  • Solucionar problemas

VPN en nuestro VPS


Para este artículo usaremos Ubuntu 16.04 y comandos mayormente relacionados con la distribución básica Debian.

Instalación de OpenVPN:

Para instalar OpenVPN y Easy-RSA debemos ejecutar:

# apt update && apt upgrade 
# apt install easy-rsa openvpn -y

Por comando se actualizará el VPS, segundo instalamos un servidor VPN.

Configuramos el directorio CA:

OpenVPN es un TLS/SSL VPN. Esto quiere decir que utiliza certificados para encriptar el tráfico entre el servidor y clientes. Para generar certificados confiables, tendremos que configurar nuestra propia autoridad certificada simple (CA).

Para comenzar, podemos copiar el directorio de plantillas Easy-RSA dentro de nuestro directorio principal con el comando make-cadir:

$ make-cadir ~/openvpn-ca

Lo movemos dentro el directorio que creamos para comenzar a configurar el CA:

$ cd ~/openvpn-ca

Configurar las variables del CA:

Para configurar las variables que usará nuestro CA, es necesario editar el archivo de variables dentro del directorio. Abra ese archivo en editor de texto:

$ nano vars

Adentro, encontrará algunas variables que se pueden ajustar para determinar cómo sus certificados serán creados. Sólo es necesario ocuparse de algunas de estas. Hacia la parte inferior del archivo, encuentre los ajustes que definen los campos por defecto para nuevos certificados. Debe lucir como esto: 

. . .
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"
. . .

Edite los valores en rojo a cualquiera de su preferencia, pero no los deje vacíos:

. . .
export KEY_COUNTRY="PL"
export KEY_PROVINCE="Warsaw"
export KEY_CITY="Warsaw"
export KEY_ORG="ABC Hosting"
export KEY_EMAIL="admin@cba.pl"
export KEY_OU="Community"
. . .

Mientras estamos aquí, también editaremos el valor KEY_NAME, justo abajo de esta sección, que establece el campo asunto. Para hacerlo simple, lo llamaremos server en esta guía:

export KEY_NAME="server"

Cuando termine, guarde y cierre el archivo. Para cerrar y guardar en nano use: ctrl + o y presione enter para guardar el archivo actual y control + x para salir del editor.

Crear la autoridad certificada:

Ahora, podemos usar las variables que configuramos y las herramientas de easy-rsa para crear la autoridad certificada.

Asegúrese de estar en el directorio CA, luego localice el origen del archivo de variables que acaba de editar:
$ cd ~/openvpn-ca
$ source vars

Debería ver lo siguiente si se hizo correctamente:
Nota: si ejecuta ./clean-all, se estará haciendo un rm - rf en /home/sammy/openvpn-ca/keys
asegúrese de estar trabajando en un ambiente limpio escribiendo:

$ ./clean-all

Ahora, podemos construir el root del CA escribiendo:

$ ./build-ca

Esto iniciará el proceso de creación del root de la llave de autoridad certificada. Al haber escrito el archivo de variables, todos los valores deberían establecerse automáticamente. Solo presione ENTER a las sugerencias para confirmar las selecciones:

Ejemplo de salida:
Generating a 2048 bit RSA private key
..........................................................................................+++
...............................+++
writing new private key to 'ca.key'
-----
Pronto se le pedirá que ingrese la información que será incorporada dentro de su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama nombre distinguido o un DN. Hay algunos campos pero puede dejar algunos sin completar. Para algunos campos habrá un valor inicial, Si ingresa '.', el campo será dejado sin completar.
-----
Country Name (2 letter code) [PL]:
State or Province Name (full name) [Warsaw]:
Locality Name (eg, city) [Warsaw]:
Organization Name (eg, company) [ABC Hosting]:
Organizational Unit Name (eg, section) [Community]:
Common Name (eg, your name or your server's hostname) [ABC Hosting CA]:
Name [server]:
Email Address [admin@cba.pl]:

Ahora tenemos un CA que puede ser usado para crear el resto de los archivos que necesitamos.

Crear el certificado del servidor, llave y archivos de encriptación

Siguiente, generaremos nuestro certificado del servidor y la llave par, así como archivos adicionales usados durante el proceso de encriptación.

Comience por generar el certificado del servidor OpenVPN y la llave par. Podemos hacer esto escribiendo:

Nota: si elige un nombre diferente a server aquí, deberá ajustar algunas de las instrucciones abajo. Por ejemplo, copiando el archivo generado al directorio /etc/openvpn , tendrá que sustituir los nombres correctos. Además tendrá que modificar el archivo /etc/openvpn/server.conf más tarde para apuntar a los archivos .ctr y .key correctos.

$ ./build-key-server server

Una vez más, las sugerencias tendrán valores por defecto basados en los argumentos que acabamos de mencionar (en server) y los contenidos del archivo de variables que creamos.

Siéntase libre de aceptar los valores por defecto presionando ENTER. No ingrese una contraseña complicada para esta configuración. Al final, tendrá que ingresarlo y dos preguntas para firmar y confirmar el certificado:

Ejemplo de salida:
. . .

Certificate is to be certified until May  1 17:51:16 2026 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

A continuación, generamos algunos otros items. Podemos generar unas llaves Diffie-Hellman fuertes para usarlas durante el cambio de llave al escribir:

$ ./build-dh

Esto tal vez tome algunos minutos para completarse.

Después, podemos generar una firma HMAC para fortalecer el TLS del servidor, capacidades de verificación e integridad:

$ openvpn --genkey --secret keys/ta.key

Genere un certificado de cliente y su llave par.

Luego podemos generar un certificado de cliente y una llave par. Sin embargo esto puede realizarse del lado del cliente y luego autorizarse por el servidor/CA por razones de seguridad. Para esta guía generaremos la llave registrada en el servidor por simplicidad. Generaremos una sola llave/certificado de cliente para esta guía, pero si usted tiene más de un cliente, puede repetir este proceso tantas veces como quiera. Pass es un valor único del código de cada cliente. 

Debido a que tal vez vuelva a este paso más adelante, volveremos a generar el archivo de variables. Usaremos clien1 como valor para nuestro primer certificado/llave par en esta guía.

Para producir credenciales sin una contraseña, ayudar en conexiones automatizadas, use el comando build-key de esta forma:
$ cd ~/openvpn-ca
$ source vars
$ ./build-key client1

Si en lugar de eso usted desea crear un conjunto de credenciales protegidas por contraseña, use el comando build-key-pass:

$ cd ~/openvpn-ca
$ source vars
$ ./build-key-pass client1

Una vez más, los valores por defecto deben ser establecidos presionando ENTER para continuar. Deje la contraseña de desafío vacía y asegúrese de completar las sugerencias que se solicitan para registrar y crear el certificado.

Configurar el servicio OpenVPN:

Ahora podemos comenzar a configurar el servicio OpenVPN, usando las credenciales y archivos que hemos generado.

Copie los archivos al directorio OpenVPN

Para comenzar, se deben copiar los archivos que necesitamos al directorio de configuración /etc/openvpn.

Podemos empezar con todos los archivos que acabamos de generar. Estos se situaron en el directorio ~/openvpn-ca/keys al ser creados. Es necesario mover el certificado CA y llave, el certificado del servidor y la llave, registro HMAC y el archivo Diffie-Hellman:

$ cd ~/openvpn-ca/keys
$ sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn

Siguiente, es necesario copiar y descomprimir un ejemplo del archivo de configuración de OpenVPN dentro del directorio de configuración de forma que podamos usarlo como base para nuestra configuración.

# gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Ajuste la configuración de OpenVPN

Ahora que nuestros archivos están en su lugar, podemos modificar el archivo de configuración del servidor.

$ sudo nano /etc/openvpn/server.conf

Configuración básica
Primero, encuentre la sección HMAC buscando la directiva tls-auth. Elimine el ";" para quitar el comentario de la línea tls-auth. Abajo de esto, agregue el parámetro key-direction en "0":

/etc/openvpn/server.conf:
tls-auth ta.key 0 # This file is secret
key-direction 0

Luego, encuentre la sección sobre los cifras criptográficas buscando entre las líneas cipher. El AES-128-CBC cipher ofrece un buen nivel de encriptación y es bien soportado. Elimine el ";" para quitar el comentario de la línea del chiper AES-128-CBC:

/etc/openvpn/server.conf:
cipher AES-128-CBC

Abajo, agregue una línea auth para seleccionar el mensaje de digestión algorítmica HMAC. Para éste, SHA256 es una buena opción:
/etc/openvpn/server.conf:
auth SHA256

Finalmente, ubique el usuario y ajustes de grupo, quite el ";" al comienzo para quitar el comentario de esas líneas:

/etc/openvpn/server.conf:
user nobody
group nogroup

(Opcional) haga los cambios de DNS para redirigir todo el tráfico a través del VPN
Los ajustes de arriba crearán la conexión VPN entre dos máquinas, pero no forzará a ninguna conexión para que use el túnel. Si desea usar la VPN para enrutar todo el tráfico, probablemente quiera hacer todos los ajustes de DNS a las computadoras de los clientes.

Puede hacer esto, quite el comentario de algunas directivas que configurarán el dispositivo del cliente para redirigir todo el tráfico web a través del VPN. 
Encuentre la sección redirect-gateway y remueva el ";" del comienzo del redirect-gateway para quitar el comentario.

/etc/openvpn/server.conf:
push "redirect-gateway def1 bypass-dhcp"

Justo abajo, ubique la sección dhcp-option. Una vez más, remueva el ";" del frente en ambas líneas para quitarles el comentario: 

/etc/openvpn/server.conf:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

Esto debería asistir a los clientes en la re-configuración de los ajustes DNS para usar el túnel VPS como puerta de enlace predeterminada.

(Opcional) Ajuste el puerto y protocolo
Por defecto, el servidor OpenVPN usa el puerto 1194 y el protocolo UDP para aceptar las conexiones de los clientes. Si usted necesita usar un puerto diferente debido a las restricciones de los ambientes de redes en las que tal vez estén sus clientes, puede cambiar la opción de puerto. Si usted no está hospedando el contenido de su servidor OpenVPN, el puerto 443 es una opción popular desde que es permitida a través de las reglas de los firewall.

/etc/openvpn/server.conf:
# Opcional!
port 443

Ahora si el protocolo está restringido para ese puerto también, cambie el protocolo de UDP a TCP:

/etc/openvpn/server.conf:
# Opcional!
proto tcp

Si no tiene la necesidad de usar un puerto diferente, lo mejor es dejar estos dos ajustes por defecto.

(Opcional) Apuntar a credenciales Non-Default 
Si usted selecciono un nombre diferente durante el comando ./build-key-server antes, modifique el certificado y las líneas key que ve para apuntar al archivo .crt y .key apropiado. Si uso el servidor por defecto, este debería estar colocado correctamente: 

/etc/openvpn/server.conf:
cert server.crt
key server.key

Cuando haya terminado, guarde y cierre el archivo. 

Ajustar la configuración de red del servidor

Seguidamente, es necesario ajustar algunos aspectos de red del servidor para que OpenVPN pueda desviar el tráfico correctamente.

Permitir redireccionamiento IP

Lo primero, es necesario permitirle al servidor el redireccionamiento del tráfico. Esto es muy esencial para la funcionalidad que necesitamos que provea nuestro VPN. 

Podemos ajustar esta configuración modificando el archivo /etc/sysctl.conf:

# sudo nano /etc/sysctl.conf

Adentro, busque la línea que establece net.ipv4.ip_forward. Remueva el caracter "#" del comienzo de la línea para eliminar el comentario de esa configuración:

/etc/sysctl.conf:
net.ipv4.ip_forward=1

Guarde y cierre el archivo cuando termine. Para leer el archivo y ajustar los valores para la sección actual, escriba:

# sudo sysctl -p

Luego es necesario instalar tablas IP y ajustar las reglas del firewall:

# apt install iptables

Para ajustar las reglas ejecute los siguientes comandos:
# iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 1194 -j ACCEPT
# iptables -A INPUT -i tun+ -j ACCEPT
# iptables -A FORWARD -i tun+ -j ACCEPT
# iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# iptables -A OUTPUT -o tun+ -j ACCEPT

También, por favor ejecute lo siguiente para ajustar archivo systemd service para la OpenVPN:

$ sudo sed -i 's/LimitNPROC=10 /#LimitNPROC=10 /' /lib/systemd/system/openvpn@.service

Será necesario arrancar el servidor del OpenVPN especificando el nombre de nuestro archivo de configuración como una variable de instancia luego del nombre de archivo unitario systemd. El archivo de configuración para nuestro servidor tiene por nombre /etc/openvpn/server.conf, añadiremos @server al final de nuestro archivo unitario al llamarlo:

$ sudo systemctl start openvpn@server

Si todo salió bien, el resultado debería ser algo parecido a lo que ve a continuación:

● openvpn@server.service - OpenVPN connection to server
   Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-05-03 15:30:05 EDT; 47s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
  Process: 5852 ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --script-security 
2 --config /etc/openvpn/%i.conf --writepid /run/openvpn/%i.pid (code=exited, sta
 Main PID: 5856 (openvpn)
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/system-openvpn.slice/openvpn@server.service
           └─5856 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 
2 --config /etc/openvpn/server.conf --writepid /run/openvpn/server.pid

May 03 15:30:05 openvpn2 ovpn-server[5856]: /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
May 03 15:30:05 openvpn2 ovpn-server[5856]: /sbin/ip route add 10.8.0.0/24 via 10.8.0.2
May 03 15:30:05 openvpn2 ovpn-server[5856]: GID set to nogroup
May 03 15:30:05 openvpn2 ovpn-server[5856]: UID set to nobody
May 03 15:30:05 openvpn2 ovpn-server[5856]: UDPv4 link local (bound): [undef]
May 03 15:30:05 openvpn2 ovpn-server[5856]: UDPv4 link remote: [undef]
May 03 15:30:05 openvpn2 ovpn-server[5856]: MULTI: multi_init called, r=256 v=256
May 03 15:30:05 openvpn2 ovpn-server[5856]: IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
May 03 15:30:05 openvpn2 ovpn-server[5856]: IFCONFIG POOL LIST
May 03 15:30:05 openvpn2 ovpn-server[5856]: Initialization Sequence Completed

Usted puede también comprobar que la interfaz tun0 del OpenVPN esté disponible escribiendo:

$ ip addr show tun0

Usted debería ver una interfaz configurada:

4: tun0: POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP mtu 1500 qdisc noqueue state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever

Crear Infraestructura de Configuración del Cliente:

Es necesario configurar un sistema que nos permita crear los archivos de configuración fácilmente. Es decir, creando la estructura del directorio de configuración del cliente.

Para crear un directorio de estructura dentro del directorio raíz y así almacenar los archivos:

$ mkdir -p ~/client-configs/files

Debido a que los archivos de configuración del cliente tendrán las llaves del cliente incorporadas, debemos bloquear los permisos en nuestro directorio interno.

$ chmod 700 ~/client-configs/files

Creando una configuración base

Siguiente, copiemos un ejemplo de la configuración del cliente dentro de nuestro directorio para usarlo como nuestra configuración base.

$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf

Abra este nuevo archivo en su editor de texto:

$ nano ~/client-configs/base.conf

Adentro, es necesario hacer algunos ajustes

Primero, ubique la directiva remota. Este apunta el cliente a nuestra dirección de servidor OpenVPN. Esto debería ser la dirección IP pública de su servidor OpenVPN. Si ha cambiado el puerto que el servidor OpenVPN, cambie a 1194 el puerto que seleccionó: 

~/client-configs/base.conf:
. . .
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote server_IP_address 1194
. . .

Asegúrese que el protocolo coincida al valor que está usando en el servidor de configuración:

~/client-configs/base.conf:
proto udp

Siguiente, quite el comentario de las directivas de usuario y grupo eliminando el ";":

~/client-configs/base.conf:
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

Encuentre las directivas que establecen el CA, cert y key. Comente estas directivas ya que estaremos añadiendo los certificados y llaves dentro del mismo archivo:

~/client-configs/base.conf:
# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
#ca ca.crt
#cert client.crt
#key client.key

Iguale la configuracion del cipher y auth que colocamos en el archivo /etc/openvpn/server.conf:

~/client-configs/base.conf:
cipher AES-128-CBC
auth SHA256

Siguiente, añada la directiva key-direction en algún lugar del archivo. Esto debe estar establecido a "1" para trabajar con el servidor:

~/client-configs/base.conf:
key-direction 1

Finalmente, añada algunas líneas de salida comentadas. Se quiere incluir estas con cada confif, pero se debe habilitar solo para clientes Linux que envían con un archivo /etc/openvpn/update-resolv-conf. Este script usa la utilidad resolvconf para actualizar la información de los DNS de clientes Linux.

~/client-configs/base.conf:
# script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf

Si su cliente está corriendo Linux y tiene un archivo /etc/openvpn/update-resolv-conf, debería quitar el comentario de las líneas del archivo configuración de cliente OpenVPN creado. Guarde el archivo cuando termine.

Creando un Script de Generación de Configuración

Siguiente, crearemos un script simple para compilar nuestra configuración base con el certificado relevante, la llave y archivos de cifrado. Éste colocará la configuración generada en el directorio ~/client-configs/files.

Cree y abra un archivo llamado make_config.sh dentro del directorio ~/client-configs: 

$ nano ~/client-configs/make_config.sh

Dentro, pegue el siguiente script:

~/client-configs/make_config.sh:
#!/bin/bash

# First argument: Client identifier

KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} \
    <(echo -e '') \
    ${KEY_DIR}/ca.crt \
    <(echo -e '\n') \
    ${KEY_DIR}/${1}.crt \
    <(echo -e '\n') \
    ${KEY_DIR}/${1}.key \
    <(echo -e '\n') \
    ${KEY_DIR}/ta.key \
    <(echo -e '') \
    > ${OUTPUT_DIR}/${1}.ovpn

Guarde y cierre el archivo cuando termine.

Marque el archivo como ejecutable escribiendo:

$ chmod 700 ~/client-configs/make_config.sh

Paso 11: Genere las Configuraciones del Cliente

Ahora, podemos fácilmente generar los archivos de configuración del cliente. Si siguió la guía, creo un certificado de cliente y una llave llamada client1.crt y client1.key respectivamente, al ejecutar el comando ./build-key client1 en el paso 6. Podemos generar un config para estos credenciales al moverlos dentro de nuestro directorio ~/client-configs y usando el script que hicimos:

$ cd ~/client-configs
$ ./make_config.sh client1

Si todo salió bien, deberíamos tener un archivo client1.ovpn en nuestro directorio ~/client-configs/files:

$ ls ~/client-configs/files

Salida:
client1.ovpn

Transfiriendo la Configuración a los Dispositivos del Cliente

Necesitamos transferir el archivo de configuración del cliente al dispositivo correspondiente. Por ejemplo, éste puede estar en su computadora local o en un dispositivo móvil. Mientras que las mejores aplicaciones usadas para realizar esta transferencia dependerán de su elección y sistema operativo del dispositivo, usted requiere la aplicación para usar SFTP (SSH file transfer protocol) O SCP (Secure Copy) en el backend. Éste transportará los archivos de autentificación del VPN de su cliente sobre una conexión encriptada.

Aquí está un ejemplo del comando SFTP usando nuestro client1.ovpn. Este comando puede ejecutarse desde su computadora local (OS X o Linux), ubica el archivo .ovpn en su directorio raíz:

$ scp sammy@openvpn_server_ip:client-configs/files/client1.ovpn ~/

A continuación varias herramientas para transferir archivos de forma segura desde el servidor a una computadora local:

WinSCP
FileZilla

El archivo OVPN puede ser usado si cliente es GUI para OpenVPN en Windows o Sistema operativo Mac. Linux tiene un administrador de red GUI que puede trabajar con archivos .ovpn.