A professional, enterprise-grade framework designed to standardize, automate, and orchestrate IPsec tunnel configurations across heterogeneous operating systems (Windows, Linux, and macOS).
graph TD
subgraph "External Control"
Admin[System Admin] --> Swagger[Swagger UI / API Docs]
end
subgraph "Cloud Infrastructure (Render/Docker)"
Swagger --> Orchestrator[FastAPI Orchestrator]
Orchestrator --> DB[(PostgreSQL)]
end
subgraph "Local Endpoints"
AgentWin[Windows Agent] -- "Polls Policy (REST)" --> Orchestrator
AgentLin[Linux Agent] -- "Polls Policy (REST)" --> Orchestrator
AgentWin --> DriverWin[Windows Driver]
DriverWin --> WFP[Windows Filtering Platform]
AgentLin --> DriverLin[strongSwan Driver]
DriverLin --> IPsec[Linux IPsec Stack]
end
style Orchestrator fill:#f9f,stroke:#333,stroke-width:2px
style DB fill:#66f,stroke:#333,stroke-width:2px
style Swagger fill:#dfd,stroke:#333,stroke-width:2px
- Core Orchestrator: FastAPI backend with Swagger docs.
- Persistence: PostgreSQL integration for cloud deployment.
- Containerization: Full Docker support for the Orchestrator.
- Platform Drivers: Native support for Windows (PowerShell) and Linux (strongSwan).
- macOS Support: Upcoming integration.
Deploy the Central Orchestrator to Render in minutes using the provided Blueprint:
- Guide: Render Deployment Guide
- Interactive Docs: Access
/docson your deployed URL to manage policies via Swagger UI.
To startEstablishing tunnels on your local machines:
- Windows: Windows Agent Setup
- Linux: Linux Agent Setup
- Orchestrator: Python 3.10+, FastAPI, SQLAlchemy, PostgreSQL.
- Agent: Lightweight Python residents with OS-native drivers.
- Infrastructure: Docker, Render Blueprints.
- Security: IKEv2 (IKEv2 Focused), AES-GCM, SHA-2.
├── agent/ # Device Agent logic
├── orchestrator/ # Central Orchestrator service
├── .dockerignore # Optimized Docker build context
├── Dockerfile # Container definition for Orchestrator
├── render.yaml # Render infrastructure-as-code
└── README.md # Overview and status
Contributions are welcome! Please follow the standard fork/PR workflow.
Distributed under the MIT License. See LICENSE for details.