testdata: strip unused fields from all test data files (23MB -> 4MB)
Strip fields not consumed by any test from all 594 HuJSON test data files:
grant_results/ (248 files, 21MB -> 1.8MB):
- Remove: timestamp, propagation_wait_seconds, input.policy_file,
input.grants_section, input.api_endpoint, input.api_method,
topology.nodes.mts_name, topology.nodes.socket, topology.nodes.user_id,
captures.commands, captures.packet_filter_matches, captures.whois
- V14-V16, V26-V36: keep stripped netmap (Peers.Name/AllowedIPs/PrimaryRoutes
+ PacketFilterRules) for via_compat_test.go compatibility
- V17-V25: strip netmap (old topology, incompatible with via_compat harness)
acl_results/ (215 files, 1.4MB -> 1.2MB):
- Remove: timestamp, propagation_wait_seconds, input.policy_file,
input.api_endpoint, input.api_response_code, entire topology section
(parsed by Go struct but completely ignored — nodes are hardcoded)
routes_results/ (92 files, unchanged — topology is actively used):
- Remove: timestamp, propagation_wait_seconds, input.policy_file,
input.api_endpoint, input.api_response_code
ssh_results/ (39 files, unchanged — minimal to begin with):
- Remove: policy_file
This commit is contained in:
parent
30dce30a9d
commit
835db974b5
594 changed files with 45359 additions and 535977 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — capability name must have the form {domain}/{path}
|
||||
{
|
||||
"test_id": "GRANT-A2",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:17:36Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_a2.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"https://tailscale.com/cap/ingress": [{}]
|
||||
"https://tailscale.com/cap/ingress": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "app": { "https://tailscale.com/cap/ingress": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "capability name must have the form {domain}/{path}" }
|
||||
"api_response_body": {
|
||||
"message": "capability name must have the form {domain}/{path}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-A5",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:20:08Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_a5.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/relay-target": [{}]
|
||||
"tailscale.com/cap/relay-target": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "app": { "tailscale.com/cap/relay-target": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "capability name must not be in the tailscale.com domain" }
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-A6",
|
||||
"timestamp": "2026-02-23T00:20:13Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_a6.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,19 +44,31 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -50,96 +76,62 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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": "unknown",
|
||||
"user_id": 0,
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -148,245 +140,39 @@
|
|||
},
|
||||
"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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/exit-node/tailscaled.sock whois --json unknown",
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/subnet-router/tailscaled.sock whois --json unknown",
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-client/tailscaled.sock whois --json unknown",
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": null,
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/tagged-server/tailscaled.sock whois --json unknown",
|
||||
"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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -395,118 +181,43 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-kris/tailscaled.sock whois --json unknown",
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -515,118 +226,43 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user-mon/tailscaled.sock whois --json unknown",
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -635,102 +271,23 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
|
||||
},
|
||||
"unknown": {
|
||||
"peer_name": "tagged-prod",
|
||||
"command": "/home/kradalby/go/bin/tailscale --socket=/home/kradalby/.config/multi-tailscale-dev/user1/tailscaled.sock whois --json unknown",
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D1",
|
||||
"timestamp": "2026-02-23T00:29:52Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d1.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,190 +137,18 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
|
|
@ -334,489 +161,28 @@
|
|||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D2",
|
||||
"timestamp": "2026-02-23T00:30:09Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d2.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,370 +137,18 @@
|
|||
},
|
||||
"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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
|
|
@ -518,405 +165,28 @@
|
|||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [
|
||||
"100.103.8.15/32",
|
||||
"100.108.74.26/32",
|
||||
"100.83.200.69/32",
|
||||
"100.85.66.106/32",
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128",
|
||||
"fd7a:115c:a1e0::5b37:80f/128",
|
||||
"fd7a:115c:a1e0::7c37:426a/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 4041918547170221,
|
||||
"StableID": "ngCb76MbZY11CNTRL",
|
||||
"Name": "exit-node.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:90f4a7b9dc024f1ddec414a49de2aa7611a2dd86efc9d7bae30862ad7c954269",
|
||||
"DiscoKey": "discokey:e067b4e63320882c9a744baff8b1d9de50fad897586d9ac2033723343a66e946",
|
||||
"Addresses": ["100.85.66.106/32", "fd7a:115c:a1e0::7c37:426a/128"],
|
||||
"AllowedIPs": ["100.85.66.106/32", "fd7a:115c:a1e0::7c37:426a/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:38956",
|
||||
"10.65.0.27:38956",
|
||||
"172.17.0.1:38956",
|
||||
"172.18.0.1:38956",
|
||||
"172.19.0.1:38956"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "exit-node",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 37000
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 37000
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-23T00:13:20.566112173Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:exit"],
|
||||
"Online": true,
|
||||
"ComputedName": "exit-node",
|
||||
"ComputedNameWithHost": "exit-node"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 7489538288452506,
|
||||
"StableID": "nTPEqJU2V121CNTRL",
|
||||
"Name": "subnet-router.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:887ae2351c09c3b952f1f42bdac4095ec396ebf15824a746e4193c003e9c8e3c",
|
||||
"DiscoKey": "discokey:861e592754ea9209e6ab02a511369b304e9094c6d636c270d746d9ddb954534d",
|
||||
"Addresses": ["100.92.142.61/32", "fd7a:115c:a1e0::3e37:8e3d/128"],
|
||||
"AllowedIPs": ["100.92.142.61/32", "fd7a:115c:a1e0::3e37:8e3d/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:45900",
|
||||
"10.65.0.27:45900",
|
||||
"172.17.0.1:45900",
|
||||
"172.18.0.1:45900",
|
||||
"172.19.0.1:45900"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "subnet-router",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 63250
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 63250
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-23T00:13:15.731478784Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:router"],
|
||||
"Online": true,
|
||||
"ComputedName": "subnet-router",
|
||||
"ComputedNameWithHost": "subnet-router"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 4031348162889210,
|
||||
"StableID": "nf7BTTgoUY11CNTRL",
|
||||
"Name": "tagged-client.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:3011e53353e49142ea56ae11f81e0dceae0d667093d04ee086dcb1e9c5d3c844",
|
||||
"DiscoKey": "discokey:f3f4cc194a00c26e6bd6ca6947a86ba8609fc759c469922205f1db9a5ab78c46",
|
||||
"Addresses": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
|
||||
"AllowedIPs": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:58209",
|
||||
"10.65.0.27:58209",
|
||||
"172.17.0.1:58209",
|
||||
"172.18.0.1:58209",
|
||||
"172.19.0.1:58209"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "tagged-client",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 41378
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 41378
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-23T00:13:11.017324028Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:client"],
|
||||
"Online": true,
|
||||
"ComputedName": "tagged-client",
|
||||
"ComputedNameWithHost": "tagged-client"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 301794218943819,
|
||||
"StableID": "neJag6dgM311CNTRL",
|
||||
"Name": "tagged-prod.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:54c79503322a5d0a9701ce19d11963cfff9c05667ac06ef976af86275ba7080e",
|
||||
"DiscoKey": "discokey:196d9d1d9f0e2d5c5da0dc70164b6752bf8ad896991b7038b2272cb0bf8bf630",
|
||||
"Addresses": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"AllowedIPs": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:46099",
|
||||
"10.65.0.27:46099",
|
||||
"172.17.0.1:46099",
|
||||
"172.18.0.1:46099",
|
||||
"172.19.0.1:46099"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "tagged-prod",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 37678
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 37678
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-20T14:03:12.89283153Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:prod"],
|
||||
"Online": true,
|
||||
"ComputedName": "tagged-prod",
|
||||
"ComputedNameWithHost": "tagged-prod"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": 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": 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": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D3",
|
||||
"timestamp": "2026-02-23T00:30:25Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d3.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"group:admins"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,487 +137,48 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": 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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D4",
|
||||
"timestamp": "2026-02-23T00:30:42Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d4.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["kratail2tid@passkey"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["kratail2tid@passkey"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,487 +137,48 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": 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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D5",
|
||||
"timestamp": "2026-02-23T00:30:59Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d5.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["tag:prod"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"tag:prod"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["tag:prod"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,487 +137,48 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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.8.15", "fd7a:115c:a1e0::5b37:80f"],
|
||||
"SrcIPs": [
|
||||
"100.103.8.15",
|
||||
"fd7a:115c:a1e0::5b37:80f"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 301794218943819,
|
||||
"StableID": "neJag6dgM311CNTRL",
|
||||
"Name": "tagged-prod.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:54c79503322a5d0a9701ce19d11963cfff9c05667ac06ef976af86275ba7080e",
|
||||
"DiscoKey": "discokey:196d9d1d9f0e2d5c5da0dc70164b6752bf8ad896991b7038b2272cb0bf8bf630",
|
||||
"Addresses": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"AllowedIPs": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:46099",
|
||||
"10.65.0.27:46099",
|
||||
"172.17.0.1:46099",
|
||||
"172.18.0.1:46099",
|
||||
"172.19.0.1:46099"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "tagged-prod",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 37678
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 37678
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-20T14:03:12.89283153Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:prod"],
|
||||
"Online": true,
|
||||
"ComputedName": "tagged-prod",
|
||||
"ComputedNameWithHost": "tagged-prod"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": 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": 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": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D6",
|
||||
"timestamp": "2026-02-23T00:31:16Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d6.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["100.90.199.68"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["100.90.199.68"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,487 +137,47 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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.90.199.68"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": 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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D7",
|
||||
"timestamp": "2026-02-23T00:31:33Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_d7.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,92 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member", "tag:prod"],
|
||||
"dst": ["tag:server"],
|
||||
"src": [
|
||||
"autogroup:member",
|
||||
"tag:prod"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member", "tag:prod"],
|
||||
"dst": ["tag:server"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,235 +138,18 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
|
|
@ -381,538 +164,28 @@
|
|||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [
|
||||
"100.103.8.15/32",
|
||||
"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::5b37:80f/128",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": {
|
||||
"Node": {
|
||||
"ID": 301794218943819,
|
||||
"StableID": "neJag6dgM311CNTRL",
|
||||
"Name": "tagged-prod.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:54c79503322a5d0a9701ce19d11963cfff9c05667ac06ef976af86275ba7080e",
|
||||
"DiscoKey": "discokey:196d9d1d9f0e2d5c5da0dc70164b6752bf8ad896991b7038b2272cb0bf8bf630",
|
||||
"Addresses": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"AllowedIPs": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:46099",
|
||||
"10.65.0.27:46099",
|
||||
"172.17.0.1:46099",
|
||||
"172.18.0.1:46099",
|
||||
"172.19.0.1:46099"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "tagged-prod",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 37678
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 37678
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-20T14:03:12.89283153Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:prod"],
|
||||
"Online": true,
|
||||
"ComputedName": "tagged-prod",
|
||||
"ComputedNameWithHost": "tagged-prod"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — autogroup:self can only be used with users, groups, or supported autogroups
|
||||
{
|
||||
"test_id": "GRANT-E3",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:32:23Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_e3.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,19 +45,31 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:self"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -51,16 +77,9 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:self"],
|
||||
"app": { "tailscale.com/cap/drive": [{ "shares": ["*"], "access": "rw" }] }
|
||||
}
|
||||
],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "autogroup:self can only be used with users, groups, or supported autogroups" }
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-F2",
|
||||
"timestamp": "2026-02-23T00:34:04Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_f2.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,16 +44,28 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["*"],
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
|
|
@ -50,96 +76,64 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["*"],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -148,190 +142,18 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
|
|
@ -370,7 +192,10 @@
|
|||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
|
|
@ -381,531 +206,16 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
},
|
||||
{
|
||||
"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": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H1",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:36:36Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h1.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,32 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "app": {} }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "ip and app can not both be empty" }
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — "autogroup:self" not valid on the src side of a rule
|
||||
{
|
||||
"test_id": "GRANT-H10",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:37:44Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h10.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:self"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["autogroup:self"], "dst": ["*"], "app": { "example.com/cap/test": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "\"autogroup:self\" not valid on the src side of a rule" }
|
||||
"api_response_body": {
|
||||
"message": "\"autogroup:self\" not valid on the src side of a rule"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H3",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:36:53Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h3.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,32 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "ip": [] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "ip and app can not both be empty" }
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-H4",
|
||||
"timestamp": "2026-02-23T00:36:53Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h4.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [],
|
||||
"dst": ["*"],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": [],
|
||||
"dst": ["*"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,364 +135,28 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-H5",
|
||||
"timestamp": "2026-02-23T00:37:10Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h5.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": [],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,364 +135,28 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-H6",
|
||||
"timestamp": "2026-02-23T00:37:27Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h6.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["group:empty"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"group:empty"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["group:empty"],
|
||||
"dst": ["*"],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,612 +137,164 @@
|
|||
},
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.85.66.106/32", "fd7a:115c:a1e0::7c37:426a/128"],
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.85.66.106/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::7c37:426a/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.92.142.61/32", "fd7a:115c:a1e0::3e37:8e3d/128"],
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.92.142.61/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::3e37:8e3d/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.83.200.69/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::c537:c845/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.8.15/32", "fd7a:115c:a1e0::5b37:80f/128"],
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.8.15/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::5b37:80f/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.108.74.26/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": 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": 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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": [],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "example.com/cap/test",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — src=tag not found: "tag:nonexistent"
|
||||
{
|
||||
"test_id": "GRANT-H7",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:37:44Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h7.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["tag:nonexistent"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"tag:nonexistent"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["tag:nonexistent"], "dst": ["*"], "app": { "example.com/cap/test": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "src=tag not found: \"tag:nonexistent\"" }
|
||||
"api_response_body": {
|
||||
"message": "src=tag not found: \"tag:nonexistent\""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H8",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:37:44Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h8.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,22 +45,31 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "ip and app can not both be empty" }
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — autogroup:self can only be used with users, groups, or supported autogroups
|
||||
{
|
||||
"test_id": "GRANT-H9",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:37:44Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_h9.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:self"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [{}]
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["autogroup:self"], "app": { "example.com/cap/test": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "autogroup:self can only be used with users, groups, or supported autogroups" }
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — via can only be a tag
|
||||
{
|
||||
"test_id": "GRANT-I4",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:38:35Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_i4.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,24 +45,37 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["10.33.0.0/16"],
|
||||
"via": ["autogroup:tagged"],
|
||||
"ip": ["*"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["10.33.0.0/16"], "via": ["autogroup:tagged"], "ip": ["*"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "via can only be a tag" }
|
||||
"api_response_body": {
|
||||
"message": "via can only be a tag"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — port range "icmp": invalid first integer
|
||||
{
|
||||
"test_id": "GRANT-J7",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T00:40:17Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_j7.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,34 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["icmp"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"icmp"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["tag:server"], "ip": ["icmp"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "port range \"icmp\": invalid first integer" }
|
||||
"api_response_body": {
|
||||
"message": "port range \"icmp\": invalid first integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-K10",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T02:55:30Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k10.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/funnel": [{}]
|
||||
"tailscale.com/cap/funnel": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "app": { "tailscale.com/cap/funnel": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "capability name must not be in the tailscale.com domain" }
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K14",
|
||||
"timestamp": "2026-02-23T02:56:28Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k14.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,102 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["fd7a:115c:a1e0::c537:c845"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["tcp:22"]
|
||||
"src": [
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["fd7a:115c:a1e0::c537:c845"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["tcp: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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -134,238 +135,23 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": {
|
||||
"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/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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": ["fd7a:115c:a1e0::c537:c845"],
|
||||
"SrcIPs": [
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
|
|
@ -382,250 +168,20 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6]
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6],
|
||||
"Srcs": ["fd7a:115c:a1e0::c537:c845/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": {
|
||||
"Node": {
|
||||
"ID": 4031348162889210,
|
||||
"StableID": "nf7BTTgoUY11CNTRL",
|
||||
"Name": "tagged-client.tail78f774.ts.net.",
|
||||
"User": 1260082990019555,
|
||||
"Key": "nodekey:3011e53353e49142ea56ae11f81e0dceae0d667093d04ee086dcb1e9c5d3c844",
|
||||
"DiscoKey": "discokey:f3f4cc194a00c26e6bd6ca6947a86ba8609fc759c469922205f1db9a5ab78c46",
|
||||
"Addresses": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
|
||||
"AllowedIPs": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
|
||||
"Endpoints": [
|
||||
"77.164.248.136:58209",
|
||||
"10.65.0.27:58209",
|
||||
"172.17.0.1:58209",
|
||||
"172.18.0.1:58209",
|
||||
"172.19.0.1:58209"
|
||||
],
|
||||
"HomeDERP": 14,
|
||||
"Hostinfo": {
|
||||
"OS": "linux",
|
||||
"Hostname": "tagged-client",
|
||||
"Services": [
|
||||
{
|
||||
"Proto": "peerapi4",
|
||||
"Port": 41378
|
||||
},
|
||||
{
|
||||
"Proto": "peerapi6",
|
||||
"Port": 41378
|
||||
}
|
||||
]
|
||||
},
|
||||
"Created": "2026-02-23T00:13:11.017324028Z",
|
||||
"Cap": 131,
|
||||
"Tags": ["tag:client"],
|
||||
"Online": true,
|
||||
"ComputedName": "tagged-client",
|
||||
"ComputedNameWithHost": "tagged-client"
|
||||
},
|
||||
"UserProfile": {
|
||||
"ID": 1260082990019555,
|
||||
"LoginName": "tagged-devices",
|
||||
"DisplayName": "Tagged Devices"
|
||||
},
|
||||
"CapMap": 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": 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": 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": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K20",
|
||||
"timestamp": "2026-02-23T02:58:08Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k20.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,102 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["user:*@passkey"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["tcp:22"]
|
||||
"src": [
|
||||
"user:*@passkey"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["user:*@passkey"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["tcp: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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -134,193 +135,26 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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.90.199.68", "fd7a:115c:a1e0::2d01:c747", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
|
|
@ -337,390 +171,20 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6]
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6],
|
||||
"Srcs": [
|
||||
"100.103.90.82/32",
|
||||
"100.90.199.68/32",
|
||||
"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": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — port range "0": first port must be >0, or use '*' for wildcard
|
||||
{
|
||||
"test_id": "GRANT-K23",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T02:59:03Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k23.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,34 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["tag:server"],
|
||||
"ip": ["tcp:0"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["tag:server"], "ip": ["tcp:0"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "port range \"0\": first port must be >0, or use '*' for wildcard" }
|
||||
"api_response_body": {
|
||||
"message": "port range \"0\": first port must be >0, or use '*' for wildcard"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-K27",
|
||||
"timestamp": "2026-02-23T02:59:53Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k27.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,106 +44,91 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/self-service": [{}]
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"app": {
|
||||
"example.com/cap/self-service": [{}]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -138,457 +137,88 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [{}]
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [{}]
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [{}]
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "example.com/cap/self-service",
|
||||
"Values": [{}]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-K28",
|
||||
"timestamp": "2026-02-23T03:00:09Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k28.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,20 +44,34 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"ip": ["*"],
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -51,97 +79,64 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self"],
|
||||
"ip": ["*"],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -150,238 +145,27 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.110.121.96",
|
||||
|
|
@ -400,14 +184,22 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -416,133 +208,31 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.110.121.96", "fd7a:115c:a1e0::1737:7960"],
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "100.110.121.96/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.110.121.96/32", "fd7a:115c:a1e0::1737:7960/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.110.121.96/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::1737:7960/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.103.90.82",
|
||||
|
|
@ -561,14 +251,22 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -577,133 +275,31 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.103.90.82", "fd7a:115c:a1e0::9e37:5a52"],
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "100.103.90.82/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.103.90.82/32", "fd7a:115c:a1e0::9e37:5a52/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.103.90.82/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::9e37:5a52/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68",
|
||||
|
|
@ -722,14 +318,22 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
|
|
@ -738,124 +342,23 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68", "fd7a:115c:a1e0::2d01:c747"],
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "tailscale.com/cap/drive",
|
||||
"Values": [
|
||||
{
|
||||
"shares": ["*"],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [],
|
||||
"Caps": [
|
||||
{
|
||||
"Dst": "100.90.199.68/32",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
},
|
||||
{
|
||||
"Dst": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Cap": "tailscale.com/cap/drive-sharer",
|
||||
"Values": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,23 +3,37 @@
|
|||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-K29",
|
||||
"timestamp": "2026-02-23T03:00:26Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k29.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -28,90 +42,77 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": []
|
||||
},
|
||||
"grants_section": [],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -120,364 +121,28 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — tag "tag:nonexistent" not found
|
||||
{
|
||||
"test_id": "GRANT-K30",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T03:00:42Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k30.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,26 +45,38 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["10.33.0.0/16"],
|
||||
"via": ["tag:router", "tag:nonexistent"],
|
||||
"ip": ["*"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router",
|
||||
"tag:nonexistent"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{ "src": ["*"], "dst": ["10.33.0.0/16"], "via": ["tag:router", "tag:nonexistent"], "ip": ["*"] }
|
||||
],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "tag \"tag:nonexistent\" not found" }
|
||||
"api_response_body": {
|
||||
"message": "tag \"tag:nonexistent\" not found"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — cannot use autogroup:danger-all as a dst
|
||||
{
|
||||
"test_id": "GRANT-K7",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T02:55:29Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k7.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,34 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:danger-all"],
|
||||
"ip": ["tcp:22"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["autogroup:danger-all"], "ip": ["tcp:22"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "cannot use autogroup:danger-all as a dst" }
|
||||
"api_response_body": {
|
||||
"message": "cannot use autogroup:danger-all as a dst"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — cannot use autogroup:danger-all as a dst
|
||||
{
|
||||
"test_id": "GRANT-K8",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T02:55:29Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k8.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,23 +45,34 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["autogroup:danger-all"],
|
||||
"dst": ["autogroup:danger-all"],
|
||||
"ip": ["*"]
|
||||
"src": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["autogroup:danger-all"], "dst": ["autogroup:danger-all"], "ip": ["*"] }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "cannot use autogroup:danger-all as a dst" }
|
||||
"api_response_body": {
|
||||
"message": "cannot use autogroup:danger-all as a dst"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,24 +5,38 @@
|
|||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-K9",
|
||||
"description": "",
|
||||
"timestamp": "2026-02-23T02:55:30Z",
|
||||
"error": true,
|
||||
"input": {
|
||||
"policy_file": "grant_policies/grant_k9.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -31,25 +45,36 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["*"],
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/ingress": [{}]
|
||||
"tailscale.com/cap/ingress": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [{ "src": ["*"], "dst": ["*"], "app": { "tailscale.com/cap/ingress": [{}] } }],
|
||||
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
|
||||
"api_method": "POST",
|
||||
"api_response_code": 400,
|
||||
"api_response_body": { "message": "capability name must not be in the tailscale.com domain" }
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-P01_3",
|
||||
"timestamp": "2026-02-23T00:43:29Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_p01_3.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,102 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["100.64.0.0/16"],
|
||||
"dst": ["*"],
|
||||
"ip": ["*"]
|
||||
"src": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["100.64.0.0/16"],
|
||||
"dst": ["*"],
|
||||
"ip": ["*"]
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -134,13 +135,11 @@
|
|||
},
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -151,77 +150,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -232,77 +168,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -313,77 +186,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -394,77 +204,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -475,77 +222,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"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": 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": 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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -556,77 +240,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -637,77 +258,14 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": 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": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
|
|
@ -718,68 +276,7 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"packet_filter_matches": [
|
||||
{
|
||||
"IPProto": [6, 17, 1, 58],
|
||||
"Srcs": ["100.64.0.0/16"],
|
||||
"SrcCaps": null,
|
||||
"Dsts": [
|
||||
{
|
||||
"Net": "0.0.0.0/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"Net": "::/0",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"Caps": []
|
||||
}
|
||||
],
|
||||
"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": 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,23 +5,37 @@
|
|||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-P01_5",
|
||||
"timestamp": "2026-02-23T00:44:03Z",
|
||||
"propagation_wait_seconds": 15,
|
||||
"input": {
|
||||
"policy_file": "/home/kradalby/acl-explore/grant_policies/grant_p01_5.json",
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@passkey"],
|
||||
"group:developers": ["kristoffer@dalby.cc", "kratail2tid@passkey"],
|
||||
"group:monitors": ["monitorpasskeykradalby@passkey"],
|
||||
"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"]
|
||||
"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",
|
||||
|
|
@ -30,102 +44,89 @@
|
|||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": ["tag:router"],
|
||||
"0.0.0.0/0": ["tag:exit"],
|
||||
"::/0": ["tag:exit"]
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["100.64.0.0/12"],
|
||||
"ip": ["*"]
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"100.64.0.0/12"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"grants_section": [
|
||||
{
|
||||
"src": ["*"],
|
||||
"dst": ["100.64.0.0/12"],
|
||||
"ip": ["*"]
|
||||
}
|
||||
],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"]
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"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"],
|
||||
"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"],
|
||||
"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"],
|
||||
"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"
|
||||
|
|
@ -134,364 +135,28 @@
|
|||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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-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": 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": 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": null
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": 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": 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
|
||||
}
|
||||
}
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue