Network Planning

This guide helps you plan your QuFabric deployment with the AES double VPN. It covers subnet design, security hub placement, and PSRD sizing.

IP Address Planning

Each peer in the network receives up to two IP addresses:

AddressRangeAllocated ByUsed For
WireGuard IP100.64.0.0/10 (CGNAT space)Management serverStandard WireGuard tunnel, infrastructure traffic
AES IPConfigurable subnetManagement serverAES double-encrypted tunnel

AES Subnet Sizing

Choose an AES subnet large enough for all peers that will participate in the double VPN. AES-exempt peers and security hubs don't need AES IPs, but all regular Linux peers do.

Network SizeSuggested AES SubnetAvailable Addresses
Small (< 50 peers)/24254
Medium (50–500 peers)/221,022
Large (500+ peers)/1665,534

Security Hub Placement

Minimum Configuration

You need at least 2 security hubs (the default shares_required is 2). With exactly 2 hubs, both must be available for every key operation — there is no redundancy.

For production deployments, deploy 3 or more hubs with shares_required=2. This gives you N-of-2 redundancy — any 2 of your N hubs can reconstruct secrets.

HubsShares RequiredTolerated Hub Failures
220 (no redundancy)
321
422
523

Placement Strategy

For maximum security and availability:

  • Geographic distribution: Place hubs in different data centers, regions, or cloud providers
  • Administrative separation: Have different teams manage different hubs where possible
  • Network independence: Ensure hubs don't share the same network path to prevent correlated failures
  • Stable connectivity: Hubs should have reliable, low-latency connections to the WireGuard mesh

Hub Resource Requirements

Security hubs are lightweight — they primarily store key shares and generate PSRD:

ResourceRequirement
CPUMinimal (key operations are lightweight)
Memory~100 MB
Storage~1 GB (PSRD pool + SDK database)
NetworkMust be reachable by all peers via WireGuard

PSRD Sizing

Consumption Rate

PSRD is consumed with every key rotation:

ParameterValue
Key rotation interval120 seconds per peer pair
PSRD per rotation~4 KiB (approximate)
Rotations per hour~30 per peer pair
PSRD per hour per peer pair~120 KiB

Calculating PSRD Needs

For a peer connected to N other AES-capable peers:

Daily PSRD consumption ≈ N × 120 KiB/hour × 24 hours ≈ N × 2.8 MiB/day

Examples:

Peers Connected ToDaily PSRD ConsumptionStandard 256 KiB PSRD File Lasts
1~2.8 MiB~2 hours
5~14 MiB~25 minutes
10~28 MiB~13 minutes
50~140 MiB~2.5 minutes

PSRD Provisioning Plan

For initial deployment:

  1. Generate PSRD files for each client on each hub (standard: 256 KiB per file)
  2. Transfer files securely to each client
  3. Ingest files on each client (one per hub)
  4. Monitor levels via qufabric dske status
  5. Rely on auto-refill for ongoing operations

DNS Planning

Domain Structure

ZonePurposeExample
Standard DNS domainWireGuard IP resolutionpeer.qufabric.cloud100.64.0.1
AES DNS domainAES IP resolutionpeer.aes.qufabric.cloud100.64.128.1

Applications should use the AES DNS domain to ensure traffic flows through the double-encrypted tunnel.

DNS Configuration

The AES DNS domain can be:

  • Automatic: Defaults to aes.<dns_domain>
  • Custom: Set via the management API or server flag

See AES DNS Configuration for details.

Access Control Planning

Policy Design

Design policies as if you have a single network — the dual-interface enforcement is handled automatically by each client:

  • AES-capable peers: User policies enforce on aes0, infrastructure lockdown on wg0
  • AES-exempt peers: All policies enforce on wg0 (standard behavior)
  • Security hubs: Reachable by all peers via auto-created policy

Security Hub Access

The management server automatically creates a "DSKE Security Hubs" group and bidirectional policy. Do not delete or modify this policy — it ensures all peers can reach the hubs for DSKE operations.

Deployment Checklist

  • Choose AES IP subnet and configure on management server
  • Deploy at least 2 security hub peers
  • Verify hub provisioners are generating PSRD files
  • Add DSKE clients on each hub for each client peer
  • Generate and securely distribute PSRD files
  • Ingest PSRD on each client (one file per hub)
  • Verify qufabric dske status shows 2+ hubs with PSRD
  • Verify sudo wg show aes0 shows active handshakes
  • Test connectivity via AES IPs or AES DNS names
  • Mark non-Linux peers as AES-exempt
  • Configure AES DNS domain (optional)
  • Set up PSRD level monitoring