14 dépôts
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 est une bibliothèque de test Docker et un framework de test d'intégration conçu pour gérer le cycle de vie de conteneurs éphémères. Il fournit des abstractions de haut niveau en tant que wrapper de l'API Docker pour provisionner une infrastructure éphémère, remplaçant les mocks par de vraies instances de base de données, de messagerie et de moteur de recherche pour garantir des environnements de test isolés et reproductibles. Le projet se distingue par un modèle de configuration de conteneur par builder et un mécanisme de liaison de port dynamique qui évite les collisions lors de l'exécution de tests concurrents. Il permet une communication service-à-service fiable via l'orchestration de réseau virtuel et l'aliasing réseau, et assure la disponibilité des services via des vérifications de disponibilité basées sur le polling pour les endpoints HTTP et les ports TCP. La bibliothèque fournit des modules spécialisés pour les bases de données relationnelles, NoSQL et vectorielles, ainsi que des courtiers de messagerie et des émulateurs de services cloud. Sa surface de capacité s'étend à la configuration d'images de conteneur, à la collecte de logs et à la simulation de conditions réseau pour vérifier la résilience du système. Elle prend en charge la connectivité aux runtimes Docker locaux et distants via des variables d'environnement et des fichiers de configuration standardisés.
Allows attaching existing containers to virtual networks to enable communication between disparate resources.
Pipework est une boîte à outils de mise en réseau définie par logiciel et un utilitaire de gestion conçu pour automatiser les configurations réseau pour les conteneurs Linux. Il fournit des outils pour gérer les adresses IP, créer des topologies réseau virtuelles et intégrer des conteneurs dans diverses architectures réseau. Le projet se distingue par un support spécialisé pour la configuration des périphériques InfiniBand IPoIB, incluant la gestion des clés de partition. Il propose également une intégration avec Open vSwitch pour l'automatisation des ponts et l'isolation VLAN, ainsi que la capacité de lier des conteneurs directement au matériel hôte physique via des sous-interfaces macvlan. Ses capacités plus larges couvrent une gestion réseau complète, incluant l'assignation IP statique et DHCP, la manipulation des règles de routage et la configuration de la passerelle par défaut. Il inclut également des utilitaires pour surveiller la disponibilité des interfaces et simuler des conditions réseau telles que la latence et la perte de paquets au sein des espaces de noms des conteneurs.
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.