From 8d0f54b2d232237944ffac73fc16b3bc0501a79a Mon Sep 17 00:00:00 2001 From: Kristoffer Dalby Date: Sun, 18 Oct 2026 04:28:13 +0000 Subject: [PATCH] servertest: add via HA failover golden data One route on a non-via router and a via pair through crashes and returns, the via group down, expiry, approval loss, withdraw, re-advertise and delete; route owner and peers per viewer per step. --- hscontrol/servertest/expiry_compat_test.go | 52 +- .../testdata/steps/via-ha-failover.hujson | 23264 ++++++++++++++++ hscontrol/servertest/via_ha_compat_test.go | 213 +- 3 files changed, 23478 insertions(+), 51 deletions(-) create mode 100644 hscontrol/servertest/testdata/steps/via-ha-failover.hujson diff --git a/hscontrol/servertest/expiry_compat_test.go b/hscontrol/servertest/expiry_compat_test.go index 98a9183e4..9c7758da6 100644 --- a/hscontrol/servertest/expiry_compat_test.go +++ b/hscontrol/servertest/expiry_compat_test.go @@ -271,7 +271,7 @@ func (e *expiryStep) selfChecks(x string) []stepCheck { checks := []stepCheck{ {x + "/self", renderSelfExpiry(saas, e.at), func() string { return renderSelfExpiry(cl.Netmap(), time.Now()) }}, - {x + "/peers", e.saasPeers(saas), func() string { return e.hsPeers(cl.Netmap()) }}, + {x + "/peers", peerAliases(saas, e.r.saasAlias), func() string { return peerAliases(cl.Netmap(), e.r.hsAlias) }}, } prev := e.prevCaps[x].Netmap @@ -437,54 +437,6 @@ func (e *expiryStep) apiChecks(t *testing.T, saasPrev, hsPrev map[string]deviceV return checks } -// saasPeers names the capture's nodes among SaaS's peers in nm. -func (e *expiryStep) saasPeers(nm *netmap.NetworkMap) string { - names := map[tailcfg.NodeID]string{} - for alias, id := range e.c.NodeIDs { - names[id] = alias - } - - var out []string - - for _, p := range nm.Peers { - if alias, ok := names[p.ID()]; ok { - out = append(out, alias) - } - } - - return sortedStrings(out) -} - -// hsPeers names the replay's nodes among headscale's peers in nm. -func (e *expiryStep) hsPeers(nm *netmap.NetworkMap) string { - if nm == nil { - return "no netmap" - } - - var out []string - - for _, p := range nm.Peers { - if alias, ok := e.hsAlias(p.ID()); ok { - out = append(out, alias) - } - } - - return sortedStrings(out) -} - -// hsAlias is the alias whose machine holds node id. -func (e *expiryStep) hsAlias(id tailcfg.NodeID) (string, bool) { - for alias := range e.r.clients { - for _, nv := range e.r.machineNodes(alias) { - if nv.ID().NodeID() == id { - return alias, true - } - } - } - - return "", false -} - // saasRemovedPeers lists the capture's nodes x had as peers before the step // and lost during it, or "none". func (e *expiryStep) saasRemovedPeers(prev *netmap.NetworkMap, frames []testcapture.Frame) string { @@ -507,7 +459,7 @@ func (e *expiryStep) hsRemovedPeers(x string) string { if before := e.start[x]; before != nil { for _, p := range before.Peers { - if alias, ok := e.hsAlias(p.ID()); ok && hsRemoved(history, p.ID()) == "removed" { + if alias, ok := e.r.hsAlias(p.ID()); ok && hsRemoved(history, p.ID()) == "removed" { out = append(out, alias) } } diff --git a/hscontrol/servertest/testdata/steps/via-ha-failover.hujson b/hscontrol/servertest/testdata/steps/via-ha-failover.hujson new file mode 100644 index 000000000..78e27e854 --- /dev/null +++ b/hscontrol/servertest/testdata/steps/via-ha-failover.hujson @@ -0,0 +1,23264 @@ +// via-ha-failover +// +// One route served by three tagged routers, two of them a via group: the via and the global election across crash and return, the whole via group down, key expiry (an expired older router re-advertising included), approval loss, withdraw, re-advertise and delete. +// +// Nodes with filter rules: 5 of 5 +// Steps: 16 +// Captured at: 2026-10-17T22:04:13Z +// tool version: saasprobe c8d74a5720de884208cfddd6521dfdab7aff0141 +// schema version: 1 +{ + "schema_version": 1, + "test_id": "via-ha-failover", + "description": "One route served by three tagged routers, two of them a via group: the via and the global election across crash and return, the whole via group down, key expiry (an expired older router re-advertising included), approval loss, withdraw, re-advertise and delete.", + "captured_at": "2026-10-17T22:04:13.569289846Z", + "tool_version": "saasprobe c8d74a5720de884208cfddd6521dfdab7aff0141", + "client_version": "1.102.5-ERR-BuildInfo capver 142", + "tailnet": "odin@example.com", + "input": {"api_response_code": 0, "tailnet": {"dns": { + "magic_dns": false, + "nameservers": null, + "search_paths": null, + "split_dns": null + }, "settings": {}}, "scenario_hujson": "", "full_policy": { + "tagOwners": { + "tag:ha-a": ["odin@example.com"], + "tag:ha-b": ["odin@example.com"], + "tag:group-a": ["odin@example.com"], + "tag:group-b": ["odin@example.com"] + }, + "autoApprovers": {"routes": {"10.44.0.0/16": ["tag:ha-a", "tag:ha-b"]}}, + "grants": [{ + "src": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"], + "dst": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"], + "ip": ["*"] + }, {"src": ["tag:group-b"], "dst": ["10.44.0.0/16"], "ip": ["*"]}, { + "src": ["tag:group-a"], + "dst": ["10.44.0.0/16"], + "ip": ["*"], + "via": ["tag:ha-a"] + }] + }}, + "topology": {"users": [ + {"id": 1, "name": "odin", "email": "odin@example.com"}, + {"id": 2, "name": "thor", "email": "thor@example.org"}, + {"id": 3, "name": "freya", "email": "freya@example.com"} + ], "nodes": {"client-a": { + "hostname": "client-a", + "tags": ["tag:group-a"], + "ipv4": "100.88.93.86", + "ipv6": "fd7a:115c:a1e0::a828:5d57", + "routable_ips": [], + "approved_routes": [] + }, "client-b": { + "hostname": "client-b", + "tags": ["tag:group-b"], + "ipv4": "100.96.144.4", + "ipv6": "fd7a:115c:a1e0::7428:9005", + "routable_ips": [], + "approved_routes": [] + }, "ha-a1": { + "hostname": "ha-a1", + "tags": ["tag:ha-a"], + "ipv4": "100.110.48.85", + "ipv6": "fd7a:115c:a1e0::8f28:3056", + "routable_ips": ["10.44.0.0/16"], + "approved_routes": ["10.44.0.0/16"] + }, "ha-a2": { + "hostname": "ha-a2", + "tags": ["tag:ha-a"], + "ipv4": "100.118.0.6", + "ipv6": "fd7a:115c:a1e0::f128:7", + "routable_ips": ["10.44.0.0/16"], + "approved_routes": ["10.44.0.0/16"] + }, "ha-b1": { + "hostname": "ha-b1", + "tags": ["tag:ha-b"], + "ipv4": "100.115.129.85", + "ipv6": "fd7a:115c:a1e0::fb28:8156", + "routable_ips": ["10.44.0.0/16"], + "approved_routes": ["10.44.0.0/16"] + }}}, + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Hostinfo": { + "Hostname": "client-a", + "RequestTags": ["tag:group-a"], + "Services": [{"Proto": "peerapi-dns-proxy", "Port": 1}] + }, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + }, + "node_ids": { + "client-a": 6080530511094368, + "client-b": 4188655617321142, + "ha-a1": 3713823041675817, + "ha-a2": 1319880815569424, + "ha-b1": 5247499609068055 + }, + "steps": [{ + "name": "S0", + "at": "2026-10-17T22:04:13.569344424Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "policy", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/acl", + "header": {"Content-Type": "application/hujson"}, + "body": { + "autoApprovers": {"routes": {"10.44.0.0/16": ["tag:ha-a", "tag:ha-b"]}}, + "grants": [{ + "dst": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"], + "ip": ["*"], + "src": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"] + }, {"dst": ["10.44.0.0/16"], "ip": ["*"], "src": ["tag:group-b"]}, { + "dst": ["10.44.0.0/16"], + "ip": ["*"], + "src": ["tag:group-a"], + "via": ["tag:ha-a"] + }], + "tagOwners": { + "tag:group-a": ["odin@example.com"], + "tag:group-b": ["odin@example.com"], + "tag:ha-a": ["odin@example.com"], + "tag:ha-b": ["odin@example.com"] + } + }, + "status": 200, + "resp_header": {"Content-Type": "application/hujson", "ETag": "{etag:1}"}, + "response": { + "autoApprovers": {"routes": {"10.44.0.0/16": ["tag:ha-a", "tag:ha-b"]}}, + "grants": [{ + "dst": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"], + "ip": ["*"], + "src": ["tag:ha-a", "tag:ha-b", "tag:group-a", "tag:group-b"] + }, {"dst": ["10.44.0.0/16"], "ip": ["*"], "src": ["tag:group-b"]}, { + "dst": ["10.44.0.0/16"], + "ip": ["*"], + "src": ["tag:group-a"], + "via": ["tag:ha-a"] + }], + "tagOwners": { + "tag:group-a": ["odin@example.com"], + "tag:group-b": ["odin@example.com"], + "tag:ha-a": ["odin@example.com"], + "tag:ha-b": ["odin@example.com"] + } + }, + "offset_ms": 17 + }, { + "kind": "api", + "key": "K-ha-b1", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/keys", + "header": {"Content-Type": "application/json"}, + "body": {"capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-b"] + }}}, "description": "tscap-saasprobe K-ha-b1", "expirySeconds": 3600}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-b"] + }}}, + "created": "2026-10-17T22:04:18Z", + "description": "tscap-saasprobe K-ha-b1", + "expires": "2026-10-17T23:04:18Z", + "expirySeconds": 3600, + "id": "{key:K-ha-b1}", + "keyType": "auth", + "userId": "{user:odin}" + }, + "offset_ms": 2004 + }, { + "kind": "api", + "key": "K-ha-a1", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/keys", + "header": {"Content-Type": "application/json"}, + "body": {"capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-a"] + }}}, "description": "tscap-saasprobe K-ha-a1", "expirySeconds": 3600}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-a"] + }}}, + "created": "2026-10-17T22:04:20Z", + "description": "tscap-saasprobe K-ha-a1", + "expires": "2026-10-17T23:04:20Z", + "expirySeconds": 3600, + "id": "{key:K-ha-a1}", + "keyType": "auth", + "userId": "{user:odin}" + }, + "offset_ms": 4024 + }, { + "kind": "api", + "key": "K-ha-a2", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/keys", + "header": {"Content-Type": "application/json"}, + "body": {"capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-a"] + }}}, "description": "tscap-saasprobe K-ha-a2", "expirySeconds": 3600}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:ha-a"] + }}}, + "created": "2026-10-17T22:04:22Z", + "description": "tscap-saasprobe K-ha-a2", + "expires": "2026-10-17T23:04:22Z", + "expirySeconds": 3600, + "id": "{key:K-ha-a2}", + "keyType": "auth", + "userId": "{user:odin}" + }, + "offset_ms": 6043 + }, { + "kind": "api", + "key": "K-client-b", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/keys", + "header": {"Content-Type": "application/json"}, + "body": {"capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:group-b"] + }}}, "description": "tscap-saasprobe K-client-b", "expirySeconds": 3600}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:group-b"] + }}}, + "created": "2026-10-17T22:04:24Z", + "description": "tscap-saasprobe K-client-b", + "expires": "2026-10-17T23:04:24Z", + "expirySeconds": 3600, + "id": "{key:K-client-b}", + "keyType": "auth", + "userId": "{user:odin}" + }, + "offset_ms": 8063 + }, { + "kind": "api", + "key": "K-client-a", + "principal": "admin", + "method": "POST", + "path": "/tailnet/-/keys", + "header": {"Content-Type": "application/json"}, + "body": {"capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:group-a"] + }}}, "description": "tscap-saasprobe K-client-a", "expirySeconds": 3600}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "capabilities": {"devices": {"create": { + "ephemeral": false, + "preauthorized": true, + "reusable": false, + "tags": ["tag:group-a"] + }}}, + "created": "2026-10-17T22:04:26Z", + "description": "tscap-saasprobe K-client-a", + "expires": "2026-10-17T23:04:26Z", + "expirySeconds": 3600, + "id": "{key:K-client-a}", + "keyType": "auth", + "userId": "{user:odin}" + }, + "offset_ms": 10082 + }, { + "kind": "join", + "node": "ha-b1", + "key": "K-ha-b1", + "request_tags": ["tag:ha-b"], + "routes": ["10.44.0.0/16"], + "hostname": "ha-b1", + "offset_ms": 12230 + }, { + "kind": "join", + "node": "ha-a1", + "key": "K-ha-a1", + "request_tags": ["tag:ha-a"], + "routes": ["10.44.0.0/16"], + "hostname": "ha-a1", + "offset_ms": 13202 + }, { + "kind": "join", + "node": "ha-a2", + "key": "K-ha-a2", + "request_tags": ["tag:ha-a"], + "routes": ["10.44.0.0/16"], + "hostname": "ha-a2", + "offset_ms": 14162 + }, { + "kind": "join", + "node": "client-b", + "key": "K-client-b", + "request_tags": ["tag:group-b"], + "hostname": "client-b", + "offset_ms": 15125 + }, { + "kind": "join", + "node": "client-a", + "key": "K-client-a", + "request_tags": ["tag:group-a"], + "hostname": "client-a", + "offset_ms": 16046 + }, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/tailnet/-/settings", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "aclsExternallyManagedOn": false, + "devicesApprovalOn": false, + "devicesAutoUpdatesOn": false, + "devicesKeyDurationDays": 180, + "httpsEnabled": false, + "networkFlowLoggingOn": false, + "postureIdentityCollectionOn": false, + "regionalRoutingOn": false, + "routeSelection": "active-passive-failover", + "usersApprovalOn": false, + "usersRoleAllowedToJoinExternalTailnets": "admin" + }, + "offset_ms": 16629 + }, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/tailnet/-/devices?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": {"devices": [{ + "addresses": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "advertisedRoutes": [], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:54145", + "192.0.2.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], "latency": { + "Amsterdam": {"latencyMs": 12.845146999999999, "preferred": true}, + "Ashburn": {"latencyMs": 92.943878}, + "Bengaluru": {"latencyMs": 211.12145800000002}, + "Chicago": {"latencyMs": 113.221403}, + "Dallas": {"latencyMs": 124.346077}, + "Denver": {"latencyMs": 134.253892}, + "Dubai": {"latencyMs": 114.80548999999999}, + "Frankfurt": {"latencyMs": 17.876967}, + "Helsinki": {"latencyMs": 35.603089}, + "Hong Kong": {"latencyMs": 194.667002}, + "Honolulu": {"latencyMs": 207.807364}, + "Johannesburg": {"latencyMs": 176.17405399999998}, + "London": {"latencyMs": 15.037167}, + "Los Angeles": {"latencyMs": 141.04989500000002}, + "Madrid": {"latencyMs": 36.000854}, + "Miami": {"latencyMs": 118.501494}, + "Nairobi": {"latencyMs": 161.080488}, + "New York City": {"latencyMs": 90.51004}, + "Nuremberg": {"latencyMs": 20.028165}, + "Paris": {"latencyMs": 19.749754000000003}, + "San Francisco": {"latencyMs": 160.61615}, + "Seattle": {"latencyMs": 145.240003}, + "Singapore": {"latencyMs": 177.986671}, + "Tokyo": {"latencyMs": 243.15785100000002}, + "Toronto": {"latencyMs": 121.523054}, + "Warsaw": {"latencyMs": 30.048085} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:30Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": [], + "expires": "2027-04-15T22:04:30Z", + "hostname": "client-a", + "id": "{device:client-a}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:04:29Z", + "machineKey": "{machine:client-a}", + "name": "client-a.tail78f774.ts.net", + "nodeId": "{device:client-a}", + "nodeKey": "{nodekey:5}", + "oauthClientId": "{key:K-client-a}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:group-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:933466408d159e37b7eb3ad6ed012fa9c9d508790a734db41ae193e85b0e2533", + "updateAvailable": true, + "user": "odin@example.com" + }, { + "addresses": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "advertisedRoutes": [], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:35016", + "192.0.2.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], "latency": { + "Amsterdam": {"latencyMs": 11.484123, "preferred": true}, + "Ashburn": {"latencyMs": 101.920841}, + "Bengaluru": {"latencyMs": 151.91048600000002}, + "Chicago": {"latencyMs": 112.779656}, + "Dallas": {"latencyMs": 124.802291}, + "Denver": {"latencyMs": 138.900995}, + "Dubai": {"latencyMs": 115.37065100000001}, + "Frankfurt": {"latencyMs": 17.052189}, + "Helsinki": {"latencyMs": 35.865973000000004}, + "Hong Kong": {"latencyMs": 195.794768}, + "Honolulu": {"latencyMs": 193.974822}, + "Johannesburg": {"latencyMs": 184.654395}, + "London": {"latencyMs": 14.879072}, + "Los Angeles": {"latencyMs": 142.41896200000002}, + "Madrid": {"latencyMs": 35.137687}, + "Miami": {"latencyMs": 117.153845}, + "Nairobi": {"latencyMs": 161.632767}, + "New York City": {"latencyMs": 90.326712}, + "Nuremberg": {"latencyMs": 24.475113}, + "Paris": {"latencyMs": 18.521994}, + "San Francisco": {"latencyMs": 157.03101}, + "Seattle": {"latencyMs": 146.126854}, + "Singapore": {"latencyMs": 171.297107}, + "Tokyo": {"latencyMs": 247.532146}, + "Toronto": {"latencyMs": 120.59506}, + "Warsaw": {"latencyMs": 26.980868} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:29Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": [], + "expires": "2027-04-15T22:04:29Z", + "hostname": "client-b", + "id": "{device:client-b}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:04:30Z", + "machineKey": "{machine:client-b}", + "name": "client-b.tail78f774.ts.net", + "nodeId": "{device:client-b}", + "nodeKey": "{nodekey:4}", + "oauthClientId": "{key:K-client-b}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:group-b"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:c0203ae2b3d9acac25bd21a0adc1e363e23203ee78c94f1df26a4cc962796ab8", + "updateAvailable": true, + "user": "odin@example.com" + }, { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:51443", + "192.0.2.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], "latency": { + "Amsterdam": {"latencyMs": 12.051243999999999, "preferred": true}, + "Ashburn": {"latencyMs": 95.935683}, + "Bengaluru": {"latencyMs": 215.35107200000002}, + "Chicago": {"latencyMs": 112.835397}, + "Dallas": {"latencyMs": 125.90024899999999}, + "Denver": {"latencyMs": 135.96533399999998}, + "Dubai": {"latencyMs": 115.573538}, + "Frankfurt": {"latencyMs": 15.499873000000001}, + "Helsinki": {"latencyMs": 35.087661}, + "Hong Kong": {"latencyMs": 194.701464}, + "Honolulu": {"latencyMs": 219.87774800000003}, + "Johannesburg": {"latencyMs": 205.518028}, + "London": {"latencyMs": 14.552964999999999}, + "Los Angeles": {"latencyMs": 142.269202}, + "Madrid": {"latencyMs": 34.037498}, + "Miami": {"latencyMs": 117.167934}, + "Nairobi": {"latencyMs": 161.131111}, + "New York City": {"latencyMs": 90.119705}, + "Nuremberg": {"latencyMs": 21.536921}, + "Paris": {"latencyMs": 17.053367}, + "San Francisco": {"latencyMs": 152.300918}, + "Seattle": {"latencyMs": 145.206155}, + "Singapore": {"latencyMs": 166.32713099999998}, + "Tokyo": {"latencyMs": 248.007601}, + "Toronto": {"latencyMs": 121.158168}, + "Warsaw": {"latencyMs": 27.362375} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:27Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:04:30Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, { + "addresses": ["100.118.0.6", "fd7a:115c:a1e0::f128:7"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:51592", + "192.0.2.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], "latency": { + "Amsterdam": {"latencyMs": 10.695391, "preferred": true}, + "Ashburn": {"latencyMs": 100.64073499999999}, + "Bengaluru": {"latencyMs": 155.287195}, + "Chicago": {"latencyMs": 114.763507}, + "Dallas": {"latencyMs": 125.788588}, + "Denver": {"latencyMs": 137.249842}, + "Dubai": {"latencyMs": 114.90645400000001}, + "Frankfurt": {"latencyMs": 16.298303}, + "Helsinki": {"latencyMs": 36.630093}, + "Hong Kong": {"latencyMs": 196.956674}, + "Honolulu": {"latencyMs": 218.188008}, + "Johannesburg": {"latencyMs": 174.62291199999999}, + "London": {"latencyMs": 14.88436}, + "Los Angeles": {"latencyMs": 143.286856}, + "Madrid": {"latencyMs": 32.837146999999995}, + "Miami": {"latencyMs": 124.116513}, + "Nairobi": {"latencyMs": 175.462649}, + "New York City": {"latencyMs": 90.755304}, + "Nuremberg": {"latencyMs": 22.32429}, + "Paris": {"latencyMs": 18.705076000000002}, + "San Francisco": {"latencyMs": 155.59093}, + "Seattle": {"latencyMs": 146.41624000000002}, + "Singapore": {"latencyMs": 177.532554}, + "Toronto": {"latencyMs": 119.862278}, + "Warsaw": {"latencyMs": 27.6715} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:28Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:28Z", + "hostname": "ha-a2", + "id": "{device:ha-a2}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:04:30Z", + "machineKey": "{machine:ha-a2}", + "name": "ha-a2.tail78f774.ts.net", + "nodeId": "{device:ha-a2}", + "nodeKey": "{nodekey:3}", + "oauthClientId": "{key:K-ha-a2}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:7c0c059a1e46da72babb630d76098573d4dbc12b47b8ec0053d2ffd5ae6c0fa6", + "updateAvailable": true, + "user": "odin@example.com" + }, { + "addresses": ["100.115.129.85", "fd7a:115c:a1e0::fb28:8156"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:42511", + "192.0.2.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], "latency": { + "Amsterdam": {"latencyMs": 12.827458, "preferred": true}, + "Ashburn": {"latencyMs": 95.88543700000001}, + "Bengaluru": {"latencyMs": 208.70255600000002}, + "Chicago": {"latencyMs": 111.752485}, + "Dallas": {"latencyMs": 124.16300399999999}, + "Denver": {"latencyMs": 138.353264}, + "Dubai": {"latencyMs": 114.96422100000001}, + "Frankfurt": {"latencyMs": 16.718592}, + "Helsinki": {"latencyMs": 35.279693}, + "Hong Kong": {"latencyMs": 196.107741}, + "Honolulu": {"latencyMs": 209.522458}, + "Johannesburg": {"latencyMs": 203.637775}, + "London": {"latencyMs": 15.536603}, + "Los Angeles": {"latencyMs": 143.336873}, + "Madrid": {"latencyMs": 34.741307}, + "Miami": {"latencyMs": 117.834728}, + "Nairobi": {"latencyMs": 160.22944999999999}, + "New York City": {"latencyMs": 92.155737}, + "Nuremberg": {"latencyMs": 21.901045}, + "Paris": {"latencyMs": 18.123057000000003}, + "San Francisco": {"latencyMs": 154.50946199999998}, + "Seattle": {"latencyMs": 145.64881599999998}, + "Singapore": {"latencyMs": 166.72655}, + "Tokyo": {"latencyMs": 246.18937799999998}, + "Toronto": {"latencyMs": 118.985664}, + "Warsaw": {"latencyMs": 27.709226} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:26Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:26Z", + "hostname": "ha-b1", + "id": "{device:ha-b1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:04:30Z", + "machineKey": "{machine:ha-b1}", + "name": "ha-b1.tail78f774.ts.net", + "nodeId": "{device:ha-b1}", + "nodeKey": "{nodekey:1}", + "oauthClientId": "{key:K-ha-b1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-b"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:88ae8958201bed220e321ac60e5fefa6eb35cd30253b552918207d8de3e5c314", + "updateAvailable": true, + "user": "odin@example.com" + }]}, + "offset_ms": 16646 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 16666}], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Hostinfo": { + "Hostname": "client-a", + "RequestTags": ["tag:group-a"], + "Services": [{"Proto": "peerapi-dns-proxy", "Port": 1}] + }, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + }, + "register": {"client-a": [{ + "node_key": "{nodekey:5}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 15430 + }], "client-b": [{ + "node_key": "{nodekey:4}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 14430 + }], "ha-a1": [{ + "node_key": "{nodekey:2}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 12430 + }], "ha-a2": [{ + "node_key": "{nodekey:3}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 13430 + }], "ha-b1": [{ + "node_key": "{nodekey:1}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 11430 + }]} + }, { + "name": "V1", + "at": "2026-10-17T22:05:40.400134657Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]", + "result": "observed", + "actions": [ + {"kind": "kill", "node": "ha-a1"}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 15094}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:51443", + "192.0.2.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], "latency": { + "Amsterdam": {"latencyMs": 12.051243999999999, "preferred": true}, + "Ashburn": {"latencyMs": 95.935683}, + "Bengaluru": {"latencyMs": 215.35107200000002}, + "Chicago": {"latencyMs": 112.835397}, + "Dallas": {"latencyMs": 125.90024899999999}, + "Denver": {"latencyMs": 135.96533399999998}, + "Dubai": {"latencyMs": 115.573538}, + "Frankfurt": {"latencyMs": 15.499873000000001}, + "Helsinki": {"latencyMs": 35.087661}, + "Hong Kong": {"latencyMs": 194.701464}, + "Honolulu": {"latencyMs": 219.87774800000003}, + "Johannesburg": {"latencyMs": 205.518028}, + "London": {"latencyMs": 14.552964999999999}, + "Los Angeles": {"latencyMs": 142.269202}, + "Madrid": {"latencyMs": 34.037498}, + "Miami": {"latencyMs": 117.167934}, + "Nairobi": {"latencyMs": 161.131111}, + "New York City": {"latencyMs": 90.119705}, + "Nuremberg": {"latencyMs": 21.536921}, + "Paris": {"latencyMs": 17.053367}, + "San Francisco": {"latencyMs": 152.300918}, + "Seattle": {"latencyMs": 145.206155}, + "Singapore": {"latencyMs": 166.32713099999998}, + "Tokyo": {"latencyMs": 248.007601}, + "Toronto": {"latencyMs": 121.158168}, + "Warsaw": {"latencyMs": 27.362375} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": false, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:27Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:05:56Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 85239 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:05:56.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:05:56.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:05:56.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:0e03c99abbb8fae507e05187b06b28202fb01e4c1a1e02cbf6b14f8a46b62338", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:51443", + "198.51.100.1:51443", + "198.51.100.2:51443", + "198.51.100.3:51443" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:05:56.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V2", + "at": "2026-10-17T22:07:05.661714327Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]", + "result": "observed", + "actions": [ + {"kind": "start", "node": "ha-a1"}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5165}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:36588", + "192.0.2.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], "latency": { + "Amsterdam": {"latencyMs": 12.406514, "preferred": true}, + "Ashburn": {"latencyMs": 96.128937}, + "Bengaluru": {"latencyMs": 148.83754900000002}, + "Chicago": {"latencyMs": 115.73444500000001}, + "Dallas": {"latencyMs": 126.432919}, + "Denver": {"latencyMs": 139.131828}, + "Dubai": {"latencyMs": 115.548618}, + "Frankfurt": {"latencyMs": 14.210436999999999}, + "Helsinki": {"latencyMs": 34.507349}, + "Hong Kong": {"latencyMs": 195.883533}, + "Honolulu": {"latencyMs": 198.64997300000002}, + "Johannesburg": {"latencyMs": 191.13118200000002}, + "London": {"latencyMs": 14.378369000000001}, + "Los Angeles": {"latencyMs": 141.95199}, + "Madrid": {"latencyMs": 32.650476}, + "Miami": {"latencyMs": 115.927292}, + "Nairobi": {"latencyMs": 175.663189}, + "New York City": {"latencyMs": 90.104041}, + "Nuremberg": {"latencyMs": 20.612851000000003}, + "Paris": {"latencyMs": 19.432399}, + "San Francisco": {"latencyMs": 158.014883}, + "Seattle": {"latencyMs": 149.060404}, + "Singapore": {"latencyMs": 174.56535100000002}, + "Tokyo": {"latencyMs": 237.82105}, + "Toronto": {"latencyMs": 120.52759}, + "Warsaw": {"latencyMs": 26.363336} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:27Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:08:21Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 75301 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + }, + "register": {"ha-a1": [{ + "node_key": "{nodekey:2}", + "node_key_expired": false, + "machine_authorized": true + }]} + }, { + "name": "V3", + "at": "2026-10-17T22:08:20.986338208Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]; routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]", + "result": "observed", + "actions": [ + {"kind": "kill", "node": "ha-a1"}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 15091}, + {"kind": "kill", "node": "ha-a2", "offset_ms": 75206}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 90308}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:36588", + "192.0.2.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], "latency": { + "Amsterdam": {"latencyMs": 12.406514, "preferred": true}, + "Ashburn": {"latencyMs": 96.128937}, + "Bengaluru": {"latencyMs": 148.83754900000002}, + "Chicago": {"latencyMs": 115.73444500000001}, + "Dallas": {"latencyMs": 126.432919}, + "Denver": {"latencyMs": 139.131828}, + "Dubai": {"latencyMs": 115.548618}, + "Frankfurt": {"latencyMs": 14.210436999999999}, + "Helsinki": {"latencyMs": 34.507349}, + "Hong Kong": {"latencyMs": 195.883533}, + "Honolulu": {"latencyMs": 198.64997300000002}, + "Johannesburg": {"latencyMs": 191.13118200000002}, + "London": {"latencyMs": 14.378369000000001}, + "Los Angeles": {"latencyMs": 141.95199}, + "Madrid": {"latencyMs": 32.650476}, + "Miami": {"latencyMs": 115.927292}, + "Nairobi": {"latencyMs": 175.663189}, + "New York City": {"latencyMs": 90.104041}, + "Nuremberg": {"latencyMs": 20.612851000000003}, + "Paris": {"latencyMs": 19.432399}, + "San Francisco": {"latencyMs": 158.014883}, + "Seattle": {"latencyMs": 149.060404}, + "Singapore": {"latencyMs": 174.56535100000002}, + "Tokyo": {"latencyMs": 237.82105}, + "Toronto": {"latencyMs": 120.52759}, + "Warsaw": {"latencyMs": 26.363336} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": false, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:27Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:08:36Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 158446 + }, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a2}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.118.0.6", "fd7a:115c:a1e0::f128:7"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:51592", + "192.0.2.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], "latency": { + "Amsterdam": {"latencyMs": 10.695391, "preferred": true}, + "Ashburn": {"latencyMs": 100.64073499999999}, + "Bengaluru": {"latencyMs": 155.287195}, + "Chicago": {"latencyMs": 114.763507}, + "Dallas": {"latencyMs": 125.788588}, + "Denver": {"latencyMs": 137.249842}, + "Dubai": {"latencyMs": 114.90645400000001}, + "Frankfurt": {"latencyMs": 16.298303}, + "Helsinki": {"latencyMs": 36.630093}, + "Hong Kong": {"latencyMs": 196.956674}, + "Honolulu": {"latencyMs": 218.188008}, + "Johannesburg": {"latencyMs": 174.62291199999999}, + "London": {"latencyMs": 14.88436}, + "Los Angeles": {"latencyMs": 143.286856}, + "Madrid": {"latencyMs": 32.837146999999995}, + "Miami": {"latencyMs": 124.116513}, + "Nairobi": {"latencyMs": 175.462649}, + "New York City": {"latencyMs": 90.755304}, + "Nuremberg": {"latencyMs": 22.32429}, + "Paris": {"latencyMs": 18.705076000000002}, + "San Francisco": {"latencyMs": 155.59093}, + "Seattle": {"latencyMs": 146.41624000000002}, + "Singapore": {"latencyMs": 177.532554}, + "Toronto": {"latencyMs": 119.862278}, + "Warsaw": {"latencyMs": 27.6715} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": false, + "created": "2026-10-17T22:04:28Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:28Z", + "hostname": "ha-a2", + "id": "{device:ha-a2}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:09:51Z", + "machineKey": "{machine:ha-a2}", + "name": "ha-a2.tail78f774.ts.net", + "nodeId": "{device:ha-a2}", + "nodeKey": "{nodekey:3}", + "oauthClientId": "{key:K-ha-a2}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:7c0c059a1e46da72babb630d76098573d4dbc12b47b8ec0053d2ffd5ae6c0fa6", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 158466 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:521b2654e278a46704294af2ef2250cf612b79b9abc620c23b5d51bcd0f0d31d", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:36588", + "198.51.100.1:36588", + "198.51.100.2:36588", + "198.51.100.3:36588" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": false, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:f9ef495fe43888189c53afba219d219db673ad5186e43cd06facb61e1d332f6d", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:51592", + "198.51.100.1:51592", + "198.51.100.2:51592", + "198.51.100.3:51592" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V4", + "at": "2026-10-17T22:10:59.471261603Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]; routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]", + "result": "observed", + "actions": [ + {"kind": "start", "node": "ha-a1"}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5170}, + {"kind": "start", "node": "ha-a2", "offset_ms": 65272}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 70460}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:27Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:13:20Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 140599 + }, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a2}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.118.0.6", "fd7a:115c:a1e0::f128:7"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:58031", + "192.0.2.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], "latency": { + "Amsterdam": {"latencyMs": 11.723028999999999, "preferred": true}, + "Ashburn": {"latencyMs": 95.018854}, + "Bengaluru": {"latencyMs": 153.288064}, + "Chicago": {"latencyMs": 113.429502}, + "Dallas": {"latencyMs": 125.10194}, + "Denver": {"latencyMs": 137.37030000000001}, + "Dubai": {"latencyMs": 115.91700300000001}, + "Frankfurt": {"latencyMs": 17.373378}, + "Helsinki": {"latencyMs": 35.89468299999999}, + "Hong Kong": {"latencyMs": 195.976712}, + "Honolulu": {"latencyMs": 208.21116}, + "Johannesburg": {"latencyMs": 174.769355}, + "London": {"latencyMs": 16.214855}, + "Los Angeles": {"latencyMs": 144.40417399999998}, + "Madrid": {"latencyMs": 33.873155000000004}, + "Miami": {"latencyMs": 118.205505}, + "Nairobi": {"latencyMs": 162.409474}, + "New York City": {"latencyMs": 87.46614199999999}, + "Nuremberg": {"latencyMs": 23.531905}, + "Paris": {"latencyMs": 17.793132999999997}, + "San Francisco": {"latencyMs": 158.421955}, + "Seattle": {"latencyMs": 149.105611}, + "Singapore": {"latencyMs": 165.479803}, + "Tokyo": {"latencyMs": 241.89479699999998}, + "Toronto": {"latencyMs": 120.320254}, + "Warsaw": {"latencyMs": 27.769018} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:28Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:28Z", + "hostname": "ha-a2", + "id": "{device:ha-a2}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:13:20Z", + "machineKey": "{machine:ha-a2}", + "name": "ha-a2.tail78f774.ts.net", + "nodeId": "{device:ha-a2}", + "nodeKey": "{nodekey:3}", + "oauthClientId": "{key:K-ha-a2}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:7c0c059a1e46da72babb630d76098573d4dbc12b47b8ec0053d2ffd5ae6c0fa6", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 140619 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "LastSeen": "2026-10-17T22:08:36.1Z", + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + }, + "register": {"ha-a1": [{ + "node_key": "{nodekey:2}", + "node_key_expired": false, + "machine_authorized": true + }], "ha-a2": [{ + "node_key": "{nodekey:3}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 64528 + }]} + }, { + "name": "V5", + "at": "2026-10-17T22:13:20.119279884Z", + "note": "target ha-a1, client-a's via router; routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/expire", + "header": {"Content-Type": "application/json"}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": null + }, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:19Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:13:20Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 19 + }, { + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/key", + "header": {"Content-Type": "application/json"}, + "body": {"keyExpiryDisabled": false}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": null, + "offset_ms": 36 + }, { + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/expire", + "header": {"Content-Type": "application/json"}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": null, + "offset_ms": 2039 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 4095}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": false, + "lastSeen": "2026-10-17T22:14:34Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 74226 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "NeedsLogin"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V5b", + "at": "2026-10-17T22:14:34.368220727Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]; routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "advertise", + "node": "ha-a1", + "args": ["set", "--advertise-routes="], + "exit": 0, + "offset_ms": 20 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5102}, { + "kind": "advertise", + "node": "ha-a1", + "routes": ["10.44.0.0/16"], + "args": ["set", "--advertise-routes=10.44.0.0/16"], + "exit": 0, + "offset_ms": 65221 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 65281}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": false, + "lastSeen": "2026-10-17T22:16:50Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 135415 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "NeedsLogin"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "KeyExpiry": "2026-10-17T22:13:23Z", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1", + "Expired": true + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V6", + "at": "2026-10-17T22:16:49.806523989Z", + "note": "restores [ha-a1]; routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/key", + "header": {"Content-Type": "application/json"}, + "body": {"keyExpiryDisabled": true}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": null + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 38}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:18:00Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 70171 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V7", + "at": "2026-10-17T22:18:00.000580962Z", + "note": "target ha-a1, client-a's via router; routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/routes", + "header": {"Content-Type": "application/json"}, + "body": {"routes": []}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": {"advertisedRoutes": ["10.44.0.0/16"], "enabledRoutes": []}, + "offset_ms": 1 + }, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}/routes", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": {"advertisedRoutes": ["10.44.0.0/16"], "enabledRoutes": []}, + "offset_ms": 19 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 37}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": [], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:19:10Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 70169 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V7b", + "at": "2026-10-17T22:19:10.189719512Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-b1]", + "result": "observed", + "actions": [{ + "kind": "api", + "principal": "admin", + "method": "POST", + "path": "/device/{device:ha-a1}/routes", + "header": {"Content-Type": "application/json"}, + "body": {"routes": ["10.44.0.0/16"]}, + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": {"advertisedRoutes": ["10.44.0.0/16"], "enabledRoutes": ["10.44.0.0/16"]} + }, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}/routes", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": {"advertisedRoutes": ["10.44.0.0/16"], "enabledRoutes": ["10.44.0.0/16"]}, + "offset_ms": 18 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 35}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:20:20Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 70165 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": { + "Hostname": "ha-b1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-b"], + "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V8", + "at": "2026-10-17T22:20:20.374521575Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-a1]", + "result": "observed", + "actions": [{ + "kind": "advertise", + "node": "ha-b1", + "args": ["set", "--advertise-routes="], + "exit": 0 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5079}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-b1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.115.129.85", "fd7a:115c:a1e0::fb28:8156"], + "advertisedRoutes": [], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:42511", + "192.0.2.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], "latency": { + "Amsterdam": {"latencyMs": 12.827458, "preferred": true}, + "Ashburn": {"latencyMs": 95.88543700000001}, + "Bengaluru": {"latencyMs": 208.70255600000002}, + "Chicago": {"latencyMs": 111.752485}, + "Dallas": {"latencyMs": 124.16300399999999}, + "Denver": {"latencyMs": 138.353264}, + "Dubai": {"latencyMs": 114.96422100000001}, + "Frankfurt": {"latencyMs": 16.718592}, + "Helsinki": {"latencyMs": 35.279693}, + "Hong Kong": {"latencyMs": 196.107741}, + "Honolulu": {"latencyMs": 209.522458}, + "Johannesburg": {"latencyMs": 203.637775}, + "London": {"latencyMs": 15.536603}, + "Los Angeles": {"latencyMs": 143.336873}, + "Madrid": {"latencyMs": 34.741307}, + "Miami": {"latencyMs": 117.834728}, + "Nairobi": {"latencyMs": 160.22944999999999}, + "New York City": {"latencyMs": 92.155737}, + "Nuremberg": {"latencyMs": 21.901045}, + "Paris": {"latencyMs": 18.123057000000003}, + "San Francisco": {"latencyMs": 154.50946199999998}, + "Seattle": {"latencyMs": 145.64881599999998}, + "Singapore": {"latencyMs": 166.72655}, + "Tokyo": {"latencyMs": 246.18937799999998}, + "Toronto": {"latencyMs": 118.985664}, + "Warsaw": {"latencyMs": 27.709226} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:26Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": [], + "expires": "2027-04-15T22:04:26Z", + "hostname": "ha-b1", + "id": "{device:ha-b1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:21:36Z", + "machineKey": "{machine:ha-b1}", + "name": "ha-b1.tail78f774.ts.net", + "nodeId": "{device:ha-b1}", + "nodeKey": "{nodekey:1}", + "oauthClientId": "{key:K-ha-b1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-b"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:88ae8958201bed220e321ac60e5fefa6eb35cd30253b552918207d8de3e5c314", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 75217 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V9", + "at": "2026-10-17T22:21:35.612800834Z", + "note": "target ha-a1, client-b's primary; routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-a2]", + "result": "observed", + "actions": [ + {"kind": "kill", "node": "ha-a1", "offset_ms": 1}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 15099}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:49558", + "192.0.2.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], "latency": { + "Amsterdam": {"latencyMs": 13.337933999999999, "preferred": true}, + "Ashburn": {"latencyMs": 100.13596600000001}, + "Bengaluru": {"latencyMs": 151.816062}, + "Chicago": {"latencyMs": 114.034549}, + "Dallas": {"latencyMs": 126.301725}, + "Denver": {"latencyMs": 138.71903}, + "Dubai": {"latencyMs": 116.363907}, + "Frankfurt": {"latencyMs": 18.590051}, + "Helsinki": {"latencyMs": 39.278045}, + "Hong Kong": {"latencyMs": 195.79301900000002}, + "Honolulu": {"latencyMs": 206.775809}, + "Johannesburg": {"latencyMs": 185.61124}, + "London": {"latencyMs": 17.425952000000002}, + "Los Angeles": {"latencyMs": 144.83698}, + "Madrid": {"latencyMs": 39.190535999999994}, + "Miami": {"latencyMs": 118.84444099999999}, + "Nairobi": {"latencyMs": 164.385662}, + "New York City": {"latencyMs": 92.025651}, + "Nuremberg": {"latencyMs": 23.53489}, + "Paris": {"latencyMs": 20.585346}, + "San Francisco": {"latencyMs": 157.816472}, + "Seattle": {"latencyMs": 149.411407}, + "Tokyo": {"latencyMs": 245.559912}, + "Toronto": {"latencyMs": 120.51756499999999}, + "Warsaw": {"latencyMs": 39.195118} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": false, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:21:50Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 85221 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:35abc2e1420b7113d69915330c5059096c88be941beda648b3e8eeb0a8f1f110", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:49558", + "198.51.100.1:49558", + "198.51.100.2:49558", + "198.51.100.3:49558" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 44208}, + {"Proto": "peerapi6", "Port": 44208} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V10", + "at": "2026-10-17T22:23:00.871699525Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-a2]", + "result": "observed", + "actions": [ + {"kind": "start", "node": "ha-a1"}, + {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5165}, + { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a1}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.110.48.85", "fd7a:115c:a1e0::8f28:3056"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:53439", + "192.0.2.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], "latency": { + "Amsterdam": {"latencyMs": 11.096577, "preferred": true}, + "Ashburn": {"latencyMs": 97.44684600000001}, + "Bengaluru": {"latencyMs": 138.047379}, + "Chicago": {"latencyMs": 113.156125}, + "Dallas": {"latencyMs": 125.61664999999999}, + "Denver": {"latencyMs": 139.25065}, + "Dubai": {"latencyMs": 116.542628}, + "Frankfurt": {"latencyMs": 16.124682}, + "Helsinki": {"latencyMs": 35.912672}, + "Hong Kong": {"latencyMs": 195.09157}, + "Honolulu": {"latencyMs": 195.468142}, + "Johannesburg": {"latencyMs": 171.76655}, + "London": {"latencyMs": 15.872832}, + "Los Angeles": {"latencyMs": 142.854827}, + "Madrid": {"latencyMs": 34.290667}, + "Miami": {"latencyMs": 118.156324}, + "Nairobi": {"latencyMs": 172.628652}, + "New York City": {"latencyMs": 90.604709}, + "Nuremberg": {"latencyMs": 23.385459}, + "Paris": {"latencyMs": 18.470111}, + "San Francisco": {"latencyMs": 157.35385499999998}, + "Seattle": {"latencyMs": 145.133815}, + "Singapore": {"latencyMs": 197.00349}, + "Tokyo": {"latencyMs": 240.891455}, + "Toronto": {"latencyMs": 120.78209700000001}, + "Warsaw": {"latencyMs": 28.54504} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:27Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2026-10-17T22:13:23Z", + "hostname": "ha-a1", + "id": "{device:ha-a1}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:24:16Z", + "machineKey": "{machine:ha-a1}", + "name": "ha-a1.tail78f774.ts.net", + "nodeId": "{device:ha-a1}", + "nodeKey": "{nodekey:2}", + "oauthClientId": "{key:K-ha-a1}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:3d55480fcccc287a057da3aa5cb1b145c890fb3bc884f04fc54d73c4ef75b5e2", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 75302 + } + ], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + }, + "register": {"ha-a1": [{ + "node_key": "{nodekey:2}", + "node_key_expired": false, + "machine_authorized": true, + "offset_ms": 128 + }]} + }, { + "name": "V11", + "at": "2026-10-17T22:24:16.20202605Z", + "note": "target ha-a2, client-b's primary; routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-a1]", + "result": "observed", + "actions": [{ + "kind": "advertise", + "node": "ha-a2", + "args": ["set", "--advertise-routes="], + "exit": 0, + "offset_ms": 1 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5082}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a2}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.118.0.6", "fd7a:115c:a1e0::f128:7"], + "advertisedRoutes": [], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:58031", + "192.0.2.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], "latency": { + "Amsterdam": {"latencyMs": 11.723028999999999, "preferred": true}, + "Ashburn": {"latencyMs": 95.018854}, + "Bengaluru": {"latencyMs": 153.288064}, + "Chicago": {"latencyMs": 113.429502}, + "Dallas": {"latencyMs": 125.10194}, + "Denver": {"latencyMs": 137.37030000000001}, + "Dubai": {"latencyMs": 115.91700300000001}, + "Frankfurt": {"latencyMs": 17.373378}, + "Helsinki": {"latencyMs": 35.89468299999999}, + "Hong Kong": {"latencyMs": 195.976712}, + "Honolulu": {"latencyMs": 208.21116}, + "Johannesburg": {"latencyMs": 174.769355}, + "London": {"latencyMs": 16.214855}, + "Los Angeles": {"latencyMs": 144.40417399999998}, + "Madrid": {"latencyMs": 33.873155000000004}, + "Miami": {"latencyMs": 118.205505}, + "Nairobi": {"latencyMs": 162.409474}, + "New York City": {"latencyMs": 87.46614199999999}, + "Nuremberg": {"latencyMs": 23.531905}, + "Paris": {"latencyMs": 17.793132999999997}, + "San Francisco": {"latencyMs": 158.421955}, + "Seattle": {"latencyMs": 149.105611}, + "Singapore": {"latencyMs": 165.479803}, + "Tokyo": {"latencyMs": 241.89479699999998}, + "Toronto": {"latencyMs": 120.320254}, + "Warsaw": {"latencyMs": 27.769018} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:28Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": [], + "expires": "2027-04-15T22:04:28Z", + "hostname": "ha-a2", + "id": "{device:ha-a2}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:25:31Z", + "machineKey": "{machine:ha-a2}", + "name": "ha-a2.tail78f774.ts.net", + "nodeId": "{device:ha-a2}", + "nodeKey": "{nodekey:3}", + "oauthClientId": "{key:K-ha-a2}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:7c0c059a1e46da72babb630d76098573d4dbc12b47b8ec0053d2ffd5ae6c0fa6", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 75222 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": {"Hostname": "ha-a2", "RequestTags": ["tag:ha-a"], "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V12", + "at": "2026-10-17T22:25:31.444743389Z", + "note": "routes last moved 0s into the settle; client-a via [ha-a2], client-b primary [ha-a2]", + "result": "observed", + "actions": [{ + "kind": "advertise", + "node": "ha-a2", + "routes": ["10.44.0.0/16"], + "args": ["set", "--advertise-routes=10.44.0.0/16"], + "exit": 0 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 5075}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a2}?fields=all", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": { + "addresses": ["100.118.0.6", "fd7a:115c:a1e0::f128:7"], + "advertisedRoutes": ["10.44.0.0/16"], + "authorized": true, + "blocksIncomingConnections": false, + "clientConnectivity": {"clientSupports": { + "hairPinning": null, + "ipv6": false, + "pcp": false, + "pmp": false, + "udp": true, + "upnp": false + }, "endpoints": [ + "198.51.100.1:58031", + "192.0.2.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], "latency": { + "Amsterdam": {"latencyMs": 11.723028999999999, "preferred": true}, + "Ashburn": {"latencyMs": 95.018854}, + "Bengaluru": {"latencyMs": 153.288064}, + "Chicago": {"latencyMs": 113.429502}, + "Dallas": {"latencyMs": 125.10194}, + "Denver": {"latencyMs": 137.37030000000001}, + "Dubai": {"latencyMs": 115.91700300000001}, + "Frankfurt": {"latencyMs": 17.373378}, + "Helsinki": {"latencyMs": 35.89468299999999}, + "Hong Kong": {"latencyMs": 195.976712}, + "Honolulu": {"latencyMs": 208.21116}, + "Johannesburg": {"latencyMs": 174.769355}, + "London": {"latencyMs": 16.214855}, + "Los Angeles": {"latencyMs": 144.40417399999998}, + "Madrid": {"latencyMs": 33.873155000000004}, + "Miami": {"latencyMs": 118.205505}, + "Nairobi": {"latencyMs": 162.409474}, + "New York City": {"latencyMs": 87.46614199999999}, + "Nuremberg": {"latencyMs": 23.531905}, + "Paris": {"latencyMs": 17.793132999999997}, + "San Francisco": {"latencyMs": 158.421955}, + "Seattle": {"latencyMs": 149.105611}, + "Singapore": {"latencyMs": 165.479803}, + "Tokyo": {"latencyMs": 241.89479699999998}, + "Toronto": {"latencyMs": 120.320254}, + "Warsaw": {"latencyMs": 27.769018} + }, "mappingVariesByDestIP": false}, + "clientVersion": "1.102.5-ERR-BuildInfo", + "connectedToControl": true, + "created": "2026-10-17T22:04:28Z", + "distro": {"codeName": "yarara", "name": "nixos", "version": "26.05"}, + "enabledRoutes": ["10.44.0.0/16"], + "expires": "2027-04-15T22:04:28Z", + "hostname": "ha-a2", + "id": "{device:ha-a2}", + "isExternal": false, + "keyExpiryDisabled": true, + "lastSeen": "2026-10-17T22:26:47Z", + "machineKey": "{machine:ha-a2}", + "name": "ha-a2.tail78f774.ts.net", + "nodeId": "{device:ha-a2}", + "nodeKey": "{nodekey:3}", + "oauthClientId": "{key:K-ha-a2}", + "os": "linux", + "postureStatus": {}, + "sshEnabled": false, + "tags": ["tag:ha-a"], + "tailnetLockError": "", + "tailnetLockKey": "nlpub:7c0c059a1e46da72babb630d76098573d4dbc12b47b8ec0053d2ffd5ae6c0fa6", + "updateAvailable": true, + "user": "odin@example.com" + }, + "offset_ms": 75212 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-a2": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1319880815569424, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "Hostinfo": { + "Hostname": "ha-a2", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:27.896491502Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "MachineKey": "mkey:5b5cbb29a641991b0a91482d113ebb5c50152d5f8dd47a015947ad715de06a3e", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{"IPProto": [6, 17, 1, 58], "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], "SrcCaps": null, "Dsts": [ + {"Net": "100.118.0.6/32", "Ports": {"First": 0, "Last": 65535}}, + {"Net": "fd7a:115c:a1e0::f128:7/128", "Ports": {"First": 0, "Last": 65535}} + ], "Caps": []}, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.118.0.6", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::f128:7", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "1319880815569424": { + "ID": 1319880815569424, + "LoginName": "ha-a2.tail78f774.ts.net", + "DisplayName": "ha-a2" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 1319880815569424, + "StableID": "njiExn2nJB11CNTRL", + "Name": "ha-a2.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:22b7438143b60541d4cd18b9698e84ee2adcf7d58929bb5d346d03fff1f60006", + "DiscoKey": "discokey:230b162a7e71ec6cc74768c38c02e118195cd022ce2fc10ed65c5aa115e5de2b", + "Addresses": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "AllowedIPs": ["100.118.0.6/32", "fd7a:115c:a1e0::f128:7/128"], + "Endpoints": [ + "192.0.2.1:58031", + "198.51.100.1:58031", + "198.51.100.2:58031", + "198.51.100.3:58031" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a2", "Services": [ + {"Proto": "peerapi4", "Port": 59589}, + {"Proto": "peerapi6", "Port": 59589} + ]}, + "Created": "2026-10-17T22:04:27.896491502Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a2", + "ComputedNameWithHost": "ha-a2" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.118.0.6/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::f128:7/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.118.0.6", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::f128:7", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }, { + "name": "V13", + "at": "2026-10-17T22:26:46.680870672Z", + "note": "target ha-a2, client-b's primary; routes last moved 0s into the settle; client-a via [ha-a1], client-b primary [ha-a1]", + "result": "observed", + "actions": [{ + "kind": "api", + "principal": "admin", + "method": "DELETE", + "path": "/device/{device:ha-a2}", + "status": 200, + "resp_header": {"Content-Type": "application/json"}, + "response": null, + "offset_ms": 1 + }, {"kind": "wait", "args": ["quiet", "1m0s"], "offset_ms": 2030}, { + "kind": "api", + "principal": "admin", + "method": "GET", + "path": "/device/{device:ha-a2}?fields=all", + "status": 404, + "resp_header": {"Content-Type": "application/json"}, + "response": {"message": "no manageable device matching this ID found"}, + "offset_ms": 70162 + }], + "captures": { + "client-a": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 6080530511094368, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "Hostinfo": {"Hostname": "client-a", "RequestTags": ["tag:group-a"], "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Tags": ["tag:group-a"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "MachineKey": "mkey:b77250c8456b93b7512709ec9c4adc4b7ea649fb655edbc7b29b830a1a7b6f03", + "Peers": [{ + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.88.93.86/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::a828:5d57/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.88.93.86", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::a828:5d57", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "6080530511094368": { + "ID": 6080530511094368, + "LoginName": "client-a.tail78f774.ts.net", + "DisplayName": "client-a" + }} + }, "backend_state": "Running"}, + "client-b": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 4188655617321142, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "Hostinfo": {"Hostname": "client-b", "RequestTags": ["tag:group-b"], "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Tags": ["tag:group-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "MachineKey": "mkey:81382294fd1fd6846b42af268856913ce0ffddff5105d341699af68d06274d76", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.96.144.4/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::7428:9005/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.96.144.4", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::7428:9005", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "4188655617321142": { + "ID": 4188655617321142, + "LoginName": "client-b.tail78f774.ts.net", + "DisplayName": "client-b" + }} + }, "backend_state": "Running"}, + "ha-a1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 3713823041675817, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128", "10.44.0.0/16"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "Hostinfo": { + "Hostname": "ha-a1", + "RoutableIPs": ["10.44.0.0/16"], + "RequestTags": ["tag:ha-a"], + "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ] + }, + "Created": "2026-10-17T22:04:26.930013881Z", + "Tags": ["tag:ha-a"], + "PrimaryRoutes": ["10.44.0.0/16"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "MachineKey": "mkey:c74c97a72b065cf7e149a4afdbc125791fdf36c32d3387d7515abb3918f4e964", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-b1", "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Cap": 142, + "Tags": ["tag:ha-b"], + "Online": true, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.110.48.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::8f28:3056/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }, { + "IPProto": [6, 17, 1, 58], + "Srcs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "SrcCaps": null, + "Dsts": [{"Net": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.110.48.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::8f28:3056", "Ports": {"First": 0, "Last": 65535}} + ]}, { + "SrcIPs": ["100.96.144.4", "fd7a:115c:a1e0::7428:9005"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }, { + "SrcIPs": ["100.88.93.86", "fd7a:115c:a1e0::a828:5d57"], + "DstPorts": [{"IP": "10.44.0.0/16", "Ports": {"First": 0, "Last": 65535}}] + }], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "3713823041675817": { + "ID": 3713823041675817, + "LoginName": "ha-a1.tail78f774.ts.net", + "DisplayName": "ha-a1" + }} + }, "backend_state": "Running"}, + "ha-b1": {"packet_filter_rules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], "packet_filter_matches": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], "netmap": { + "Cached": false, + "SelfNode": { + "ID": 5247499609068055, + "StableID": "nYydEAvbyh11CNTRL", + "Name": "ha-b1.tail78f774.ts.net.", + "User": 5247499609068055, + "Key": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "DiscoKey": "discokey:021f6177fe8286670f2f99b3ed6074ae0371071d373c8c621c4d5182645a2678", + "Addresses": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "AllowedIPs": ["100.115.129.85/32", "fd7a:115c:a1e0::fb28:8156/128"], + "Endpoints": [ + "192.0.2.1:42511", + "198.51.100.1:42511", + "198.51.100.2:42511", + "198.51.100.3:42511" + ], + "Hostinfo": {"Hostname": "ha-b1", "RequestTags": ["tag:ha-b"], "Services": [ + {"Proto": "peerapi4", "Port": 33642}, + {"Proto": "peerapi6", "Port": 33642}, + {"Proto": "peerapi-dns-proxy", "Port": 1} + ]}, + "Created": "2026-10-17T22:04:25.995582625Z", + "Tags": ["tag:ha-b"], + "MachineAuthorized": true, + "CapMap": { + "default-auto-update": [false], + "https://tailscale.com/cap/file-sharing": null, + "https://tailscale.com/cap/is-owner": null, + "https://tailscale.com/cap/ssh": null, + "https://tailscale.com/cap/tailnet-lock": null, + "probe-udp-lifetime": null, + "ssh-behavior-v1": null, + "ssh-env-vars": null, + "store-appc-routes": null, + "tailnet-display-name": ["odin@example.com"] + }, + "ComputedName": "ha-b1", + "ComputedNameWithHost": "ha-b1" + }, + "AllCaps": [ + "default-auto-update", + "https://tailscale.com/cap/file-sharing", + "https://tailscale.com/cap/is-owner", + "https://tailscale.com/cap/ssh", + "https://tailscale.com/cap/tailnet-lock", + "probe-udp-lifetime", + "ssh-behavior-v1", + "ssh-env-vars", + "store-appc-routes", + "tailnet-display-name" + ], + "NodeKey": "nodekey:f8e77bb9a7092de1b423161f99be75bbc294055b34fd7becb561582bfbf38155", + "MachineKey": "mkey:ddbc4e6aaf2cededefd88793a7c47c07a125866850513eb892aa4a6379149753", + "Peers": [{ + "ID": 6080530511094368, + "StableID": "nub5U6EtUp11CNTRL", + "Name": "client-a.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:20cd4a1ab10f0f99db4f1f10cb35fc9e116d0aa73759fd1ebbc0e161a8d85d56", + "DiscoKey": "discokey:a8e1955e840fa7d772394ea96e629b233286773d55a9352c8c25d072cad2484d", + "Addresses": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "AllowedIPs": ["100.88.93.86/32", "fd7a:115c:a1e0::a828:5d57/128"], + "Endpoints": [ + "192.0.2.1:54145", + "198.51.100.1:54145", + "198.51.100.2:54145", + "198.51.100.3:54145" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-a", "Services": [ + {"Proto": "peerapi4", "Port": 61890}, + {"Proto": "peerapi6", "Port": 61890} + ]}, + "Created": "2026-10-17T22:04:29.793198119Z", + "Cap": 142, + "Tags": ["tag:group-a"], + "Online": true, + "ComputedName": "client-a", + "ComputedNameWithHost": "client-a" + }, { + "ID": 4188655617321142, + "StableID": "nPKUX4t3iZ11CNTRL", + "Name": "client-b.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8e02ec4db5d99ae022d5d77cfee81a7b3acaf455451ce2bfa0b04e7e74a09004", + "DiscoKey": "discokey:1e5be0c76a0e353b26a48203e97d9116c9c23c40c7c2c4d4759753af4267dd43", + "Addresses": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "AllowedIPs": ["100.96.144.4/32", "fd7a:115c:a1e0::7428:9005/128"], + "Endpoints": [ + "192.0.2.1:35016", + "198.51.100.1:35016", + "198.51.100.2:35016", + "198.51.100.3:35016" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "client-b", "Services": [ + {"Proto": "peerapi4", "Port": 56369}, + {"Proto": "peerapi6", "Port": 56369} + ]}, + "Created": "2026-10-17T22:04:28.846603645Z", + "Cap": 142, + "Tags": ["tag:group-b"], + "Online": true, + "ComputedName": "client-b", + "ComputedNameWithHost": "client-b" + }, { + "ID": 3713823041675817, + "StableID": "nLUboMqzzV11CNTRL", + "Name": "ha-a1.tail78f774.ts.net.", + "User": 1260082990019555, + "Key": "nodekey:8d36bb6cde3cc68fa0d46b5bcf2a5c083987f6dd24f1ef85436d2d9b8fee3055", + "DiscoKey": "discokey:12550ed6e474a1774cb44052d3250354d11536b0980f1e3c53e23a20a3f97d30", + "Addresses": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "AllowedIPs": ["100.110.48.85/32", "fd7a:115c:a1e0::8f28:3056/128"], + "Endpoints": [ + "192.0.2.1:53439", + "198.51.100.1:53439", + "198.51.100.2:53439", + "198.51.100.3:53439" + ], + "HomeDERP": 14, + "Hostinfo": {"OS": "linux", "Hostname": "ha-a1", "Services": [ + {"Proto": "peerapi4", "Port": 50823}, + {"Proto": "peerapi6", "Port": 50823} + ]}, + "Created": "2026-10-17T22:04:26.930013881Z", + "Cap": 142, + "Tags": ["tag:ha-a"], + "Online": true, + "ComputedName": "ha-a1", + "ComputedNameWithHost": "ha-a1" + }], + "DNS": {"ExitNodeFilteredSet": [".ts.net", ".tailscale.net"]}, + "PacketFilter": [{ + "IPProto": [6, 17, 1, 58], + "Srcs": [ + "100.110.48.85/32", + "100.115.129.85/32", + "100.88.93.86/32", + "100.96.144.4/32", + "fd7a:115c:a1e0::7428:9005/128", + "fd7a:115c:a1e0::8f28:3056/128", + "fd7a:115c:a1e0::a828:5d57/128", + "fd7a:115c:a1e0::fb28:8156/128" + ], + "SrcCaps": null, + "Dsts": [{"Net": "100.115.129.85/32", "Ports": {"First": 0, "Last": 65535}}, { + "Net": "fd7a:115c:a1e0::fb28:8156/128", + "Ports": {"First": 0, "Last": 65535} + }], + "Caps": [] + }], + "PacketFilterRules": [{"SrcIPs": [ + "100.110.48.85", + "100.115.129.85", + "100.88.93.86", + "100.96.144.4", + "fd7a:115c:a1e0::7428:9005", + "fd7a:115c:a1e0::8f28:3056", + "fd7a:115c:a1e0::a828:5d57", + "fd7a:115c:a1e0::fb28:8156" + ], "DstPorts": [ + {"IP": "100.115.129.85", "Ports": {"First": 0, "Last": 65535}}, + {"IP": "fd7a:115c:a1e0::fb28:8156", "Ports": {"First": 0, "Last": 65535}} + ]}], + "SSHPolicy": {"rules": []}, + "CollectServices": false, + "DERPMap": null, + "DisplayMessages": null, + "TKAEnabled": false, + "TKAHead": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Domain": "odin@example.com", + "DomainAuditLogID": "", + "UserProfiles": {"1260082990019555": { + "ID": 1260082990019555, + "LoginName": "tagged-devices", + "DisplayName": "Tagged Devices" + }, "5247499609068055": { + "ID": 5247499609068055, + "LoginName": "ha-b1.tail78f774.ts.net", + "DisplayName": "ha-b1" + }} + }, "backend_state": "Running"} + } + }] +} diff --git a/hscontrol/servertest/via_ha_compat_test.go b/hscontrol/servertest/via_ha_compat_test.go index 9d44c6f48..d7d7bdd9c 100644 --- a/hscontrol/servertest/via_ha_compat_test.go +++ b/hscontrol/servertest/via_ha_compat_test.go @@ -2,9 +2,11 @@ // golden data captured from Tailscale SaaS (v37-v46, v64, v65). These scenarios // exercise the interaction between via grant steering and HA primary // route election with varying combinations of shared/unique via tags, -// regular grants, and multiple HA pairs. +// regular grants, and multiple HA pairs. TestViaGrantHAFailoverCompat replays +// one such route through failover, step by step. // // Test data source: ../policy/v2/testdata/grant_results/via-grant-v{37..46,64,65}.hujson +// and testdata/steps/via-ha-failover.hujson, loaded by name. // Source format: github.com/juanfont/headscale/hscontrol/types/testcapture package servertest_test @@ -13,6 +15,7 @@ import ( "bytes" "context" "encoding/json" + "fmt" "io" "maps" "net/http" @@ -215,6 +218,149 @@ func runViaHACompat(t *testing.T, c *testcapture.Capture) { } } +// viaHAFailoverSkipReasons lists checks where headscale differs from SaaS, +// keyed ///. A listed check that matches +// fails, so a fix must delete its entry. +var viaHAFailoverSkipReasons = map[string]string{ + "via-ha-failover/V1/client-a/route-owner": viaOfflineRouterKept, + "via-ha-failover/V9/client-a/route-owner": viaOfflineRouterKept, + + "via-ha-failover/V2/client-a/route-owner": viaLowestIDAfterRestart, + "via-ha-failover/V10/client-a/route-owner": viaLowestIDAfterRestart, + + "via-ha-failover/V5/client-a/route-owner": viaExpiredRouterKept, + "via-ha-failover/V5b/client-a/route-owner": viaExpiredRouterKept, + + "via-ha-failover/V12/client-a/route-owner": readvertisedRouterTakesRoute, + "via-ha-failover/V12/client-b/route-owner": readvertisedRouterTakesRoute, +} + +const ( + viaOfflineRouterKept = "VIA_OFFLINE_ROUTER_KEPT: headscale keeps a via route on an offline router while another router of the via group is online; SaaS moves it to the online one" + viaExpiredRouterKept = "VIA_EXPIRED_ROUTER_KEPT: headscale keeps a via route on a router whose key expired while another router of the via group is live; SaaS moves it to the live one" + viaLowestIDAfterRestart = "VIA_LOWEST_ID_AFTER_RESTART: headscale serves a via route from the group's lowest-ID router once it reconnects; SaaS keeps the router that served while it was down" + readvertisedRouterTakesRoute = "READVERTISED_ROUTER_TAKES_ROUTE: SaaS hands a route back to an HA router that withdrew and re-advertised it, taking it from the router that served it meanwhile; headscale keeps that router" +) + +// viaHAFailoverViewers are the clients whose views are compared: one reaches +// the route only through the via group, the other through the global +// election. The routers' own views are stored, not compared; route-cost owns +// them. +var viaHAFailoverViewers = []string{"client-a", "client-b"} + +// TestViaGrantHAFailoverCompat replays one route served by a non-via router +// and a via group of two through crashes and returns, the whole via group +// down, key expiry and restore (an expired router re-advertising included), +// approval loss, withdraw, re-advertise and delete. After each step it +// compares, per viewer, which routers carry the route and which peers it +// sees. +func TestViaGrantHAFailoverCompat(t *testing.T) { + t.Parallel() + + t.Run("via-ha-failover", func(t *testing.T) { + t.Parallel() + + runViaHAFailoverCompat(t, "via-ha-failover") + }) +} + +func runViaHAFailoverCompat(t *testing.T, id string) { + t.Helper() + + c := readStepCapture(t, id) + r := newStepReplay(t, c) + evaluated := map[string]bool{} + + for _, step := range c.Steps { + require.Equal(t, "observed", step.Result, "%s: the replay follows every step", step.Name) + + // The probe let each action land before the next, and which router + // wins depends on that order. + for _, a := range step.Actions { + one := step + one.Actions = []testcapture.Action{a} + require.Empty(t, r.apply(t, one), "%s: every login succeeds", step.Name) + r.waitSession(t, step.Name, a) + } + + checks := make([]stepCheck, 0, 2*len(viaHAFailoverViewers)) + + for _, viewer := range viaHAFailoverViewers { + saas := step.Captures[viewer].Netmap + require.NotNil(t, saas, "%s: no capture of %s", step.Name, viewer) + + cl := r.clients[viewer] + checks = append(checks, + stepCheck{viewer + "/route-owner", routeOwners(saas, r.saasAlias), func() string { + return routeOwners(cl.Netmap(), r.hsAlias) + }}, + stepCheck{viewer + "/peers", peerAliases(saas, r.saasAlias), func() string { + return peerAliases(cl.Netmap(), r.hsAlias) + }}, + ) + } + + prefix := id + "/" + step.Name + "/" + + t.Run(step.Name, func(t *testing.T) { + holdChecks(t, viaHAFailoverSkipReasons, prefix, checks, evaluated) + }) + } + + for k := range viaHAFailoverSkipReasons { + if strings.HasPrefix(k, id+"/") && !evaluated[k] { + t.Errorf("skip entry %q names no check", k) + } + } +} + +// routeOwners says, per subnet route among the peers in nm that alias +// names, which of them carry it in AllowedIPs and which in PrimaryRoutes. +func routeOwners(nm *netmap.NetworkMap, alias func(tailcfg.NodeID) (string, bool)) string { + if nm == nil { + return "no netmap" + } + + allowed, primary := map[string][]string{}, map[string][]string{} + + for _, p := range nm.Peers { + name, ok := alias(p.ID()) + if !ok { + continue + } + + for _, pfx := range p.AllowedIPs().All() { + if !isTailscaleIP(pfx) { + allowed[pfx.String()] = append(allowed[pfx.String()], name) + } + } + + for _, pfx := range p.PrimaryRoutes().All() { + primary[pfx.String()] = append(primary[pfx.String()], name) + } + } + + routes := slices.Collect(maps.Keys(allowed)) + for pfx := range primary { + if _, ok := allowed[pfx]; !ok { + routes = append(routes, pfx) + } + } + + if len(routes) == 0 { + return "none" + } + + slices.Sort(routes) + + out := make([]string, 0, len(routes)) + for _, pfx := range routes { + out = append(out, fmt.Sprintf("%s allowed %s primary %s", pfx, sortedStrings(allowed[pfx]), sortedStrings(primary[pfx]))) + } + + return strings.Join(out, "; ") +} + // compareCaptureNetmap compares headscale's [tailcfg.MapResponse] against a // [testcapture.Node]'s [netmap.NetworkMap] data. Same logic as [compareNetmap] but // reads from typed [testcapture] fields instead of goldenFile strings. @@ -1025,6 +1171,71 @@ func (r *stepReplay) node(t *testing.T, alias string) types.NodeView { return nodes[0] } +// waitSession holds a kill or start until headscale shows the node's +// session gone or back, as the probe waited for the device's control +// connection. +func (r *stepReplay) waitSession(t *testing.T, stepName string, a testcapture.Action) { + t.Helper() + + if a.Kind != "kill" && a.Kind != "start" { + return + } + + want := a.Kind == "start" + + require.Eventuallyf(t, func() bool { + nodes := r.machineNodes(a.Node) + if len(nodes) != 1 { + return false + } + + online := nodes[0].IsOnline() + + return online.Valid() && online.Get() == want + }, 30*time.Second, 50*time.Millisecond, "%s: %s %s", stepName, a.Kind, a.Node) +} + +// saasAlias is the capture alias of SaaS node id. +func (r *stepReplay) saasAlias(id tailcfg.NodeID) (string, bool) { + for alias, saasID := range r.c.NodeIDs { + if saasID == id { + return alias, true + } + } + + return "", false +} + +// hsAlias is the alias whose machine holds node id. +func (r *stepReplay) hsAlias(id tailcfg.NodeID) (string, bool) { + for alias := range r.clients { + for _, nv := range r.machineNodes(alias) { + if nv.ID().NodeID() == id { + return alias, true + } + } + } + + return "", false +} + +// peerAliases names the peers in nm that alias resolves. +func peerAliases(nm *netmap.NetworkMap, alias func(tailcfg.NodeID) (string, bool)) string { + if nm == nil { + return "no netmap" + } + + var out []string + + for _, p := range nm.Peers { + if name, ok := alias(p.ID()); ok { + out = append(out, name) + } + } + + return sortedStrings(out) +} + func (r *stepReplay) announce(ctx context.Context, t *testing.T, alias string, routes []string) { t.Helper()