guía

Home office con OpenVPN y Mikrotik.

por Lógico (@logico_ar)

PUBLICADO 22:15
16.2.2020

Después de leer esta guía no vas a necesitar ir a la oficina.

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.

Paso 0: Instalar OpenVPN.

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

Paso 1: todo sobre certificados.

En el primer paso vamos a generar

  • El CA (certificate authority) que es el que va a emitir y firmar todos los certificados
  • El certificado del servidor.
  • Certificados de usuarios.

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:

  • cert_export_CA.crt
  • cert_export_USUARIO1.crt
  • cert_export_USUARIO1.key

Paso 2: Crear servidor OpenVPN en Mikrotik.

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:

  • NETWORK: 192.168.1.0/24
  • GATEWAY: 192.168.1.1

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"

Paso 3: Configurar el cliente OpenVPN.

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.

Portada.

Foto de Daria Shevtsova en Pexels


Comentarios desactivados en la versión móvil.