Skip to content

MCPE-PC/devcontainer-npp-eric-keller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usable development container for Network Principles in Practice: Linux Networking by Eric Keller.

Notes

  • I advise that you can skip the sudo modprobe ip_vs command in most computers when doing the ipvs practice. Actually, the modprobe command does not come installed in the dev container.
  • I tried using Edgeshark. It could not capture the packets inside the private topology of containerlab. It seemed that Edgeshark could not detect the network interface.
  • It will take some time to build the container when you open the dev container for the first time.
  • Please submit an issue if you have any difficulties.

Setup

Clone

With GitHub CLI

gh repo clone MCPE-PC/devcontainer-npp-eric-keller -- --recurse-submodules

Or, using Git

git clone --recurse-submodules https://github.com/MCPE-PC/devcontainer-npp-eric-keller.git
# git clone --recurse-submodules git@github.com:MCPE-PC/devcontainer-npp-eric-keller.git

Or, if you have cloned without --recurse-submodules

git submodule update --init --recursive

Requirements

  • Please install Docker Engine on your computer.
  • Please follow this instruction if you are using Visual Studio Code.
  • If you are on a Mac computer with Apple silicon, the Docker image ekellercu/network-testing will require Rosetta 2 installed. Please use
softwareupdate --install-rosetta
  • Eric Keller recommends installing Wireshark on your computer to open the .pcap files.

Module 4-specific commands

Prepend node1 and node2 before your command to execute it in the corresponding node.

node1 ./clear-fw.sh

Tip

The working directory will be the root of the Module 4 directory.

If you prefer, node1sh and node2sh will start the login shell of the node.

❯ node1sh
root@node1:/lab-module-04#

Important

When you run these commands for the first time, there will be a delay due to deploying the Module 4 containerlab topology.

After finishing Module 4, run nodesdestroy to destroy the Module 4 containerlab topology and go ahead.

nodesdestroy

Note

You can also use the nodesdeploy command to manually deploy the Module 4 containerlab topology.

Visual Studio Code

You need to install the Dev Containers extension. It will automatically show up as recommended if it is not already installed.

To start the lab environment, open the folder in Visual Studio Code and run Dev Containers: Reopen in Container in the command palette(⇧⌘P). You can also use the prompt message or the other commands.

The dev container configuration file contains hand-picked settings and extensions, including containerlab and Kubernetes Tools.

You can open an integrated terminal(⌃⇧`) and do the lab.

License

Each of the files and the submodules has a different license. Please refer to the source code, README.md, or LICENSE file in the directories.

This README.md is licensed under CC BY 4.0.

© 2025 Jaehyeon Park

The University of Colorado Boulder and Eric Keller are not associated with this project.

About

Dev Container for Network Principles in Practice: Linux Networking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages