← Back to docs

Live-styrning av barn i brandväggen

Language: SV | EN | SV

Live-styrning av barn i brandväggen

Översikt

Tools har nu ett separat live-lager för brandväggsstyrning av barn/enheter.

Funktionen är avsiktligt separerad från den äldre generiska editorn för brandväggstabeller.

Använd den när du behöver:

  • skapa barn/personprofiler
  • koppla en eller flera IP-adresser till ett barn
  • koppla stabila schedule keys till barn och barns IP-rader
  • underhålla host-/domänblocklistor
  • uppdatera upplösta destinationsadresser
  • lägga till selektiva live-regler
  • köra full off / full on direkt när det behövs
  • lagra återkommande full off / full on-scheman i databasen

Admin-GUI

Live-editorn nås via:

  • /firewall
  • sedan Live child control

Direktlänk:

  • /firewall/live

Det rekommenderade flödet för selektiv blockering är nu barncentrerat:

  • öppna ett barn
  • välj vilka host block lists som ska spärras för barnet i en multi-select/listbox
  • välj om spärren ska gälla alla barnets IP-adresser eller bara utvalda barn-IP:n
  • spara det valet i stället för att manuellt toggla många enskilda regelrader

Samma sida /firewall/live innehåller nu också ett runtimeblock för routingöversikt för hostar som gateway. Där kan operatören se:

  • grupperade run-after-definitioner som publiceras av Tools
  • en direkt JSON-vy av runtimekonfigurationen
  • ett genererat shell-fragment som kan hämtas till lokal run-after.d/*.conf
  • synkade netplan- och äldre network-interface-filer när den delade serverinformation-sökvägen är mountad på den aktuella Tools-hosten

Datamodell

Live-lagret lagrar state i den dedikerade firewall-databasanslutningen och använder dessa tabeller:

  • child
  • child_ip_addresses
  • host_block_lists
  • host_block_list_addresses
  • live_child_rules
  • live_child_rule_ip_targets

Viktigt beteende

  • Databasen lagrar regelunderlag/state, inte färdiga iptables-regler.
  • fwmaker är fortfarande komponenten som genererar själva brandväggsoutputen.
  • Hostnamn i host block lists uppdateras nu till konkreta blockmål med en best-effort-uppslagning mot nätregister, så Tools kan lagra CIDR-liknande nätintervall i stället för bara en enda upplöst host-IP när RDAP-data visar den nätgränsen.
  • Bokstavliga IP-källor i host block lists går nu också igenom samma RDAP-/nätintervallsexpansion innan Tools faller tillbaka till en enskild IP-rad, så ett inklistrat IP-värde fortfarande kan bli ett bredare registrerat CIDR-nät när sådan data finns.
  • /firewall/live startar nu host-list-refresh asynkront och visar spårad progress/status via polling, så admin-GUI:t håller sig responsivt medan DNS- och CIDR-/range-kontroller körs.
  • Starka barnregler som full_block ersätter svagare/selektiva regler när de riktas mot alla barnets IP:n, medan starka regler mot utvalda IP:n nu bara tar över just dessa valda barnadresser.
  • Upplåsning kan nu också riktas mot bara utvalda barn-IP:n; i det scoped-läget tar Tools bara bort matchande starka/selektiva regeldata för just dessa IP-mål och lämnar övriga barn-IP-regler orörda.

Targeting-lägen

Både snabb blockering och selektiva block_host_list-regler kan nu riktas mot antingen:

  • all_child_ips
  • selected_child_ips

När selected_child_ips används skickas också child_ip_address_ids[] med för de barn-IP-poster som faktiskt ska påverkas.

Schedule keys och återkommande scheman

Live-lagret för brandväggen stöder nu också databasbackade återkommande scheman för full off / full on.

  • barn kan ha en stabil schedule_key som max eller emily
  • barns IP-rader kan ha stabila schedule_key-värden som max-main, max-laptop eller emily-mobile
  • återkommande schemarader använder sedan dessa nycklar i stället för hårdkodade numeriska id:n
  • schemaskrivningarna kan stängas av globalt utan att de sparade raderna behöver tas bort

Det gör att webbgränssnittet kan lagra ett cron-liknande schema i databasen samtidigt som operatören kan pausa schemaskrivningar tillfälligt.

API-endpoints

Barn

  • GET /api/firewall/children
  • POST /api/firewall/children
  • PUT /api/firewall/children/{child}
  • GET /api/firewall/children/{child}/ip-addresses
  • PUT /api/firewall/children/{child}/host-block-lists
  • POST /api/firewall/children/{child}/ip-addresses
  • PUT /api/firewall/children/{child}/ip-addresses/{ipAddress}
  • DELETE /api/firewall/children/{child}/ip-addresses/{ipAddress}
  • POST /api/firewall/children/{child}/ip-addresses/{ipAddress}/enable
  • POST /api/firewall/children/{child}/ip-addresses/{ipAddress}/disable
  • POST /api/firewall/children/{child}/block
  • POST /api/firewall/children/{child}/unblock

Payloads för barn och barns IP-rader kan nu också innehålla additiva schedule_key-fält så databasbackade återkommande scheman kan slå upp rätt logiska barn-/enhetsmål.

Host block lists

  • GET /api/firewall/host-block-lists
  • POST /api/firewall/host-block-lists
  • PUT /api/firewall/host-block-lists/{list}
  • POST /api/firewall/host-block-lists/{list}/hosts
  • POST /api/firewall/host-block-lists/{list}/refresh
  • GET /api/firewall/host-block-lists/{list}/addresses

Live-regler för barn

  • GET /api/firewall/live-child-rules
  • POST /api/firewall/live-child-rules
  • PUT /api/firewall/live-child-rules/{rule}
  • POST /api/firewall/live-child-rules/{rule}/enable
  • POST /api/firewall/live-child-rules/{rule}/disable
  • POST /api/firewall/live-child-rules/sync

Payloads för live-regler kan nu också bära additiva targeting-fält:

  • target_scope
  • child_ip_address_ids[]
  • svarsfältet target_child_ip_address_ids[]
  • svarsfältet target_ip_addresses[]
  • svarsfältet target_scope_summary

Payload för barncentrerad selektiv blockering

PUT /api/firewall/children/{child}/host-block-lists

{
  "host_block_list_ids": [1, 3, 8],
  "action": "drop",
  "target_scope": "selected_child_ips",
  "child_ip_address_ids": [12, 13]
}

GET /api/firewall/children kan nu också innehålla additiv metadata för det barncentrerade selektionsläget, så klienter kan rendera aktuell listbox direkt:

  • selected_host_block_list_ids[]
  • selected_host_block_list_target_scope
  • selected_host_block_list_child_ip_address_ids[]
  • has_mixed_selective_targets

Snabbblockerings-anrop (POST /api/firewall/children/{child}/block) och upplåsningsanrop (POST /api/firewall/children/{child}/unblock) kan nu använda samma target_scope + child_ip_address_ids[]-mönster när operatören vill ändra det starkaste live-läget bara för vissa av barnets aktuella IP-adresser.

Runtimekonfiguration för routes

  • GET /api/firewall/runtime/{host}
  • GET /api/firewall/runtime/{host}/run-after.conf

De här endpointsen är avsedda för intern server-/runtimehantering, inte för själva mobilflödet för barnstyrning.

JSON-endpointen returnerar grupperad metadata om route-konfigurationen för vald host, inklusive vilka route-grupper som finns och vilken lokal målfil det genererade shell-fragmentet ska skrivas till.

Shell-endpointen returnerar ett färdigt Bash-fragment som registrerar route-grupper för den lokala hjälparen run-after.sh.

Nuvarande auth-modell

Den första implementationen är avsedd för autentiserade Tools-operatörer med behörigheten firewall.

Runtime-endpointsen för routes kan också använda en särskild header-token (X-Firewall-Config-Token) när en server behöver uppdatera sitt lokala genererade run-after-fragment utan en interaktiv webbsession.

Om mobil/API-auth ändras senare måste Androids AGENTS-fil och denna dokumentation uppdateras i samma ändring.