Campus Network-as-a-Service (CNaaS) is a project within SUNET with the goal of providing a fully managed service to manage LAN networks at university campuses.

Blog Posts


As part of this project a network management system called CNaaS-NMS is being developed to automate the management of the campus networks, the software is open source and can be used by anyone outside of SUNET as well.

Blog can be found here: Campus Networking Automation - Introduction

Source code available at Github



Dev / test environment setup

Lab Setup


Software Architecture (Google docs)

Code coverage status (

Demo video showing ZTP (

CNaas - NAC (Network Access Control)

In order to provide end users with an authentication mechanism CNaaS NAC was invented. It relies on freeradius ( for user authentication using 802.1X with MAB as fallback for clients not being able to use 802.1X.

Source code is available on GitHub:

Freeradius can either be integrated towards the existing user database (LDAP, Active Directory etc) or use Postgres to store credentials. CNaaS NAC provides both an API and a web interface to handle users if Postgres is chosen for storing credentials.

CNaaS NAC API reference.

CNaaS NAC Web interface


CNaaS NMS Installation
27.02.2020 11:59 CET Johan Marcusson
CNaaS Front Installation
25.02.2020 13:00 CET Johan Marcusson
CNaaS Auth POC server installation
24.02.2020 16:07 CET Johan Marcusson
Campus Network-as-a-Service (CNaaS)
03.02.2020 16:02 CET Johan Marcusson
03.02.2020 14:11 CET Johan Marcusson
CNaaS NMS Development Environment
17.01.2020 10:25 CET Johan Marcusson
Zero-touch provisioning of access switch
01.10.2019 10:12 CEST Johan Marcusson
26.06.2019 10:46 CEST Kristofer Hallin
NAC Web Interface Howto
28.05.2019 07:58 CEST Kristofer Hallin
  • No labels