rootless-containers / slirp4netns

User-mode networking for unprivileged network namespaces
GNU General Public License v2.0
715 stars 82 forks source link

slirp4netns startup issue for path-based configuration #307

Open Javahelpdesk opened 1 year ago

Javahelpdesk commented 1 year ago

Dear all,

Please note I tried the following slirp4n3tns command but fail to start slirp4netns --netns-type=path --userns-path=/tmp/userns /tmp/netns tap0

setns(CLONE_NEWNET): Invalid argument child failed(1)

Please kindly help

podman version 3.4.4

slirp4netns version 1.1.8 commit: unknown libslirp: 4.3.1-git SLIRP_CONFIG_VERSION_MAX: 3 libseccomp: 2.5.3

host: arch: amd64 buildahVersion: 1.23.1 cgroupControllers:

memory pids cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/libexec/podman/conmon' path: /usr/libexec/podman/conmon version: 'conmon version 2.1.2, commit: ' cpus: 1 distribution: codename: jammy distribution: ubuntu version: "22.04" eventLogger: journald hostname: daniel-VirtualBox idMappings: gidmap: container_id: 0 host_id: 1000 size: 1 container_id: 1 host_id: 100000 size: 65536 uidmap: container_id: 0 host_id: 1000 size: 1 container_id: 1 host_id: 100000 size: 65536 kernel: 5.15.0-57-generic linkmode: dynamic logDriver: journald memFree: 1793568768 memTotal: 4114894848 ociRuntime: name: crun package: 'crun: /usr/bin/crun' path: /usr/bin/crun version: |- crun version UNKNOWN commit: ea1fe3938eefa14eb707f1d22adff4db670645d6 spec: 1.0.0 +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL os: linux remoteSocket: exists: true path: /run/user/1000/podman/podman.sock security: apparmorEnabled: false capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT rootless: true seccompEnabled: true seccompProfilePath: /usr/share/containers/seccomp.json selinuxEnabled: false serviceIsRemote: false slirp4netns: executable: /usr/bin/slirp4netns package: 'slirp4netns: /usr/bin/slirp4netns' version: |- slirp4netns version 1.1.8 commit: unknown libslirp: 4.3.1-git SLIRP_CONFIG_VERSION_MAX: 3 libseccomp: 2.5.3 swapFree: 4087345152 swapTotal: 4087345152 uptime: 13m 13.54s plugins: log: k8s-file none journald network: bridge macvlan volume: local registries: {} store: configFile: /home/daniel/.config/containers/storage.conf containerStore: number: 3 paused: 0 running: 0 stopped: 3 graphDriverName: overlay graphOptions: {} graphRoot: /home/daniel/.local/share/containers/storage graphStatus: Backing Filesystem: extfs Native Overlay Diff: "true" Supports d_type: "true" Using metacopy: "false" imageStore: number: 40 runRoot: /run/user/1000/containers volumePath: /home/daniel/.local/share/containers/storage/volumes version: APIVersion: 3.4.4 Built: 0 BuiltTime: Thu Jan 1 08:00:00 1970 GitCommit: "" GoVersion: go1.17.3 OsArch: linux/amd64 Version: 3.4.4 Ubuntu 22.04

Steps to reproduce the issue Steps to reproduce the issue 1.slirp4netns --netns-type=path --userns-path=/tmp/userns /tmp/netns tap0 2. 3.

Describe the results you received setns(CLONE_NEWNET): Invalid argument child failed(1)

Describe the results you expected Start as normal

~$ slirp4netns --configure --mtu=65520 --disable-host-loopback $(cat /tmp/pid) tap0 sent tapfd=5 for tap0 received tapfd=5 Starting slirp

MTU: 65520 Network: 10.0.2.0 Netmask: 255.255.255.0 Gateway: 10.0.2.2 DNS: 10.0.2.3 Recommended IP: 10.0.2.100