Skip to content

Nweke-cloud/linux-vpc-implementation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual Private Cloud (VPC) Implementation on Linux

Building AWS VPC functionality from scratch using Linux networking primitives.

Features

  • ✅ Create isolated VPCs with custom CIDR blocks
  • ✅ Multiple subnets (public and private) per VPC
  • ✅ NAT gateway for internet access
  • ✅ VPC-level isolation
  • ✅ Security groups (firewall rules)
  • ✅ Complete lifecycle management

Requirements

  • Linux system (tested on Ubuntu/WSL2)
  • Root/sudo access
  • Python 3.x
  • iproute2, iptables, bridge-utils

Quick Start

# Create a VPC
sudo ./vpcctl create-vpc myvpc 10.0.0.0/16

# Add public subnet (with NAT)
sudo ./vpcctl add-subnet myvpc web 10.0.1.0/24 --type public

# Add private subnet (no internet)
sudo ./vpcctl add-subnet myvpc db 10.0.2.0/24 --type private

# List VPCs
sudo ./vpcctl list

# Delete VPC
sudo ./vpcctl delete-vpc myvpc

Architecture

VPC (10.0.0.0/16)
├── Bridge (br-myvpc) - 10.0.0.1/16
│   ├── Public Subnet (10.0.1.0/24) → NAT → Internet
│   └── Private Subnet (10.0.2.0/24) → Isolated

Testing

Run the complete test suite:

sudo ./quick-test.sh

Cleanup

sudo ./cleanup.sh

Author

Nweke Henry Chukwudi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors