1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # # Execute a subprocess in a network namespace set -e readonly NETNS="ns-$(mktemp -u XXXXXX)" setup() { ip netns add "${NETNS}" ip -netns "${NETNS}" link set lo up } cleanup() { ip netns del "${NETNS}" } trap cleanup EXIT setup ip netns exec "${NETNS}" "$@" exit "$?"