// GRANT-P09_8A // // Grant: src=['autogroup:member', 'group:admins', 'group:developers', 'kratail2tid@passkey', '100.90.199.68'] dst=['tag:server'] ip=['22'] // // Expected: Rules on tagged-server { "test_id": "GRANT-P09_8A", "timestamp": "2026-02-23T01:07:38Z", "propagation_wait_seconds": 15, "input": { "policy_file": "/home/kradalby/acl-explore/grant_policies/grant_p09_8a.json", "full_policy": { "groups": { "group:admins": ["kratail2tid@passkey"], "group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"], "group:monitors": ["monitorpasskeykradalby@passkey"], "group:empty": [] }, "tagOwners": { "tag:server": ["kratail2tid@passkey"], "tag:prod": ["kratail2tid@passkey"], "tag:client": ["kratail2tid@passkey"], "tag:router": ["kratail2tid@passkey"], "tag:exit": ["kratail2tid@passkey"] }, "hosts": { "webserver": "100.108.74.26", "prodbox": "100.103.8.15", "internal": "10.0.0.0/8" }, "autoApprovers": { "routes": { "10.33.0.0/16": ["tag:router"], "0.0.0.0/0": ["tag:exit"], "::/0": ["tag:exit"] } }, "grants": [ { "src": ["autogroup:member", "group:admins", "group:developers", "kratail2tid@passkey", "100.90.199.68"], "dst": ["tag:server"], "ip": ["22"] } ] }, "grants_section": [ { "src": ["autogroup:member", "group:admins", "group:developers", "kratail2tid@passkey", "100.90.199.68"], "dst": ["tag:server"], "ip": ["22"] } ], "api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl", "api_method": "POST", "api_response_code": 200 }, "topology": { "nodes": { "exit-node": { "mts_name": "exit-node", "socket": "/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock", "hostname": "exit-node", "user_id": 4041918547170221, "tags": ["tag:exit"], "ipv4": "100.85.66.106", "ipv6": "fd7a:115c:a1e0::7c37:426a" }, "subnet-router": { "mts_name": "subnet-router", "socket": "/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock", "hostname": "subnet-router", "user_id": 7489538288452506, "tags": ["tag:router"], "ipv4": "100.92.142.61", "ipv6": "fd7a:115c:a1e0::3e37:8e3d", "routable_ips": ["10.33.0.0/16"], "approved_routes": ["10.33.0.0/16"] }, "tagged-client": { "mts_name": "tagged-client", "socket": "/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock", "hostname": "tagged-client", "user_id": 4031348162889210, "tags": ["tag:client"], "ipv4": "100.83.200.69", "ipv6": "fd7a:115c:a1e0::c537:c845" }, "tagged-prod": { "mts_name": "tagged-prod", "socket": "/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock", "hostname": "tagged-prod", "user_id": 301794218943819, "tags": ["tag:prod"], "ipv4": "100.103.8.15", "ipv6": "fd7a:115c:a1e0::5b37:80f" }, "tagged-server": { "mts_name": "tagged-server", "socket": "/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock", "hostname": "tagged-server", "user_id": 1440249486084758, "tags": ["tag:server"], "ipv4": "100.108.74.26", "ipv6": "fd7a:115c:a1e0::b901:4a87" }, "user-kris": { "mts_name": "user-kris", "socket": "/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock", "hostname": "user-kris", "user_id": 4538565228176803, "tags": [], "ipv4": "100.110.121.96", "ipv6": "fd7a:115c:a1e0::1737:7960" }, "user-mon": { "mts_name": "user-mon", "socket": "/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock", "hostname": "user-mon", "user_id": 3982058329734709, "tags": [], "ipv4": "100.103.90.82", "ipv6": "fd7a:115c:a1e0::9e37:5a52" }, "user1": { "mts_name": "user1", "socket": "/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock", "hostname": "user1", "user_id": 4156223528223174, "tags": [], "ipv4": "100.90.199.68", "ipv6": "fd7a:115c:a1e0::2d01:c747" } } }, "captures": { "exit-node": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.108.74.26", "response": null }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.103.90.82", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "subnet-router": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.108.74.26", "response": null }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.103.90.82", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "tagged-client": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.108.74.26", "response": null }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.103.90.82", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "tagged-prod": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.108.74.26", "response": null }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.103.90.82", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-prod/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "tagged-server": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": [ { "SrcIPs": [ "100.103.90.82", "100.110.121.96", "100.90.199.68", "fd7a:115c:a1e0::1737:7960", "fd7a:115c:a1e0::2d01:c747", "fd7a:115c:a1e0::9e37:5a52" ], "DstPorts": [ { "IP": "100.108.74.26", "Ports": { "First": 22, "Last": 22 } }, { "IP": "fd7a:115c:a1e0::b901:4a87", "Ports": { "First": 22, "Last": 22 } } ] } ], "packet_filter_matches": [ { "IPProto": [6, 17, 1, 58], "Srcs": [ "100.103.90.82/32", "100.110.121.96/32", "100.90.199.68/32", "fd7a:115c:a1e0::1737:7960/128", "fd7a:115c:a1e0::2d01:c747/128", "fd7a:115c:a1e0::9e37:5a52/128" ], "SrcCaps": null, "Dsts": [ { "Net": "100.108.74.26/32", "Ports": { "First": 22, "Last": 22 } }, { "Net": "fd7a:115c:a1e0::b901:4a87/128", "Ports": { "First": 22, "Last": 22 } } ], "Caps": [] } ], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.110.121.96", "response": { "Node": { "ID": 7728836216590060, "StableID": "nf4dJTRQM321CNTRL", "Name": "user-kris.tail78f774.ts.net.", "User": 4538565228176803, "Key": "nodekey:40d0f8f49fd519e4a4a2b7d278dcc8863254d4fb8b0219f1d1304cdd172e795f", "KeyExpiry": "2026-08-19T14:09:34Z", "DiscoKey": "discokey:ee276d29d944b727d1749cd3938f210d3c30f1e2d2644fed60632fc0a3c95066", "Addresses": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"], "AllowedIPs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"], "Endpoints": [ "77.164.248.136:36065", "10.65.0.27:36065", "172.17.0.1:36065", "172.18.0.1:36065", "172.19.0.1:36065" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "user-kris", "Services": [ { "Proto": "peerapi4", "Port": 40159 }, { "Proto": "peerapi6", "Port": 40159 } ] }, "Created": "2026-02-20T14:09:34.803901523Z", "Cap": 131, "Online": true, "ComputedName": "user-kris", "ComputedNameWithHost": "user-kris" }, "UserProfile": { "ID": 4538565228176803, "LoginName": "kristoffer@dalby.cc", "DisplayName": "kristoffer" }, "CapMap": null } }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.103.90.82", "response": { "Node": { "ID": 1840115676059256, "StableID": "nFzZ7giPNF11CNTRL", "Name": "user-mon.tail78f774.ts.net.", "User": 3982058329734709, "Key": "nodekey:1ca6cca66d2b3811ec290c2f7ac30125c3568e19e303a8e30f6b165c9ee75a51", "KeyExpiry": "2026-08-19T14:09:00Z", "DiscoKey": "discokey:0fe29575d3fe2b01154e0d8f5b8fa1d2500a55fd2aa79a416f014f4c1e217e7b", "Addresses": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"], "AllowedIPs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"], "Endpoints": [ "77.164.248.136:49306", "10.65.0.27:49306", "172.17.0.1:49306", "172.18.0.1:49306", "172.19.0.1:49306" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "user-mon", "Services": [ { "Proto": "peerapi4", "Port": 33201 }, { "Proto": "peerapi6", "Port": 33201 } ] }, "Created": "2026-02-20T14:09:00.203639664Z", "Cap": 131, "Online": true, "ComputedName": "user-mon", "ComputedNameWithHost": "user-mon" }, "UserProfile": { "ID": 3982058329734709, "LoginName": "monitorpasskeykradalby@passkey", "DisplayName": "monitorpasskeykradalby" }, "CapMap": null } }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json 100.90.199.68", "response": { "Node": { "ID": 539541576444929, "StableID": "nSq9YrqMD511CNTRL", "Name": "user1.tail78f774.ts.net.", "User": 4156223528223174, "Key": "nodekey:96338a2cd2ea803c915ed8fdf882d66ca0c6a59d0fcf0bc4b3f928d22d1ac743", "KeyExpiry": "2026-07-22T10:04:13Z", "DiscoKey": "discokey:e9a76408333d29ad7c495ff79483f15d0bae079bfebc20cffa35af12fe848518", "Addresses": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"], "AllowedIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"], "Endpoints": [ "77.164.248.136:59336", "10.65.0.27:59336", "172.17.0.1:59336", "172.18.0.1:59336", "172.19.0.1:59336" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "user1", "Services": [ { "Proto": "peerapi4", "Port": 46708 }, { "Proto": "peerapi6", "Port": 46708 } ] }, "Created": "2026-01-23T10:04:13.531671894Z", "Cap": 131, "Online": true, "ComputedName": "user1", "ComputedNameWithHost": "user1" }, "UserProfile": { "ID": 4156223528223174, "LoginName": "kratail2tid@passkey", "DisplayName": "kratail2tid" }, "CapMap": null } } } }, "user-kris": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.108.74.26", "response": { "Node": { "ID": 1440249486084758, "StableID": "nXRbBtuHFC11CNTRL", "Name": "tagged-server.tail78f774.ts.net.", "User": 1260082990019555, "Key": "nodekey:7d5c34b3e8082069d0a82838165c33f8e1b5eb32c6211c2d23d4fe8fb9ec4a19", "DiscoKey": "discokey:372ff501f45d63e009ed97902f8b3acf6addd79e9c6ca7343d41c7adc4eb3e38", "Addresses": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "AllowedIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "Endpoints": [ "77.164.248.136:58686", "10.65.0.27:58686", "172.17.0.1:58686", "172.18.0.1:58686", "172.19.0.1:58686" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "tagged-server", "Services": [ { "Proto": "peerapi4", "Port": 46499 }, { "Proto": "peerapi6", "Port": 46499 } ] }, "Created": "2026-01-23T10:10:26.365653609Z", "Cap": 131, "Tags": ["tag:server"], "Online": true, "ComputedName": "tagged-server", "ComputedNameWithHost": "tagged-server" }, "UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" }, "CapMap": null } }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.103.90.82", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "user-mon": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.108.74.26", "response": { "Node": { "ID": 1440249486084758, "StableID": "nXRbBtuHFC11CNTRL", "Name": "tagged-server.tail78f774.ts.net.", "User": 1260082990019555, "Key": "nodekey:7d5c34b3e8082069d0a82838165c33f8e1b5eb32c6211c2d23d4fe8fb9ec4a19", "DiscoKey": "discokey:372ff501f45d63e009ed97902f8b3acf6addd79e9c6ca7343d41c7adc4eb3e38", "Addresses": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "AllowedIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "Endpoints": [ "77.164.248.136:58686", "10.65.0.27:58686", "172.17.0.1:58686", "172.18.0.1:58686", "172.19.0.1:58686" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "tagged-server", "Services": [ { "Proto": "peerapi4", "Port": 46499 }, { "Proto": "peerapi6", "Port": 46499 } ] }, "Created": "2026-01-23T10:10:26.365653609Z", "Cap": 131, "Tags": ["tag:server"], "Online": true, "ComputedName": "tagged-server", "ComputedNameWithHost": "tagged-server" }, "UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" }, "CapMap": null } }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.90.199.68": { "peer_name": "user1", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json 100.90.199.68", "response": null } } }, "user1": { "commands": { "packet_filter_rules": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock debug localapi POST debug-packet-filter-rules", "packet_filter_matches": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock debug localapi POST debug-packet-filter-matches" }, "packet_filter_rules": null, "packet_filter_matches": [], "whois": { "100.85.66.106": { "peer_name": "exit-node", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.85.66.106", "response": null }, "100.92.142.61": { "peer_name": "subnet-router", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.92.142.61", "response": null }, "100.83.200.69": { "peer_name": "tagged-client", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.83.200.69", "response": null }, "100.103.8.15": { "peer_name": "tagged-prod", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.103.8.15", "response": null }, "100.108.74.26": { "peer_name": "tagged-server", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.108.74.26", "response": { "Node": { "ID": 1440249486084758, "StableID": "nXRbBtuHFC11CNTRL", "Name": "tagged-server.tail78f774.ts.net.", "User": 1260082990019555, "Key": "nodekey:7d5c34b3e8082069d0a82838165c33f8e1b5eb32c6211c2d23d4fe8fb9ec4a19", "DiscoKey": "discokey:372ff501f45d63e009ed97902f8b3acf6addd79e9c6ca7343d41c7adc4eb3e38", "Addresses": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "AllowedIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"], "Endpoints": [ "77.164.248.136:58686", "10.65.0.27:58686", "172.17.0.1:58686", "172.18.0.1:58686", "172.19.0.1:58686" ], "HomeDERP": 14, "Hostinfo": { "OS": "linux", "Hostname": "tagged-server", "Services": [ { "Proto": "peerapi4", "Port": 46499 }, { "Proto": "peerapi6", "Port": 46499 } ] }, "Created": "2026-01-23T10:10:26.365653609Z", "Cap": 131, "Tags": ["tag:server"], "Online": true, "ComputedName": "tagged-server", "ComputedNameWithHost": "tagged-server" }, "UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" }, "CapMap": null } }, "100.110.121.96": { "peer_name": "user-kris", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.110.121.96", "response": null }, "100.103.90.82": { "peer_name": "user-mon", "command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json 100.103.90.82", "response": null } } } } }