No es necesario decir más con respecto a los tiempos que vivimos. El distanciamiento social cómo método de protección contra el Coronavirus nos obliga a hacer cambios en nuestra forma de vida. Y trabajo. De nuestra parte vamos a poner un granito de arena y te vamos a ayudar a configurar un router Mikrotik para que puedas conectarte a la oficina desde la tranquilidad de tu casa. La idea es que puedas hacerlo para ayudar a otros compañeros de oficina y entre todos protegernos.
Sin más preambulos, arrancamos.
El paso previo a esta guía es la instalación de OpenVPN. Vamos a utilizar la versión open source llamada Community. Podés descargarlo de acá. La instalación es super sencilla, en Windows es Siguiente, siguiente, siguiente.
El segundo requerimiento es que el router sea accesible desde internet con alguna dirección DNS o de IP. Por suerte los routers Mikrotic vienen con una dirección DDNS preinstalada. Sólo hay que activarla en IP > Cloud > DDNS Enabled
En el primer paso vamos a generar
Si durante la firma de los certificados se nos notifica que hubo un error de time-out
action timed out - try again, if error continues contact MikroTik support and send a supout file (13)
No te preocupes, significa que la terminal nos devuelve el control aunque no haya terminado el proceso. Igualmente el firmado se sigue ejecutando.
# Crear CA y autofirmar
/certificate add name=CA country="AR" state="BA" locality="Buenos Aires" organization="empresa" unit="oficina" common-name="CA" key-size=4096 days-valid=1095 key-usage=crl-sign,key-cert-sign
/certificate sign CA ca-crl-host=127.0.0.1 name="CA"
# Crear certificado del servidor OpenVPN y firmarlo con el CA
/certificate add name=SERVIDOR country="AR" state="BA" locality="Buenos Aires" organization="empresa" unit="oficina" common-name="SERVIDOR" key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server
/certificate sign SERVIDOR ca="CA" name="SERVIDOR"
# Crear plantilla de certificado para usuarios
/certificate add name=PLANTILLA-USUARIOS country="AR" state="BA" locality="Buenos Aires" organization="empresa" unit="oficina" common-name="USUARIOS" key-size=4096 days-valid=1095 key-usage=tls-client
/certificate sign PLANTILLA-USUARIOS ca="CA" name="PLANTILLA-USUARIOS"
# Exportar el certificado de CA
/certificate export-certificate CA export-passphrase=""
#############################################################################
# Crear tantos clientes cómo sean necesarios ejecutando estos comandos.
/certificate add name=USUARIO1 copy-from="PLANTILLA-USUARIOS" common-name="USUARIO1"
/certificate sign USUARIO1 ca="CA" name="USUARIO1"
# Exportar los certificados con contraseña 1061C0.4R
/certificate export-certificate USUARIO1 export-passphrase=1061C0.4R
#############################################################################
Ahora sólo resta descargar de Files
los archivos:
Ahora vamos a configurar el servidor OpenVPN en Mikrotik para poder conectarnos desde casa. Suponemos que la red de la oficina está configurada de la siguiente manera:
Por una cuestión de simplicidad no vamos a entrar en subnetting, por lo que suponemos que el Mikrotik hace servidor DNS, DHCP y es el gateway de la red. Idealmente el pool sólo tendria que tener la misma cantidad de usuarios registrados. En el ejemplo el servidor VPN va a asignar 255 direcciones (de 200 a 254).
# Crear el pool y el servidor DHCP de la VPN
/ip pool add name=OVPN-POOL ranges=10.10.1.200-10.10.1.254
/ip dhcp-server network add address=10.10.1.0/24 comment=VPN dns-server=192.168.1.1 gateway=192.168.1.1 netmask=24
/ppp profile add dns-server=192.168.1.1 local-address=OVPN-POOL name=OVPN-PERFIL remote-address=OVPN-POOL use-compression=no use-encryption=required
/interface ovpn-server server set certificate=SERVIDOR cipher=blowfish128,aes128,aes192,aes256 default-profile=OVPN-PERFIL enabled=yes require-client-certificate=yes
Modificar y ejecutar el siguiente comando por cada uno de los usuarios
/ppp secret add name=USUARIO1 password=CONTRASENIA1 profile=OVPN-PERFIL service=ovpn
Finalmente vamos a agregar un par de reglas al firewall para permitir la conexión y posterior acceso a la LAN.
/ip firewall filter add action=accept chain=input comment="ACEPTAR VPN" dst-port=1194 protocol=tcp
/ip firewall nat add chain=srcnat action=masquerade src-address=10.10.1.0/24 log=no log-prefix="" comment="OPENVPN -> LAN"
Esta es la parte más sencilla gracias a esta página https://ovpnconfig.com.br. Cargando los datos que trae por defecto casí que funciona. Hay que tener cuidado de marcar Redirect Gateway y escribir correctamente la dirección cloud de Mikrotik. Una vez realizado nos devuelve la configuración en texto plano.
Al texto plano hay que copiarlo en el editor preferido y agregar la siguiente linea, preferiblemente después de redirect-gateway def1
push "route 192.168.1.0 255.255.255.0 10.10.1.1"
Esta línea agrega una ruta estática a Windows que le dice que los paquetes con destino a la red 192.168.1.0
con mascara de red 255.255.255.0
los redirija por el gateway 10.10.1.1
que es la VPN. Ahora guardamos el archivo con extensión oficina.ovpn
por ejemplo. Para finalizar debemos crear otro archivo pero ahora que se llame credentials.txt
que va a contener las credenciales para conectarse. En nuestro ejemplo el archivo se va a ver así:
USUARIO1
CONTRASENIA1
Ahora copiamos estos dos archivos al directorio C:\Program Files\OpenVPN\config\
y estamos listos para ejecutar OpenVPN. Desde el área de notificación haciendo click con el botón derecho y luego en Conect... ¡felicidades!, home office conectado. Ya podés conectarte a las impresoras y unidades de red de la oficina desde tu casa.
Espero que esto te sea de ayuda en estos momentos de cuarentena.