1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

[GUIA] Instalar y Configurar OpenVPN en CentOS

Tema en 'Asuntos Técnicos' iniciado por OscarS, 17 May 2011.

  1. OscarS

    OscarS Usuario activo

    Tema Original

    Esta guía fue traducida de ingles a español y complementada por mi. Esta guía les permitirá tener su VPN en una forma fácil y sencilla.

    La guía fue probada en un VPS XEN de 512 de RAM y CentOS de 64 Bits (VPS XEN 512 x64 10TB).

    Bueno manos a la obra.

    La primer cosa que tener que hacer es checar si tenemos tun/tap activado, lo haremos escribiendo lo siguiente en consola o terminal

    CODE, HTML o PHP Insertado:
    cat /dev/net/tun
    Y nos deve de aparecer esto

    CODE, HTML o PHP Insertado:
    cat: /dev/net/tun: File descriptor in bad state
    Si les sale igual significa que tenemos el tun/tap activado y podemos proceder, si sale de cualquier otro modo significa que no lo tenemos activado asi que tendran que pedir a su provedor que se los active.

    Instalar los modulos requeridos

    CODE, HTML o PHP Insertado:
    yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel
    Descargar el repositorio de OpenVPN

    CODE, HTML o PHP Insertado:
    wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
    Descargar esto si tu sistema es de 32bits

    CODE, HTML o PHP Insertado:
    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    Descargar esto si tu sistema es de 64bits

    CODE, HTML o PHP Insertado:
    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
    Construimos los paquetes rpm en 32bits

    CODE, HTML o PHP Insertado:
    rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
    rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm
    rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    Construimos los paquetes rpm en 64bits

    CODE, HTML o PHP Insertado:
    rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
    rpm -Uvh /usr/src/redhat/RPMS/x86_64/lzo-*.rpm
    rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
    Instalamos OpenVPN

    CODE, HTML o PHP Insertado:
    yum install openvpn
    Copiamos la carpeta “easy-rsa” de OpenVpn a “/etc/openvpn/“

    CODE, HTML o PHP Insertado:
    cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/
    Ahora crearemos los certificados

    CODE, HTML o PHP Insertado:
    cd /etc/openvpn/easy-rsa/2.0
    chmod 755 *
    source ./vars
    ./vars
    ./clean-all
    Creamos el archivo CA

    CODE, HTML o PHP Insertado:
    ./build-ca
    Nota: Al crear el archivo CA nos pedira escribir unos datos, estos se pueden poner o pasar aqui les dejare un ejemplo

    CODE, HTML o PHP Insertado:
    Country Name: rellenamos o omitimos con enter
    State or Province Name: rellenamos o omitimos con enter
    City: rellenamos o omitimos con enter
    Org Name: rellenamos o omitimos con enter
    Org Unit Name: rellenamos o omitimos con enter
    Common Name: su hostname o dominio del vpn
    Email Address: rellenamos o omitimos con enter
    Creamos la “key” del servidor

    CODE, HTML o PHP Insertado:
    ./build-key-server servidor
    Nos volvera a pedir datos como en el archivo CA podemos hacer lo mismo simplemente cambiaremos lo que pusimos en hostname por “servidor” les dejo el ejemplo

    CODE, HTML o PHP Insertado:
    Common Name: servidor
    Password: rellenamos o omitimos con enter
    sign the certificate: y
    1 out of 1 certificate requests: y
    Crearemos el Diffie Hellman (esto puede tardar un rato, esperen hasta que acabe)

    CODE, HTML o PHP Insertado:
    ./build-dh
    Crearemos una configuracion para el puerto UDP 1194 para OpenVPN

    CODE, HTML o PHP Insertado:
    nano /etc/openvpn/1194.conf
    Esto nos abrirá un archivo en blanco, lo llenamos con lo siguiente

    CODE, HTML o PHP Insertado:
    local 123.123.123.123 #- la_ip_de_tu_servidor
    port 1194 #- puerto
    proto udp #- protocolo
    dev tun
    tun-mtu 1500
    tun-mtu-extra 32
    mssfix 1450
    ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
    cert /etc/openvpn/easy-rsa/2.0/keys/servidor.crt
    key /etc/openvpn/easy-rsa/2.0/keys/servidor.key
    dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
    plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
    client-cert-not-required
    username-as-common-name
    server 1.2.3.0 255.255.255.0
    push "redirect-gateway def1"
    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 4.2.2.1"
    keepalive 5 30
    comp-lzo
    persist-key
    persist-tun
    status 1194.log
    verb 3
    Nota: Antes de que guarden el archivo asegurence de que “plugin /usr/share/.. /pam.d/login” esta en el mismo renglon y de cambiar “123.123.123.123” por la IP de su VPN

    Iniciamos OpenVPN con el archivo 1194.conf

    CODE, HTML o PHP Insertado:
    openvpn /etc/openvpn/1194.conf &
    Este es el log si OpenVPN inicio exitosamente

    CODE, HTML o PHP Insertado:
    Mon Feb 21 02:23:20 2011 UDPv4 link remote: [undef]
    Mon Feb 21 02:23:20 2011 MULTI: multi_init called, r=256 v=256
    Mon Feb 21 02:23:20 2011 IFCONFIG POOL: base=1.2.3.4 size=62
    Mon Feb 21 02:23:20 2011 Initialization Sequence Completed
    Verificamos que OpenVPN 1194.conf corra oculto

    CODE, HTML o PHP Insertado:
    bg
    Habilitamos en enrutamiento (Forward) IPv4

    CODE, HTML o PHP Insertado:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    Fijamos IPTables

    CODE, HTML o PHP Insertado:
    iptables -t nat -A POSTROUTING -s 1.2.3.0/24 -j SNAT --to 123.123.123.123
    
    Nota: Las IPs asignadas para el cliente VPN son 1.2.3.0 y cambiamos el “123.123.123.123″ por la IP de su VPN

    Crearemos usuario y contraseña para la conexion

    CODE, HTML o PHP Insertado:
    useradd nombredeusuario -s /bin/false
    passwd nombredeusuario
    Ahora descargamos el archivo “ca.crt” del directorio “/etc/openvpn/easy-rsa/2.0/keys/” (pueden usar FileZilla para esto)

    Descargamos e instalamos el cliente de OpenVPN para windows, descargamos la version mas reciente y estable aquí

    Despues de que terminamos de instalar, cerramos el cliente de OpenVPN y movemos el archivo que acabamos de descargar (ca.crt) en el directorio donde instalamos OpenVPN en la carpeta “config”

    También crearemos un archivo de configuración para el cliente de OpenVPN en esa misma carpeta, abrimos el bloqueo de notas y ponemos

    CODE, HTML o PHP Insertado:
    client
    dev tun
    proto udp #- protocol
    remote 123.123.123.123 1194 #- IP DEL SERVER and PUERTO DE OPENVPN
    resolv-retry infinite
    nobind
    tun-mtu 1500
    tun-mtu-extra 32
    mssfix 1450
    persist-key
    persist-tun
    ca ca.crt
    auth-user-pass
    comp-lzo
    verb 3
    Nota: Cambiamos “123.123.123.123″ por la IP de nuestro VPN

    Lo guardamos como 1194.ovpn o loquequeramos.ovpn, abrimos nuestro cliente y le damos click derecho al icono de la barra de tareas, connect y nos pedira el usuario y contraseña que pusimos en el proceso.

    Nota

    Con lo que acabamos de hacer funcionara el OpenVPN manual, tendran que hacer cada vez que reinicien el servidor las opciones de “Habilitamos en enrutamiento (Forward) IPv4“, “Fijamos IPTables” y “Iniciamos OpenVPN con el archivo 1194.conf“, a continuación les diré como dejar permanentes estas opciones dando click aqui
     
    A gonzalovillakap le gusta esto.
  2.  
  3. gonzalovillakap

    gonzalovillakap Nuevo usuario

    Estimados
    Como están, hace poco instale CentOs 7 en mi equipo, resulta que quiero instalar y configurar una openVPN con los pasos que aparecen en esta guía, todo bien hasta que llegue al sgte paso marcado con negrita:

    Construimos los paquetes rpm en 64bits

    CODE, HTML o PHP Insertado:
    rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
    rpm -Uvh /usr/src/redhat/RPMS/x86_64/lzo-*.rpm
    rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

    al tipear dicho paso por consola me arroja el sgte error:

    [root@localhost ~]# rpm -Uvh /usr/src/redhat/RPMS/x86_64/lzo-*.rpm
    error: Archivo no encontrado por glob: /usr/src/redhat/RPMS/x86_64/lzo-*.rpm


    Yo soy novato en este tipo de configuraciones, estoy bastante interesado en aprender a configurar una openVPN, agradeceria su ayuda.

    Saludos.
     
  4. egrueda

    egrueda Usuario activo

    @gonzalovillakap, estás respondiendo a un tema de 2011, posiblemente algún paso no sea válido, aunque si el comando rpmbuild no te ha fallado, entonces mira a ver qué te ha creado dentro de /usr/src/redhat/RPMS/, porque puede que te lo haya creado para 32 bits y no para 64.
    También dentro de http://openvpn.net/release/ puedes encontrar los rpm binarios, compilados e incluso puedes encontrar versiones más modernas en http://pkgs.repoforge.org/lzo/
     
  5. gonzalovillakap

    gonzalovillakap Nuevo usuario

    Estimado
    Con el comando rpmbuild no tuve problema alguno, me metí dentro de la ruta /usr/src/ y no se creo ninguna carpeta de nombre redhat, ahora, si quisiera instalar el paquete binario Lzo desde consola, lo instalo directamente con el comando yum install, y puede ser cualquier versión de dicho paquete, una vez instalado, puedo seguir con el paso siguiente de esta guía, que es instalar OpenVPN, soy novato en esto, he buscado por la red información de como configurar e instalar una openVPN, y en uno de los sitios donde mejor explican la instalación es en www.comunidadhosting.com, ahora si tuviera información mas actualizada del tema, se lo agradecería, así podría empezar de 0 la instalación de openVPN, gracias.
     
  6. egrueda

    egrueda Usuario activo

    Pues no te he entendido nada de nada. ¿Has podido instalarlo o no? ¿Qué necesitas exactamente?
     
  7. gonzalovillakap

    gonzalovillakap Nuevo usuario

    También dentro de http://openvpn.net/release/ puedes encontrar los rpm binarios, compilados e incluso puedes encontrar versiones más modernas en http://pkgs.repoforge.org/lzo/

    De lo que mencionaste en el párrafo que coloque arriba, si quisiera instalar el paquete binario lzo desde consola, lo instalo directamente con el comando yum install, y puede ser cualquier versión de dicho paquete, una vez instalado, puedo seguir con el paso siguiente de esta guía, que es instalar OpenVPN, no he instalado nada todavía, he intentado hacer 2 instalaciones y no me funcionan, por eso quiero estar seguro de lo que estoy haciendo.
     
  8. egrueda

    egrueda Usuario activo

    Ah, vale, me parece que te faltan signos de interrogación. No es lo mismo afirmar que preguntar, por eso se usan signos de interrogación:

    ¿lo instalo directamente con el comando yum install? No creo que estén en los repositorios habituales (puedes probar, claro), así que seguramente tengas que bajarlo de esa web.

    ¿puede ser cualquier versión de dicho paquete? Cualquier versión... compatible con tu sistema, claro. Trata de usar la versión más moderna.

    ¿puedo seguir con el paso siguiente de esta guía, que es instalar OpenVPN? Hombre, supongo que sí :) a menos que te ocurra un error más adelante. Pero sobre todo, ten claro lo que estás haciendo y en qué arquitectura lo estás haciendo, no vale con copiar y pegar comandos de este manual si alguno de ellos no se aplica en tu caso.
     
  9. gonzalovillakap

    gonzalovillakap Nuevo usuario

    Gracias por tu aclaración.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·