Categories

Category cover

Automation
155 posts

Category cover

Learning paths
119 posts

Category cover

CISO
22 posts

Category cover

Security
20 posts

Category cover

Notes
19 posts

Category cover

Personal Security
18 posts

Category cover

Infrastructure
12 posts

Category cover

OT/ICS
5 posts

Category cover

Books
3 posts

Category cover

UNetLab
3 posts

Category cover

Write-up
3 posts

Category cover

OSInt
2 posts

Category cover

My life
1 posts

UNetLab v2: addressing limitations

Andrea Dainese
July 22, 2024
Post cover

In recent years, my focus has shifted towards network automation. I still need a unified network emulator platform, but the prerequisites have evolved. Before diving into the new requirements, let’s highlight the limitations of UNetLab:

  • Per Host Pod Limit: Each host can run up to 256 independent pods due to the console port limit.
  • Per Lab Node Limit: Each pod/lab can run up to 127 nodes due to the console port limit.
  • Per User Pod Limit: Each user can run only one pod/lab at a time due to the console port limit.
  • Single Host: No support for distributed installations of UNetLab (OVS can be used, but many frame types are filtered by default).
  • Config Management: Using expect scripts for getting and putting startup-configs is slow, non-predictive, and cannot cover all node types.
  • No Support for Dynamips Serial Interfaces.
  • No Topology Changes: Topology changes are not allowed while the lab is running, by design.

The console port limit exists because each node console has a fixed port calculated as follows:

ts_port = 32768 + 128 * tenant_id + device_id

Additionally, no more than 512 IOL nodes can run in the same lab because the device_id must be unique for each tenant.

UNetLab v2 must address these issues and meet new requirements:

  • Run a distributed lab (across local or geographically distributed nodes).
  • Support an unlimited number of nodes in a lab.
  • Allow each user to customize a lab without affecting the original copy.
  • Link serial interfaces between IOL and Dynamips.
  • Configure nodes via Ansible/NAPALM/other tools.

Continue reading the post on Patreon .