How Container Networking Works: Building a Bridge Network From Scratch
Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.

Tutorials, challenges, courses, skill paths, playgrounds, and more — search the whole library in one place.
Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.

Learn how servers actually work by building a tiny TCP server and client from scratch. A hands-on introduction to sockets, TCP, and the network programming model every backend, DevOps, and platform engineer should go through at least once.

SSH port forwarding explained in a clean and visual way. How to use local and remote port forwarding. What sshd settings may need to be adjusted. How to memorize the right flags.

On a dual-homed Linux server, a service bound to one network's IP address may still be reachable from another network. Learn how to prevent this unexpected access without disrupting legitimate connections.
On a dual-homed Linux server, a service bound to the IP address of one interface may still accept connections that arrive through the other interface. Learn how to reach such a service through an interface it doesn't listen on, using a routing trick.
Learn how to access a service bound to localhost of the Docker host from a bridge-networked container, without exposing the service to the local network or disabling network isolation.
Learn how to access services running on the Docker host from a bridge-networked container, without hardcoding host IP addresses or disabling network isolation.
A heavily illustrated introduction to the first two layers of Computer Networking: Ethernet and IP. A must for any developer or DevOps engineer who wants to build solid understanding of computer networking before they move to the higher-level protocols like TCP, UDP, and even HTTP.

Learn how to reach an internal port on a remote machine from the local system, jump through a bastion into a private VPC, expose a development server to the Internet through a reverse tunnel, publish a home network device, and spin up a full-fledged SOCKS proxy with nothing but a regular SSH connection.
Do you want to troubleshoot container and Kubernetes networking issues like a true expert? This is a highly practical learning path that will take you from the basics of container networking like creating a network namespace, to more complex topics like configuring a bridge network and using iptables to set up network address translation (NAT) and port forwarding.
Five Ubuntu VMs across public and private subnets, joined by a dual-homed router. The private subnet has no direct Internet access.