úterý 9. prosince 2025

 Dětská wifi na mikrotiku

Děti zásadně neposlouchají, když se jim řekne "přestaňte pařit, je čas na spaní". Ale když se jim sebere konektivita, tak najednou jde všechno :-) Tak jsem se rozhodl nakonfigurovat si svůj mikrotik tak, aby se jim konektivita vypínala sama v určité časy. Existuje na něm něco jako "Dětský režim" (IP -> Kid control), ale to jsem se rozhodl nepoužít. Zaprvé to není pro IPv6 a zadruhé se to omezení dělá podle MAC adres. A přepnout mobilní zařízení na používání náhodných MAC adres dneska umí každé dítě. Nehledě na to, že je to defaultní nastavení těch zařízení.
Takže sem se rozhodl udělat jim separátní wifi a tu vypínat a zapínat schedulerem. Jak na to:
  1. Zapnout synchronizaci času:
    1. System -> NTP Client
    2. přidat servery ts1.cesnet.cz a ts2.cesnet.cz
    3. povolit synchronizaci
  2. Přidat konfiguraci wifi:
    1. Záložka Configuration:
      1. Wifi -> Configuration -> new
      2. Name: detska-wifi
      3. SSID: deti
      4. Country: Czech
    2. Záložka Security:
      1. Authentication types: WPA2 PSK, WPA3 PSK, WPA2 PSK SHA2
      2. Passphrase: nějaké_wifi_heslo
  3. Přidat Wifi síťě:
    1. Wifi -> new
    2. Záložka General:
      1. Name: deti-5ghz
      2. Master: wifi1 #ta 5GHz :)
    3. Záložka Configuration:
      1. Zvolit Configuration z předchozího kroku (detska-wifi)
    4. Opakovat postup od 3.1 pro 2ghz síť
  4. Dát nově vytvořené wifi sítě do bridge, tím se jim přiřadí i stejný DHCP pool:
    1. Bridge -> new
    2. Interface: deti-2ghz
    3. Bridge: bridge
    4. Opakovat postup od 4.1 pro 5GHz síť
  5. Nastavit scheduler tak, aby tu dětskou wifi vypínal a zapínal podle následující tabulky:

  6. Den 06:00 07:15 13:00 19:00
    Po - Pá ON OFF ON OFF
    SO - NE ON (Stays ON) (Stays ON) OFF
    Uděláme si to raději v příkazové řádce (New Terminal), abychom se neuklikali:
/system/scheduler/ add name="Deti-zap-0600-DENNE" start-time=06:00:00 interval=1d on-event="/interface enable [find name~\"deti-\"]  

/system/scheduler/ add name="Deti-vyp-1900-DENNE" start-time=19:00:00 interval=1d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-01-vyp-0715-PO" start-time=07:15:00 start-date=dec/08/2025 interval=7d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-02-vyp-0715-UT" start-time=07:15:00 start-date=dec/09/2025 interval=7d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-03-vyp-0715-ST" start-time=07:15:00 start-date=dec/10/2025 interval=7d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-04-vyp-0715-CT" start-time=07:15:00 start-date=dec/11/2025 interval=7d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-05-vyp-0715-PA" start-time=07:15:00 start-date=dec/12/2025 interval=7d on-event="/interface disable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-01-zap-1300-PO" start-time=13:00:00 start-date=dec/08/2025 interval=7d on-event="/interface enable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-02-zap-1300-UT" start-time=13:00:00 start-date=dec/09/2025 interval=7d on-event="/interface enable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-03-zap-1300-ST" start-time=13:00:00 start-date=dec/10/2025 interval=7d on-event="/interface enable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-04-zap-1300-CT" start-time=13:00:00 start-date=dec/11/2025 interval=7d on-event="/interface enable [find name~\"deti-\"]"

/system/scheduler/ add name="Deti-05-zap-1300-PA" start-time=13:00:00 start-date=dec/12/2025 interval=7d on-event="/interface enable [find name~\"deti-\"]"