Kid Control (Parental Controls)
Kid Control (Parental Controls)
Section titled “Kid Control (Parental Controls)”TL;DR (Quick Start)
Section titled “TL;DR (Quick Start)”For the impatient: create a profile and assign a device.
# Create a kid profile with weekday evening access/ip/kid-control/add name=homework mon=16:00-21:00 tue=16:00-21:00 wed=16:00-21:00 thu=16:00-21:00 fri=16:00-22:00
# Add a device by MAC address/ip/kid-control/device/add name=kids-tablet mac-address=AA:BB:CC:DD:EE:FF user=homeworkVerify with:
/ip/kid-control/device/printOverview
Section titled “Overview”What this does: Kid Control is a parental control feature that restricts internet access for specific devices based on time schedules and bandwidth limits. It works by creating dynamic firewall rules to block access and simple queues to limit bandwidth.
When to use this:
- Limiting children’s internet access to specific hours
- Restricting bandwidth for certain devices
- Temporarily pausing internet for a device
- Managing screen time on tablets, phones, and gaming consoles
Prerequisites:
- Router must be the default gateway for controlled devices
- System clock must be accurate (NTP configured)
- Devices identified by MAC address
Important Requirement
Kid Control only works when the MikroTik router is the default gateway for the devices you want to control. If devices use a different gateway, the restrictions won’t apply.
Configuration Steps
Section titled “Configuration Steps”Step 1: Configure NTP (Critical)
Section titled “Step 1: Configure NTP (Critical)”Kid Control relies on accurate time. Ensure NTP is configured:
/system/ntp/client/set enabled=yes/system/ntp/client/servers/add address=pool.ntp.org/system/clock/set time-zone-name=America/New_YorkVerify time is correct:
/system/clock/printStep 2: Create a Kid Profile
Section titled “Step 2: Create a Kid Profile”Create a profile defining when internet access is allowed:
/ip/kid-control/add name=afterschool \ mon=16:00-21:00 \ tue=16:00-21:00 \ wed=16:00-21:00 \ thu=16:00-21:00 \ fri=16:00-22:00 \ sat=09:00-22:00 \ sun=09:00-21:00Time format: HH:MM-HH:MM (24-hour format)
Tip: Leave a day empty to block access completely for that day.
Step 3: Find Device MAC Address
Section titled “Step 3: Find Device MAC Address”View connected devices:
/ip/kid-control/device/printOr check the ARP table:
/ip/arp/printStep 4: Assign Device to Profile
Section titled “Step 4: Assign Device to Profile”Add the device with its MAC address:
/ip/kid-control/device/add name=kids-tablet mac-address=AA:BB:CC:DD:EE:FF user=afterschoolStep 5: Verify Configuration
Section titled “Step 5: Verify Configuration”Check device status:
/ip/kid-control/device/printFlags indicate status:
B= Blocked (outside allowed hours)L= Rate limitedP= PausedI= Inactive
Common Scenarios
Section titled “Common Scenarios”Scenario: Add Bandwidth Limit
Section titled “Scenario: Add Bandwidth Limit”Restrict a profile to 5 Mbps during allowed hours:
/ip/kid-control/set afterschool rate-limit=5MScenario: Unlimited Rate During Specific Hours
Section titled “Scenario: Unlimited Rate During Specific Hours”Allow full speed during homework hours, limited speed otherwise:
/ip/kid-control/set afterschool rate-limit=2M \ tur-mon=16:00-18:00 \ tur-tue=16:00-18:00 \ tur-wed=16:00-18:00 \ tur-thu=16:00-18:00The tur-* (time unlimited rate) settings override the rate-limit during those hours.
Scenario: Pause Internet Immediately
Section titled “Scenario: Pause Internet Immediately”Temporarily block a device regardless of schedule:
/ip/kid-control/pause afterschoolResume normal schedule:
/ip/kid-control/resume afterschoolScenario: Weekend-Only Access
Section titled “Scenario: Weekend-Only Access”Create a profile allowing access only on weekends:
/ip/kid-control/add name=weekend-only \ sat=10:00-20:00 \ sun=10:00-18:00Weekdays (mon-fri) are left empty, blocking access completely.
Scenario: Time Range Spanning Midnight
Section titled “Scenario: Time Range Spanning Midnight”For access from evening to early morning (e.g., Friday night):
# Friday 18:00 to midnight/ip/kid-control/set weekend-only fri=18:00-1d00:00:00
# Saturday midnight to 2 AM (add to Saturday)/ip/kid-control/set weekend-only sat=00:00-02:00,10:00-20:00Use 1d00:00:00 to represent midnight (end of day).
Scenario: Multiple Devices for One Profile
Section titled “Scenario: Multiple Devices for One Profile”Add multiple devices to the same profile:
/ip/kid-control/device/add name=tablet mac-address=AA:BB:CC:DD:EE:FF user=afterschool/ip/kid-control/device/add name=phone mac-address=11:22:33:44:55:66 user=afterschool/ip/kid-control/device/add name=gaming-console mac-address=77:88:99:AA:BB:CC user=afterschoolScenario: Temporary Bonus Time via Script
Section titled “Scenario: Temporary Bonus Time via Script”Create a script to grant 30 minutes of extra access:
/system/script/add name=bonus-time source={ /ip/kid-control/disable afterschool :delay 30m /ip/kid-control/enable afterschool :log info "Bonus time ended for afterschool"}Run it when needed:
/system/script/run bonus-timeScenario: View Usage Statistics
Section titled “Scenario: View Usage Statistics”Check bandwidth usage per device:
/ip/kid-control/device/print statsReset counters:
/ip/kid-control/device/reset-counters [find name=kids-tablet]Verification
Section titled “Verification”Confirm Kid Control is working correctly:
Check 1: Verify Profile Configuration
Section titled “Check 1: Verify Profile Configuration”/ip/kid-control/printExpected: Profiles listed with correct time schedules.
Check 2: Verify Device Assignment
Section titled “Check 2: Verify Device Assignment”/ip/kid-control/device/printExpected: Devices listed with user showing assigned profile; flags indicate current status (B/L/P).
Check 3: Verify Firewall Rules Created
Section titled “Check 3: Verify Firewall Rules Created”/ip/firewall/filter/print where comment~"kid"Expected: Dynamic rules created by Kid Control for blocking.
Check 4: Verify Queue Rules Created
Section titled “Check 4: Verify Queue Rules Created”/queue/simple/print where comment~"kid"Expected: Dynamic queues created for rate limiting.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Cause | Solution |
|---|---|---|
| Device not blocked at correct times | System clock incorrect | Configure NTP; verify time with /system/clock/print |
| Kid Control not affecting device | Router not default gateway | Ensure device uses router as gateway |
| Settings revert after changing | Known bug in some versions | Try CLI instead of GUI; update RouterOS |
| Time range errors in GUI | Midnight representation | Use 1d00:00:00 for midnight; use CLI for complex schedules |
| Rate limit not working | Queue not created | Check /queue/simple/print; verify device MAC is correct |
| Device bypasses controls | Random MAC enabled | Disable “random MAC” on device; consider MAC filtering |
| ”End time must be bigger” error | Invalid time format | Use 24-hour format; split ranges crossing midnight |
| Controls block all the time | Empty or invalid time config | Verify time values are set for allowed days |
Debug: Check Current Device Status
Section titled “Debug: Check Current Device Status”/ip/kid-control/device/print detailLook for flags: B (blocked), L (limited), P (paused), I (inactive).
Debug: View Dynamic Firewall Rules
Section titled “Debug: View Dynamic Firewall Rules”/ip/firewall/filter/print where dynamic=yesKid Control creates reject rules for blocked devices.
Debug: Monitor Real-Time
Section titled “Debug: Monitor Real-Time”/ip/kid-control/device/print stats interval=1Watch bandwidth usage in real-time.
Common Mistakes
- Not configuring NTP - Without accurate time, schedules won’t work correctly
- Router not being the default gateway - Kid Control only works for devices routing through the MikroTik
- Using GUI for complex time ranges - CLI handles midnight-spanning times better
- Forgetting random MAC addresses - Modern phones/tablets use random MACs; disable this feature or use static assignments
- Expecting instant blocks - There may be a short delay before rules take effect
How It Works
Section titled “How It Works”Kid Control creates two types of dynamic rules:
-
Firewall Filter Rules: Block traffic when outside allowed hours
- Creates reject rules in
/ip/firewall/filter - Matches source/destination by IP (resolved from MAC via ARP)
- Creates reject rules in
-
Simple Queue Rules: Limit bandwidth during allowed hours
- Creates queues in
/queue/simple - Applies the
rate-limitvalue from the profile
- Creates queues in
The rules are automatically managed - created when restrictions apply and removed when not needed.
Related Topics
Section titled “Related Topics”Prerequisites
Section titled “Prerequisites”- Clock/NTP - required for accurate time schedules
- DHCP Server - identify devices by DHCP lease
Related Features
Section titled “Related Features”- Firewall Basics - understanding filter rules
- Simple Queues - bandwidth management
- Firewall Address Lists - device grouping
Automation
Section titled “Automation”Reference
Section titled “Reference”Key Commands Reference
Section titled “Key Commands Reference”| Command | Description |
|---|---|
/ip/kid-control/add | Create a new kid profile |
/ip/kid-control/print | View all profiles |
/ip/kid-control/pause | Temporarily block a profile |
/ip/kid-control/resume | Resume normal schedule |
/ip/kid-control/device/add | Add device by MAC address |
/ip/kid-control/device/print | View all devices |
/ip/kid-control/device/print stats | View bandwidth statistics |
/ip/kid-control/device/reset-counters | Reset usage statistics |
Profile Properties
Section titled “Profile Properties”| Property | Type | Default | Description |
|---|---|---|---|
name | string | - | Profile identifier (required) |
mon - sun | time | - | Daily access windows (HH:MM-HH:MM) |
rate-limit | string | - | Bandwidth limit (e.g., 5M for 5 Mbps) |
tur-mon - tur-sun | time | - | Unlimited rate periods (override rate-limit) |
disabled | yes/no | no | Disable the profile |
Device Properties
Section titled “Device Properties”| Property | Type | Default | Description |
|---|---|---|---|
name | string | - | Device name (required) |
mac-address | MAC | - | Device MAC address (required) |
user | string | - | Associated kid profile |
disabled | yes/no | no | Disable device tracking |
Device Flags
Section titled “Device Flags”| Flag | Meaning |
|---|---|
| X | Disabled |
| D | Dynamic |
| B | Blocked (outside allowed hours) |
| L | Rate limited |
| I | Inactive (device not seen) |
| P | Paused (manually paused) |