Configuración de OpenVPN Server en RouterOS Mikrotik y Windows en modo road warrior y site to site

Tema en 'Sistemas PPP' comenzado por MikrotikPeru, 14 de Mayo de 2016.

  1. MikrotikPeru

    MikrotikPeru Well-Known Member

    [​IMG]
    OpenVPN es una VPN SSL con todas las funciones que implementa OSI capa 2 o 3 extensión de red segura utilizando el protocolo de la industria estándar SSL / TLS, es compatible con los métodos de autenticación de cliente flexibles basados en certificados, tarjetas inteligentes, y / o credenciales de usuario / contraseña, y permite a los usuarios o las políticas de control de acceso específicos de grupo utilizando las reglas del cortafuegos aplicados a la interfaz virtual VPN. OpenVPN no es un proxy de aplicación web y no funciona a través de un navegador web.

    OpenVPN 2.0 amplía las capacidades de OpenVPN 1.x, ofreciendo un modo cliente / servidor escalable, lo que permite que varios clientes se conectan a un único proceso de servidor OpenVPN través de un único puerto TCP o UDP. OpenVPN 2.3 incluye un gran número de mejoras, incluyendo soporte completo de IPv6 y el apoyo PolarSSL.

    Requerimientos:
    • Servidor Linux (crear certificados privados)
    Nota: La fecha de los dispositivos deben estar configurados en el mismo tiempo, tanto del servidor como del cliente.

    Instalación de OPENVPN y Eady-RSA (creara los certificados)
    PHP:
    apt-get install openvpn easy-rsa
    Copiamos la carpeta RSA a OPENVPN
    PHP:
    cd /etc/openvpn/
    mkdir easy-rsa
    cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
    cd /etc/openvpn/easy-rsa/
    Luego editamos manualmente las variables de entorno por defecto
    PHP:
    vi vars
    export KEY_COUNTRY="PE"
    export KEY_PROVINCE="LI"
    export KEY_CITY="LIMA"
    export KEY_ORG="TESLANETSAC"
    export KEY_EMAIL="bpillaca@mikrotik.com.pe"
    limpiar desde 0 archivos de certificados preconfigurados
    PHP:
    source ./vars

    ./clean-all
    Procedemos a crear el certificado del servidor
    PHP:

    ./build-ca
    ./build-key-server mikrotik
    cd /etc/openvpn/easy-rsa/keys/
    Procedemos a crear el certificado del cliente
    PHP:
    cd /etc/openvpn/easy-rsa/
    source vars
    ./build-key cliente1
    El CA es importante guardarlo al trasladar el certificado a otro servidor y crear nuevos clientes.


    Instalamos OPENVPN en su versión para Windows
    Por defecto se instala en la ruta
    PHP:
    C:\Archivos de programa\OpenVPN\
    La Ruta que nos interesa editar es:
    PHP:
    C:\Archivos de programa\OpenVPN\config
    Creamos un archivo con extension .ovpn
    Ejemplo:
    Quedaria algo como
    PHP:
    C:\Archivos de programa\OpenVPN\config
    Luego le agregamos la configuración siguiente y la guardamos.

    PHP:
    client
    dev tun
    proto tcp
    remote 8.8.8.8 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    verb 7
    cipher AES-256-CBC
    auth SHA1
    pull

    auth-user-pass auth.cfg

    ca ca.crt
    cert cliente1.crt
    key cliente1.key
    ns-cert-type server
    route 192.168.50.0 255.255.255.0 172.16.50.1
    PHP:
    client
    dev tun
    proto tcp-client
    remote 1.1.1.1
    port 1194
    nobind
    persist-key
    persist-tun
    tls-client
    remote-cert-tls server
    ca ca.crt
    cert client1.crt
    key client1.key
    verb 4
    mute 10
    cipher AES-256-CBC
    auth SHA1
    auth-user-pass secret
    auth-nocache
    ;redirect-gateway def1

    route 192.168.0.0 255.255.255.0 172.8.1.1
    Donde auth-user-pass auth.cfg es el archivo de configuración de usuario y contraseña generado en mikrotik en el siguiente orden:
    PHP:
    usuario
    clave
    Tres son los archivos importantes a subir al FILE del mikrotik:
    PHP:
    ca.crt
    mikrotik.crt
    mikrotik.key

    Luego en el orden siguiente nos vamos a certificado /system certificates - de mikrotik e importamos.
    PHP:
    /certificate
    import file=mikrotik.crt
    import file=mikrotik.key
    import file=ca.crt
    Luego activamos OPENVPN y creamos los perfiles de usuario y el certificado finalmente podremos conectar una maquina windows o linux a nuestro mikrotik como servidor, hay detalles a tomar en cuenta y es que mikrotik no soporta UDP como transporte solamente TCP y no soporta LZO.

    Saludos,
     
    Última modificación: 3 de Abril de 2018
  2. MikrotikPeru

    MikrotikPeru Well-Known Member

    Para Linux Debian

    PHP:
    apt-get install openvpn
    PHP:
    dpkg-reconfigure tzdata
    PHP:
    aptitude install ntp
    PHP:
    /etc/init.d/hwclock.sh restart

    PHP:
    cd /etc/openvpn
    mkdir -p log/
    touch log/openvpn-status.log
    Creamos un archivo /etc/openvpn/client.conf
    ---------------------------------------------------------------------
    PHP:
    client
    dev tun
    port 1194
    proto tcp

    remote 192.95.62.43 1194
    nobind

    ca /etc/openvpn/key/ca.crt
    cert /etc/openvpn/key/mikrotik.crt
    key /etc/openvpn/key/mikrotik.key

    auth-user-pass auth.cfg

    persist-key
    persist-tun

    verb 3
    -------------------------

    PHP:
    /etc/init.d/openvpn restart
    PHP:
    tail -f /var/log/syslog |ccze
     

Comparte esta página