14 repositorios
Creation of isolated TCP/IP stacks using kernel network namespaces.
Distinct from Network Virtualization Tools: Specifically implements a full isolated network stack via namespaces rather than general network virtualization tools
Explore 14 awesome GitHub repositories matching devops & infrastructure · Network Namespace Virtualization. Refine with filters or upvote what's useful.
dockerlabs is a collection of educational labs and technical tutorials designed to teach the fundamentals of containerization and microservice architecture. It provides instructional material and hands-on exercises covering image optimization, security training, infrastructure setup, and cluster orchestration. The project features specific courses and guides focused on reducing image size through multi-stage builds, securing workloads via vulnerability scanning and encrypted networks, and deploying multi-node clusters with high availability using Swarm orchestration. The materials cover a br
Covers attaching containers to specific network drivers to manage service communication and isolation.
Firejail is a Linux application sandbox and kernel security wrapper that isolates untrusted applications from the host system. It uses kernel namespaces and seccomp filters to restrict filesystem access, drop kernel capabilities, and limit the system attack surface. The project is distinguished by its use of predefined security profiles to automatically apply filesystem restrictions and syscall limits based on the executable being launched. It provides specialized isolation for portable packages such as AppImages and implements X11 display isolation via proxy servers to prevent keyboard loggi
Initializes a separate TCP/IP stack with its own routing table and firewall for traffic isolation.
Weave is a multi-host container networking tool that connects containers running on different physical machines into a single virtual network. It creates a software-defined overlay network spanning multiple hosts, enabling containers to communicate directly with each other as if they were on the same local switch. The system provides automatic service discovery, resolving container names to network addresses across hosts without manual configuration. Traffic between containers on different hosts is secured through encrypted tunnels, preventing eavesdropping and tampering. Weave also includes
Attaches containers to a virtual Ethernet bridge for direct L2 connectivity across hosts.
Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes — that boot directly from standard OCI container images. Each sandbox runs as its own host process with a separate kernel, filesystem, and network stack, providing process-per-sandbox isolation. The project includes a command-line tool and multi-language SDKs (Rust, TypeScript, Python, Go) for programmatic lifecycle control, and it communicates with sandbox agents over Unix sockets using a CBOR-encoded protocol. What distinguishes Microsandbox is its combination of host-manag
Deletes sandboxes and their persisted state, with optional force-stop before removal.
Attaches network interfaces into container network namespaces by executing plugins.
Mininet is a network emulator that creates virtual networks of hosts, switches, and links on a single Linux machine for Software-Defined Networking (SDN) prototyping and testing. It emulates network nodes as lightweight processes in isolated network namespaces, connecting them via virtual Ethernet pairs, and supports OpenFlow protocol for programmable control of virtual switches and traffic flows. The project enables users to design custom network topologies using a Python API, simulate link conditions such as bandwidth, delay, and packet loss, and run real Linux applications and kernel code
Emulates entire network nodes as lightweight processes in isolated namespaces, the core architecture of the emulator.
Bubblewrap is a Linux sandbox runner that creates lightweight, isolated execution environments for running untrusted applications. It combines Linux user, mount, network, PID, and UTS namespaces with seccomp-BPF system call filtering to restrict filesystem, network, process, and inter-process communication access. The project provides comprehensive process isolation by giving each sandbox its own private tmpfs root with selective bind-mounts, a separate network stack containing only a loopback interface, an independent process ID space, and remapped user and group identifiers. It applies secc
Gives the sandbox its own network namespace with only a loopback interface, blocking external access.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Removes network namespace entries such as veth pairs when a sandbox is removed.
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
Adds a virtual network interface to an instance or profile, connecting it to a managed or external network.
Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual machines through a single control plane. It brings together cluster infrastructure management, secure multi-tenancy, software-defined networking, and pluggable storage backend orchestration into one cohesive system exposed via a full REST API and command-line interface. What distinguishes Incus is its ability to run multiple instance types side by side—full Linux system containers, OCI application containers, and QEMU virtual machines—all managed with consistent tooling. Networkin
Connects an instance to a network using multiple attachment modes including bridging, MACVLAN, SR-IOV, OVN, physical pass-through, IPVLAN, point-to-point, and routed modes.
Testcontainers for .NET es una biblioteca de pruebas de Docker y un framework de pruebas de integración diseñado para gestionar el ciclo de vida de contenedores desechables. Proporciona abstracciones de alto nivel como un wrapper de la API de Docker para aprovisionar infraestructura efímera, reemplazando mocks con instancias reales de bases de datos, mensajería y motores de búsqueda para garantizar entornos de prueba aislados y reproducibles. El proyecto se distingue por un patrón de configuración de contenedor mediante constructor y un mecanismo de enlace de puertos dinámico que evita colisiones durante la ejecución concurrente de pruebas. Permite una comunicación servicio a servicio confiable a través de orquestación de red virtual y alias de red, y garantiza la disponibilidad del servicio mediante comprobaciones de preparación basadas en polling para endpoints HTTP y puertos TCP. La biblioteca proporciona módulos especializados para bases de datos relacionales, NoSQL y vectoriales, así como brokers de mensajería y emuladores de servicios en la nube. Su superficie de capacidades se extiende a la configuración de imágenes de contenedor, recolección de logs y la simulación de condiciones de red para verificar la resiliencia del sistema. Admite la conectividad a runtimes de Docker locales y remotos a través de variables de entorno y archivos de configuración estandarizados.
Allows attaching existing containers to virtual networks to enable communication between disparate resources.
Pipework es un kit de herramientas de redes definidas por software y una utilidad de gestión diseñada para automatizar configuraciones de red para Linux Containers. Proporciona herramientas para gestionar direcciones IP, crear topologías de red virtuales e integrar contenedores en diversas arquitecturas de red. El proyecto se distingue por su soporte especializado para la configuración de dispositivos InfiniBand IPoIB, incluyendo la gestión de claves de partición. También cuenta con integración con Open vSwitch para la automatización de puentes y aislamiento VLAN, así como la capacidad de vincular contenedores directamente al hardware físico del host mediante subinterfaces macvlan. Sus capacidades más amplias cubren una gestión de red integral, incluyendo asignación de IP estática y DHCP, manipulación de reglas de enrutamiento y configuración de puerta de enlace predeterminada. También incluye utilidades para monitorear la disponibilidad de interfaces y simular condiciones de red como latencia y pérdida de paquetes dentro de los espacios de nombres de los contenedores.
Executes network configuration commands directly within isolated Linux network namespaces to ensure container traffic separation.
The project provides an open container runtime specification and standardized schema for defining container configurations, namespaces, resource limits, security policies, and filesystem mounts across platforms. It outlines the formal configuration formats, lifecycle operations, and execution environments necessary for portable, isolated container workloads. The specification covers container lifecycle management protocols and structured rules governing container creation, execution startup, process signaling, state tracking, and resource teardown. It standardizes local bundle packaging and
Transfers physical or virtual network devices into container network namespaces for connectivity.
RootlessKit is a tool for running container workloads and isolated process trees securely as a standard non-privileged user without holding root access on the host. It creates unprivileged user and mount namespaces to simulate fake root execution environments, allowing users to execute container workloads and manage resource groups safely. The project provides capabilities for rootless port forwarding and unprivileged network namespace isolation, routing container network traffic through user-mode packet translation without requiring privileged kernel setup. It includes multiple backend netwo
Creates isolated TCP/IP stacks using kernel network namespaces.