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,
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