Een terugkerend knelpunt bij gezamenlijke en coalitie-operaties is het geïsoleerde TAK-eiland: Eenheid Alpha heeft zijn eigen TAK Server die in het voorste gebied draait, Eenheid Bravo heeft een afzonderlijke server twee echelons hoger, en geen van beide kan de sporen van de ander op de kaart zien. TAK Server federatie is het protocol dat dit probleem oplost — het koppelt twee of meer onafhankelijke TAK Server-instanties zodat CoT-gebeurtenisstromen bidirectioneel over de grens stromen, waardoor elke operator een uniform gemeenschappelijk operationeel beeld (COP) heeft zonder de afzonderlijke servers samen te voegen tot één enkel uitvalpunt. Deze gids behandelt het volledige federatiepad: architectuurbeslissingen, CloudTAK REST API-configuratie, legacy TAK Server XML-configuratie, groeps- en CoT-typefilters, wederzijdse TLS-beveiliging en een systematische testprocedure om te verifiëren dat sporen correct worden doorgegeven.

Wat is TAK Server federatie en waarom is het belangrijk

Federatie is een server-naar-server-protocol dat draait via TCP-poort 9000 met wederzijds TLS. Wanneer twee TAK-servers zijn gefedereerd, stuurt elk geselecteerde CoT-gebeurtenissen door naar de ander — waardoor operators op beide servers een gedeeld gemeenschappelijk operationeel beeld krijgen zonder configuratiewijzigingen aan de clientzijde.

  • Multi-echelon-inzet — de voorwaartse compagnieserver en de achterwaartse bataljonserver delen situatiebewustzijn zonder samen te voegen.
  • Coalitie-operaties — afzonderlijke administratieve autoriteiten delen geselecteerde sporen over organisatiegrenzen heen.
  • Veerkracht — federatie herstelt automatisch wanneer de verbinding terugkeert na een serveruitval.
  • Bandbreedtebeheer — filters laten alleen operationeel relevante CoT-typen door op beperkte verbindingen.

Federatiearchitectuur: peer-to-peer vs. hub-and-spoke

Peer-to-peer maakt O(n²) verbindingen tussen alle servers. Hub-and-spoke verbindt alle servers met een centrale hub, waarbij elke spoke slechts één verbinding nodig heeft. Hub-and-spoke heeft de voorkeur voor drie of meer servers — eenvoudiger te configureren, gemakkelijker te troubleshooten, ten koste van één extra federatiestap.

CloudTAK federatieconfiguratie

curl -s -X POST https://tak.yourdomain.com:8443/api/federation \
  -H "Authorization: Bearer $ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "BN-TAK-Server",
    "address": "tak.battalion.mil",
    "port": 9000,
    "protocol": "tls",
    "ca_cert": "/ssl/remote-ca.pem",
    "bidirectional": true,
    "enabled": true
  }'

U kunt ook verbindingen declaratief definiëren in federation.json gemount in de container op /app/config/federation.json.

Legacy TAK Server federatieconfiguratie

Schakel de federatielistener in in CoreConfig.xml met v2Enabled="true" op poort 9000. Definieer uitgaande peerverbindingen in federation-server.xml. Importeer de externe CA in de federatie JKS-truststore met keytool -import en herstart de service.

Filteren: beheer van wat de federatiegrens overschrijdt

Sta standaard a-f- (vriendelijk), a-n- (neutraal) en t-x-m-c (chat) toe; blokkeer b- (sensorfeeds). Pas groepsfilters toe om te bepalen welke teamsporen de grens overschrijden.

Beveiliging: wederzijds TLS, certificaatpinning en intrekking

Beveiligingsbasis: Elke operationele federatieverbinding moet wederzijds TLS gebruiken. Implementeer federatie nooit met zelfondertekende certificaten tenzij het netwerkpad fysiek geïsoleerd is.

CloudTAK schakelt mTLS automatisch in wanneer een ca_cert is opgegeven. Legacy TAK Server vereist clientAuth="need". Pinne de externe CA-vingerafdruk: openssl x509 -in remote-ca.pem -noout -fingerprint -sha256.

Federatie testen

Injecteer een synthetische a-f-G-U-C CoT-gebeurtenis naar Server A en verifieer dat het callsign binnen 2–3 seconden verschijnt op een client verbonden met Server B. Bevestig niet-nul events_forwarded via GET /api/federation.

Veelvoorkomende problemen

„Connecting" oneindig: controleer poort 9000 met openssl s_client -connect remote-server:9000.

Verbonden maar geen sporen: een klokafwijking van meer dan 5 minuten zorgt ervoor dat CoT-gebeurtenissen als verouderd aankomen. Synchroniseer NTP op beide servers.

Protocolversie-mismatch: zorg dat legacy TAK Server 4.8+ met Federatie v2 ingeschakeld is.

NAT-verbrekingen: stel "keepalive_seconds": 60 in de CloudTAK federatie-peerdefinitie.