Guida MikroTik
Utenti, RADIUS, IoT e containerBase

Hotspot e Captive Portal: setup, profili e bypass

Configura un Hotspot WiFi con captive portal su RouterOS v7. Gestisci profili utente con banda e sessioni, whitelist IP, walled garden e integrazione RADIUS.

L'Hotspot di RouterOS è un sistema di captive portal che intercetta il traffico HTTP/HTTPS dei client e li reindirizza a una pagina di login prima di concedere l'accesso a Internet. Ideale per reti ospiti in hotel, bar, eventi o aree pubbliche.

1. Setup guidato Hotspot

Avviare il wizard di configurazione
# Avviare il wizard interattivo (rispondere alle domande)
/ip/hotspot/setup

# Il wizard chiede:
#  1. Interfaccia (es. wlan1 o bridge-guest)
#  2. Indirizzo gateway locale (es. 10.5.50.1/24)
#  3. Pool indirizzi DHCP (es. 10.5.50.2-10.5.50.254)
#  4. Certificato SSL (opzionale, "none" per HTTP)
#  5. Server SMTP per redirect mail
#  6. Server DNS
#  7. Hostname locale (es. hotspot.miowisp.it)
#  8. Username e password admin iniziale

2. Profili utente (/ip/hotspot/user/profile)

Creare profili con limiti di banda e sessione
# Profilo base: 2 Mbps, 2 ore, 1 dispositivo per account
/ip/hotspot/user/profile add \
  name=ospite-base \
  rate-limit=2M/2M \
  session-timeout=2h \
  idle-timeout=15m \
  shared-users=1

# Profilo premium: 10 Mbps, sessione illimitata, 3 dispositivi
/ip/hotspot/user/profile add \
  name=ospite-premium \
  rate-limit=10M/10M \
  session-timeout=0 \
  idle-timeout=30m \
  shared-users=3

# Aggiungere un utente
/ip/hotspot/user add \
  name=ospite1 \
  password=hotel2024 \
  profile=ospite-base \
  limit-uptime=24h \
  limit-bytes-total=1073741824
limit-bytes-total=1073741824 equivale a 1 GB. Il campo shared-users controlla quanti dispositivi possono usare lo stesso account simultaneamente — impostarlo a 1 per prevenire la condivisione abusiva delle credenziali.

3. Bypass autenticazione (/ip/hotspot/ip-binding)

Alcuni dispositivi (stampanti, smart TV, access point) devono accedere alla rete senza autenticazione. Si usa il bypass tramite ip-binding.

Bypass per MAC e IP specifici
# Bypass per indirizzo MAC (es. stampante)
/ip/hotspot/ip-binding add \
  mac-address=AA:BB:CC:DD:EE:FF \
  type=bypassed \
  comment="Stampante sala riunioni"

# Bypass per range IP fisso (es. dispositivi IoT)
/ip/hotspot/ip-binding add \
  address=10.5.50.200-10.5.50.210 \
  type=bypassed \
  comment="Dispositivi IoT sala"

# Blocco per MAC specifico
/ip/hotspot/ip-binding add \
  mac-address=11:22:33:44:55:66 \
  type=blocked \
  comment="Dispositivo bannato"

4. Walled Garden — accesso pre-autenticazione

Permettere accesso a risorse senza login
# Permettere accesso al sito aziendale prima del login
/ip/hotspot/walled-garden add \
  dst-host=www.miohotel.it \
  action=allow

# Permettere sottodomini con wildcard
/ip/hotspot/walled-garden add \
  dst-host=*.miohotel.it \
  action=allow

# Walled garden a livello IP (es. server DNS interno)
/ip/hotspot/walled-garden/ip add \
  dst-address=10.0.0.53 \
  protocol=udp \
  dst-port=53 \
  action=accept

5. Integrazione RADIUS per Hotspot

Abilitare RADIUS sul profilo Hotspot
# Abilitare RADIUS sul profilo hotspot
/ip/hotspot/profile set default \
  use-radius=yes \
  radius-accounting=yes \
  radius-interim-update=5m

# Il server RADIUS deve avere service=hotspot
/radius add \
  service=hotspot \
  address=10.0.0.10 \
  secret=S3gr3t0Hotspot
Con RADIUS attivo, le credenziali degli utenti sono validate dal server remoto e non dalla lista locale /ip/hotspot/user. Il server può restituire Mikrotik-Rate-Limit e Session-Timeout per personalizzare la sessione utente per utente.

6. Metodi di login e accesso trial gratuito

Il profilo Hotspot definisce i metodi di login accettati. Per reti pubbliche italiane (bar, hotel) è comune offrire un accesso trial gratuito a tempo, oppure il login via credenziali consegnate alla reception.

Configurare login methods e accesso trial
# Login con HTTP-CHAP (password mai in chiaro) + cookie per non ri-loggare
/ip/hotspot/profile set default \
  login-by=http-chap,cookie \
  http-cookie-lifetime=1d

# Accesso TRIAL: 30 minuti gratis, poi richiede credenziali; ripetibile dopo 1 giorno
/ip/hotspot/user/profile set ospite-base \
  add-mac-cookie=yes \
  mac-cookie-timeout=1d
/ip/hotspot/profile set default \
  trial-uptime-limit=30m \
  trial-uptime-reset=1d \
  trial-user-profile=ospite-base
In Italia, per offrire WiFi pubblico non è più obbligatoria l'identificazione preventiva (Decreto Pisanu abrogato), ma è buona prassi: (1) accettazione di termini d'uso con AUP, (2) log delle sessioni (accounting RADIUS) per un tempo ragionevole, (3) filtraggio dei contenuti illeciti. Verificare sempre gli obblighi vigenti.

7. Personalizzare la pagina di login

Le pagine HTML del captive portal stanno nella cartella hotspot del filesystem del router (login.html, status.html, ecc.). Si possono scaricare via FTP/WinBox, brandizzare con logo e colori del WISP, e ricaricare.

Gestione file della pagina Hotspot
# Elencare i file HTML del portale
/file/print where name~"hotspot"

# Cambiare la directory HTML usata dal profilo (es. tema brandizzato)
/ip/hotspot/profile set default html-directory=hotspot-miowisp

# Dopo l'upload dei file via FTP nella cartella hotspot-miowisp

8. Best-practice di sicurezza Hotspot

  • Isolare la rete ospiti dal resto: bridge/VLAN dedicata, mai sulla LAN di gestione
  • Vietare il traffico client-to-client sulla rete ospiti per evitare attacchi laterali (es. /interface/bridge port con horizon o regole di drop tra ospiti)
  • Usare login-by=http-chap o HTTPS: mai PAP in chiaro su rete radio condivisa
  • Impostare shared-users=1 e add-mac-cookie per scoraggiare la condivisione delle credenziali
  • Limitare la banda complessiva della rete ospiti con una queue, per non saturare l'uplink del WISP
  • Walled garden minimale: solo i domini strettamente necessari (pagamento, sito struttura, captive detection di Apple/Android)
Hotspotcaptive portalip hotspotwalled gardenip-bindingrate-limit hotspotguest WiFihotel WiFiRADIUS hotspot

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS