Saltearse al contenido

Habilitación de SSL en MikroTik Hotspot

Esta guía explica cómo habilitar SSL (HTTPS) en la página de inicio de sesión de MikroTik Hotspot utilizando un certificado ACME gratuito emitido a través de IP Cloud. Siga los pasos a continuación utilizando la interfaz gráfica o la CLI de RouterOS.

Compatibilidad

Social WiFi ha sido probado y se ha comprobado que funciona en las siguientes combinaciones:

  • RouterOS versión 7.19 y superior

Requisitos previos

Instalación

  1. Habilitar IP Cloud

    Navegue a IP -> Cloud y establezca DDNS Enabled en yes.

    EnableCloud.png

    Espere hasta que aparezca el DNS Name.

    AwaitDNS.png

  2. Solicitar un certificado ACME

    Navegue a System (1) -> Certificates (2), luego haga clic en Add ACME (3). Ingrese cualquier nombre en el campo Name, por ejemplo mt_cert, e ingrese el dominio proporcionado en IP -> Cloud -> DNS Name.

    Después de completar los campos, haga clic en Add ACME Certificate (4).

    RequestACME.png

    Después de agregar el certificado, espere aproximadamente un minuto hasta que el estado cambie de Ea a Ka.

    AwaitACME.png

  3. Agregar el certificado al Hotspot

    Navegue a IP (1) -> Hotspot (2) -> Server Profiles (3), luego haga doble clic en el perfil predeterminado (4). En la pestaña General, cambie DNS Name de logging.sw.com al dominio proporcionado en IP -> Cloud -> DNS Name.

    HotspotDNS.png

    Vaya a la pestaña Login. En Login By, seleccione HTTPS únicamente, luego, debajo, en el campo SSL Certificate, seleccione el certificado generado en el paso anterior.

    HotspotLogin.png

    Después de completar los pasos, haga clic en Apply.

Volver a descargar los archivos del hotspot

Ejecute el siguiente comando en la terminal para descargar nuevas versiones de los archivos del hotspot y sobrescribir los antiguos.

{
:local downloadEndpoint "https://login.socialwifi.com/installation/mikrotik/download";
:local fileNames {"login.html"; "rlogin.html"; "alogin.html"; "flogin.html"; "md5.js"}
:local destinationDirectory "";
:if ([:len [/file find name="flash" type="disk"]] > 0) do={
:set destinationDirectory "/flash/";
}
:local ether1Mac ([/interface get [find name="ether1"]]->"mac-address");
:foreach fileName in=$fileNames do={
:put "Downloading file: $downloadEndpoint/$fileName\?mac=$ether1Mac"
/tool fetch url="$downloadEndpoint/$fileName\?mac=$ether1Mac" dst-path="$destinationDirectory$fileName"
}
}

Probar la solución

Conéctese a la red WiFi y abra la página de inicio de sesión. El navegador debería mostrar un certificado válido para el dominio configurado en lugar de una advertencia de seguridad.