An nameless commenter requested this extremely related query about my Web routing safety lab:
What are the smallest {hardware} necessities to run the lab.
TL&DR: 2 GB RAM, 2 vCPU
Now for the extra exact reply (aka “it relies upon”).
The lab has 9 routers. Every system wants between 256KB (Mikrotik) and 8GB (Cisco IOS XR) in the event you run them as digital machines. Add 2 GB for the host working system and the virtualization atmosphere, and we’re rapidly moving into the 8GB – 16 GB ballpark. Additionally, it is best to count on each community system to make use of a minimum of half a CPU core.
Luckily there’s one other manner: Linux containers. As a substitute of a full-blown digital machine, each community system will get one other copy of the Linux TCP/IP stack and turns into only a set of remoted processes working on prime of a shared Linux kernel. There are 4 easy-to-get network-device-as-container implementations supported by netlab: Arista EOS, Cumulus Linux, FRR, and Nokia SR-Linux.
I ran the BGP lab with all 4 of them and received the next printouts from the free command after the lab was began and configured. The related column is the used column the place it is best to subtract 1GB (the idle system reminiscence utilization) to get the reminiscence consumed by the lab containers.
Idle system (no lab is working)
$ free -h
whole used free shared buff/cache accessible
Mem: 62Gi 1.0Gi 16Gi 19Mi 44Gi 60Gi
Swap: 8.0Gi 0B 8.0Gi
Arista cEOS
$ free -h
whole used free shared buff/cache accessible
Mem: 62Gi 11Gi 4.8Gi 961Mi 45Gi 48Gi
Swap: 8.0Gi 0B 8.0Gi
Cumulus Linux 4.x container (unofficial picture by Michael Kashin)
free -h
whole used free shared buff/cache accessible
Mem: 62Gi 2.6Gi 11Gi 468Mi 47Gi 58Gi
Swap: 8.0Gi 0B 8.0Gi
FRR containers
$ free -h
whole used free shared buff/cache accessible
Mem: 62Gi 1.2Gi 16Gi 20Mi 44Gi 59Gi
Swap: 8.0Gi 0B 8.0Gi
Nokia SR Linux
$ free -h
whole used free shared buff/cache accessible
Mem: 62Gi 12Gi 2.0Gi 29Mi 47Gi 48Gi
Swap: 8.0Gi 0B 8.0Gi
As you’ll be able to see, you’ll be able to select between two light-weight implementations (Cumulus and FRR) and two heavy hitters (Arista cEOS and Nokia SR Linux). For sure, Arista and Nokia have significantly better configuration capabilities and assist extra options than Cumulus or FRR, however that doesn’t matter in the event you’re serious about BGP routing and a few easy ingress/egress filters.
It will be an fascinating train to attempt to run community system containers and containerlab on Home windows or MacOS laptop computer, however you don’t must: create a Ubuntu VM with 2GB or 4GB of RAM and some digital CPU cores, set up netlab and containerlab on it, and also you’re good to go.