Networking

The networking behind this architecture is designed to provide fully isolated tenant environments with public and private networks as well as dedicated compute and storage resources. The architecture is designed with high availability in mind through the deployment of a cluster for tenant workloads. There are some differences than what would be implemented in a production environment, mainly the implementation of a multiple clusters, one for backup, one for tenant workloads and another for the provider workloads.

The reference implementation utilizes inter-VLAN routing to provide isolated networking for each tenant. A Cisco router handles all routing between VLANs through a Router-on-a-stick configuration, with sub interfaces defined for each network segment. A Cisco switch trunks all VLANS to the router as well as the required VLANS to each Proxmox node. Within Proxmox, Software Defined Networking VLAN Zones have been utilized in Proxmox to provide a network a bridge for each tenants public and private network, allowing Virtual Machines and Containers to be attached to required networks easily.

Access Control to each tenants respective private network has been implemented through SDN Firewall Rules in Proxmox directly. Since the management network is not added as a SDN Network like tenant networks, ACL Rules to restrict access to the management network have been applied on the router.

To see the router and switch configuration for each tenant, please refer to - Router Configuration File and Switch Configuration File

Network Assignments

below is the assigned network and VLAN for each tenant / use case

Tenant / Use Network CIDR VLAN DHCP Range
hardware/infrastructure Management 10.0.0.0 /24 5 N/A
FMJ Systems Public 10.0.1.0 /24 10 .51 - .254
FMJ Systems Private 10.0.2.0 /24 20 .51 - .254
Shared Tenant Services 10.0.9.0 /24 90 .51 - .254
Tenant A - Public - Adatum 10.1.0.0 /24 100 .51 - .254
Tenant A - Private - Adatum 10.1.1.0 /24 101 .51 - .254
Tenant B - Public - Contoso 10.2.0.0 /24 200 .51 - .254
Tenant B - Private - Contoso 10.2.1.0 /24 201 .51 - .254
Tenant C - Public - Fabrikam 10.3.0.0 /24 300 .51 - .254
Tenant C - Private - Fabrikam 10.3.1.0 /24 301 .51 - .254
Simulated Internet 10.99.99.0 /24 99 .51 - .254

Note - for a full look at the addressing scheme for all networks, please refer to - Addressing Scheme

Topology

private cloud.drawio.png
For a better look at the topology, please refer to - private cloud.drawio.png

This topology diagram provides a comprehensive overview of the network topology, including the core networking equipment, Proxmox cluster nodes, resource pools, replication and HA failover overview

Due to the resource limitations for this capstone, I wasn't able to implement some things I was intending to, one of them is a cluster for FMJ Systems and their workloads as well as a backup cluster, I touch on this more in Limitations and Considerations

In a full production environment, the previously mentioned additions would be made as well as multiple locations to offer availability across regions and a proper web portal for clients to provision resources within agreed limitations in a self-service model. Off site backups could be hosted across multiple regions or encrypted and hosted in a public cloud.