Title: Synet Network Description
Author: 0en
β’Last Update: 30.04.25
To connect two agents via Synet IP addresses:
Component | Role |
---|---|
synet-root | Issues/verifies fixed IPs, manages delegated pools |
synet-gateway-1 | Accepts WireGuard connection, allocates IP, handles routing |
synet-gateway-2 | Same, other location or node |
synet-cli (or hardcoded config) | Used by agent to connect |
WireGuard | Tunnel protocol, active on both gateways and agents |
Deploy synet-root
fd00::/16
fd00::1000/64
for synet-gateway-1
Deploy synet-gateway-1
fd00::1000/64
synet-root
to sync delegationAgent A connects via CLI:
synet connect --gateway gateway1.synet.dev
Agent sends public key to /connect
Gateway assigns IP: fd00::1001
Gateway returns WireGuard config
Agent installs config and joins network
This is the key:
Each gateway also connects to the others using a "gateway overlay mesh."
They form peer-to-peer tunnels, exchanging their routing tables or using static routes.
WireGuard peer config between gateways:
gateway-1
sees fd00::2000/64
via gateway-2
gateway-2
sees fd00::1000/64
via gateway-1
Routing Table Updates:
Agent A gets fd00::1001
Agent B gets fd00::2001
They can now ping each other securely across VPNs.
To grow:
Maintain a global route map in synet-root
, listing:
Which gateway owns which subnet
Its public key + WireGuard endpoint
Gateways auto-peer by fetching that table
They validate each other via public keys
WireGuard mesh = bootstrapped automatically
(We'll need a synet-gateway-meshd
helper service for this.)
Only synet-root
can issue fixed/static IPs.
Gateways will reject invalid IP+signature combos.
Pool-based IPs canβt overlap β theyβre assigned via delegated block per gateway.
Agent A (on Gateway-1) sends packet to fd00::2001
Gateway-1 sees fd00::2000/64
belongs to Gateway-2
Packet routed over WireGuard tunnel β Gateway-2
Gateway-2 forwards to Agent B
Done β secure and peerless
Task | Status |
---|---|
Deploy synet-root |
β Core of authority |
Deploy at least 1 synet-gateway |
β Assign dynamic IPs |
Peer two gateways together | π Manual or scripted tunnel config |
Configure static routes between them | β Routing table |
Run agents with WireGuard config | β
Done by CLI or wg-quick |
Build helper: synet-gateway-meshd |
π Automate peer mesh setup |
Would you like me to sketch the YAML/IP layout of a real two-gateway network, so you can plug it into your infra or local dev box for testing?