Deployment Topologies¶
WireKube adapts to various network topologies automatically. Each pattern below lists the expected path mode for every node pair.
Topology 1: All Private (Cloud NAT)¶
All nodes are in private subnets behind NAT gateways.
flowchart TB
subgraph VPC1["VPC A (Private)"]
N1[node-1]
N2[node-2]
NAT1[NAT GW]
end
subgraph VPC2["VPC B (Private)"]
N3[node-3]
NAT2[NAT GW]
end
subgraph Relay["Relay Server (TCP 3478)"]
R[Relay]
end
VPC1 --> Relay
VPC2 --> Relay
| Path | Mode | Why |
|---|---|---|
| node-1 ↔ node-2 (same VPC) | Direct | Same subnet, no NAT between them |
| node-1 ↔ node-3 (cross VPC) | Relay | Both behind Symmetric NAT |
| node-2 ↔ node-3 (cross VPC) | Relay | Both behind Symmetric NAT |
Relay is essential. Without it, cross-VPC communication is impossible when both sides are behind Symmetric NAT.
Topology 2: Mixed (Private + Public)¶
Some nodes have public IPs, others are behind NAT.
flowchart LR
subgraph VPC1["VPC A"]
N1[node-1 private]
N2[node-2 public IP]
NAT1[NAT GW]
end
subgraph VPC2["VPC B (Private)"]
N3[node-3 private]
NAT2[NAT GW]
end
| Path | Mode | Why |
|---|---|---|
| node-1 ↔ node-2 (same VPC) | Direct | Same subnet |
| node-2 ↔ node-3 (cross VPC) | Direct | node-2 has public IP; node-3 can reach it |
| node-1 ↔ node-3 (cross VPC) | Relay | Both behind Symmetric NAT |
Public IP nodes act as anchor points. Any peer can reach them directly via their public endpoint. This reduces relay dependency.
Topology 3: Multi-Cloud¶
Nodes span multiple cloud providers, all behind Symmetric NAT.
flowchart LR
VPC-A[Cloud A<br/>Symmetric NAT] -.->|relay| R[Relay]
R -.->|relay| VPC-B[Cloud B<br/>Symmetric NAT]
OnPrem[On-Premises<br/>Cone NAT] <-->|direct P2P| VPC-A
OnPrem <-->|direct P2P| VPC-B
| Path | Mode | Why |
|---|---|---|
| Cloud A ↔ Cloud B | Relay | Both behind Symmetric NAT |
| On-Prem (Cone) ↔ Cloud A (Symmetric) | Direct P2P | Symmetric side initiates to Cone's stable endpoint |
| On-Prem (Cone) ↔ Cloud B (Symmetric) | Direct P2P | Same mechanism |
| On-Prem ↔ On-Prem (Cone ↔ Cone) | Direct P2P | Both Cone NAT, STUN endpoints stable |
WireKube works identically across clouds. The relay server can be deployed anywhere with TCP reachability from all nodes.
Topology 4: Home Lab + Cloud¶
Mix of home network nodes and cloud nodes.
flowchart LR
subgraph Home["Home Lab (Cone NAT)"]
N1[node-1]
end
subgraph Cloud["Cloud VPC (Symmetric NAT)"]
N2[node-2 private]
N3[node-3 public IP]
end
N1 <-->|direct P2P| N2
N1 <-->|direct P2P| N3
| Path | Mode | Why |
|---|---|---|
| Home (Cone) ↔ Cloud (Symmetric NAT) | Direct P2P | Symmetric initiates to Cone's stable STUN endpoint |
| Home (Cone) ↔ Cloud (public IP) | Direct P2P | Public IP always reachable |
| Home ↔ Home (same LAN) | Direct | Same network |
| Cloud (Symmetric) ↔ Cloud (Symmetric, different VPC) | Relay | Both behind Symmetric NAT |
Home routers typically use Cone NAT (Endpoint-Independent Mapping). Cone ↔ Symmetric pairs often achieve direct P2P, while Symmetric ↔ Symmetric and restrictive firewall or filtering combinations commonly remain on relay.
Topology 5: Air-Gapped with Outbound TCP¶
Nodes behind a strict firewall with only outbound TCP allowed.
flowchart LR
subgraph Secure["Secure Zone"]
N1[node-1]
N2[node-2]
FW[Firewall: TCP out only]
end
subgraph DMZ["Relay (DMZ)"]
R[Relay]
end
Secure <-->|TCP 3478| DMZ
WireKube's TCP relay works through firewalls that allow outbound TCP. Agents initiate outbound TCP connections to the relay, so no inbound ports need to be opened on the node's firewall.
Choosing the Right Topology¶
graph TD
A[All nodes have<br/>public IPs?] -->|Yes| B[No relay needed<br/>mode: never]
A -->|No| C[Any nodes behind<br/>Symmetric NAT?]
C -->|No| D[Direct path likely<br/>mode: auto can promote direct]
C -->|Yes| E[Deploy relay<br/>mode: auto]
E --> F{Where to deploy relay?}
F -->|Public server| G[External relay]
F -->|In-cluster DNS reachable| H[Managed relay<br/>control Service]
F -->|HTTP-aware LB / Ingress| I[WSS relay]