A declarative manager for Linux network namespaces.
  • Rust 93.3%
  • Nix 6.7%
Find a file
2025-11-01 17:10:02 +01:00
.forgejo/workflows basic netns management 2025-10-30 18:16:28 +01:00
nix fix nix package 2025-11-01 16:54:11 +01:00
src up and down commands 2025-11-01 16:50:25 +01:00
.envrc basic netns management 2025-10-30 18:16:28 +01:00
.gitignore basic netns management 2025-10-30 18:16:28 +01:00
Cargo.lock track which namespaces we control 2025-11-01 16:42:34 +01:00
Cargo.toml track which namespaces we control 2025-11-01 16:42:34 +01:00
flake.lock don't remove namespaces on daemon exit 2025-11-01 15:58:33 +01:00
flake.nix up and down commands 2025-11-01 16:50:25 +01:00
README.md more readme 2025-11-01 17:10:02 +01:00

netnsd

A declarative manager for Linux network namespaces.

Features

  • Fully declarative configuration
  • Hot reloading of configuration
  • Port forwarding into the namespace

Usage

Daemon

netnsd daemon [--config <config.toml>]

Start the netnsd daemon, applying the configured namespace configuration and running any proxies.

You can tell the daemon to reload the configuration with pkill -sighup netnsd.

Note that, to minimize interruption of anything using the namespaces, stopping the daemon will not remove the created namespaces.

Up

netnsd up [--config <config.toml>]

Applying the configured namespace and exit.

Down

netnsd down

Remove all namespaces created by netnsd and exit.