slirp4netns

slirp4netns provides user-mode networking ("slirp") for unprivileged
network namespaces.

Starting with Linux 3.8, unprivileged users can create
network_namespaces(7) along with user_namespaces(7). However,
unprivileged network namespaces had not been very useful, because
creating veth(4) pairs across the host and network namespaces still
requires the root privileges. (i.e. No internet connection)

slirp4netns allows connecting a network namespace to the Internet in
a completely unprivileged way, by connecting a TAP device in a network
namespace to the usermode TCP/IP stack ("slirp").