gnu-gnu/network-fundamentals-lab — explained in plain English
Analysis updated 2026-05-18
Work through a lesson to see how ARP and Layer 2 addressing actually behave when a network breaks.
Use the curriculum's core track to onboard new engineers into networking fundamentals.
Practice diagnosing NAT and conntrack failures using tcpdump and traceroute in a safe sandbox.
Run the labs on an EC2 instance to give a group of trainees their own isolated environment.
| gnu-gnu/network-fundamentals-lab | 21lochan/3dmark-pro-benchmark-core | 42web-kenya/arcgis-pro-resource-kit | |
|---|---|---|---|
| Stars | 54 | 54 | 54 |
| Language | HTML | HTML | HTML |
| Setup difficulty | moderate | hard | hard |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Needs containerlab and Docker, macOS requires the clab.sh wrapper since containerlab can't manage host networking directly there.
This project is a hands-on series of network troubleshooting labs meant to teach the core ideas behind TCP/IP by breaking things on purpose, watching what fails, and then fixing it. Rather than covering cloud-specific features, it focuses on fundamentals that apply anywhere, things like AWS or Kubernetes only show up as real-world examples of the same underlying concepts. Each lesson follows the same structure: it explains one concept, sets up a minimal network topology, starts in a broken state, has you observe the failure using tools like tcpdump, traceroute, and ip, explains why it broke, shows a one-line fix, and closes with a general lesson you can carry to other situations. Every lesson lives in its own folder containing the topology file, a README with the steps, a fix script, and a WALKTHROUGH.md file that records a full worked example. The recommended approach is to try the README on your own first, then compare your work against the walkthrough afterward, since jumping straight to the answer skips the diagnostic practice. There is also a browser-based viewer for reading through every walkthrough page by page with copyable commands. The labs run on containerlab, using the netshoot container image for common networking tools, with FRR added for the lessons on dynamic routing. On Linux with containerlab installed, you deploy a lesson directly. On macOS, where containerlab cannot manage networking the same way, a wrapper script called clab.sh runs containerlab inside a container on top of Docker Desktop instead. The project also documents running the labs on an EC2 instance for onboarding multiple new engineers at once, each on their own instance to avoid network conflicts. The curriculum builds up in layers, starting with basics like IP and subnet notation, then moving through Layer 2 topics like ARP and broadcast domains, VLANs, Layer 3 routing and longest prefix match, TTL and routing loops, VXLAN overlays, TCP handshake failure types, connection tracking and NAT, MTU and fragmentation, DNS, ICMP blocking, NAT hairpinning, and dynamic routing protocols like OSPF and BGP. A core track of about ten lessons is meant as required onboarding, with the rest marked as deeper, optional material. Two self-diagnostic checkpoints test whether you can identify a cause from symptoms alone, without the README to guide you.
A hands-on lab series that teaches TCP/IP fundamentals by deliberately breaking network setups with containerlab, then having you observe, diagnose, and fix each failure yourself.
Mainly HTML. The stack also includes containerlab, Docker, FRR.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.