Search code examples
debianpodman

Error when trying to get Podman container running on Debian11 -> Error: /usr/bin/slirp4netns failed: "open(\"/dev/net/tun\"): Permission denied


maybe someone can help me getting this work. I'm trying to get a podman container up and running on Debian 11.

podman run hello-world

But even when I try to run a simple container like "hello-world", it throws the following error message.

ERRO[0001] Error preparing container 99c7bce612f4a441497627eecf54e4e2f837d0a291011f200da2f4e433f8b661: /usr/bin/slirp4netns failed: "open(\"/dev/net/tun\"): Permission denied\nWARNING: Support for seccomp is experimental\nchild failed(1)\nWARNING: Support for seccomp is experimental\n" 
Error: error resolving storage path for container 99c7bce612f4a441497627eecf54e4e2f837d0a291011f200da2f4e433f8b661: lstat /home/pod/.local/share/containers/storage/overlay/66399d4ae95a12daac74b51828df30cfb5a543a2b49a9aad70bf03ebe3e200a3/merged: invalid argument

I already file a bug for this, but maybe someone has some advices or workaround to get this working. Here all the maybe needed information to help resolving this issue:

Output of podman version:

Version:      3.4.2
API Version:  3.4.2
Go Version:   go1.15.15
Built:        Thu Jan  1 01:00:00 1970
OS/Arch:      linux/amd64

Output of podman info --debug:

host:
  arch: amd64
  buildahVersion: 1.23.1
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
  conmon:
    package: 'conmon: /usr/libexec/podman/conmon'
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.1.2, commit: '
  cpus: 4
  distribution:
    codename: bullseye
    distribution: debian
    version: "11"
  eventLogger: journald
  hostname: h2977318.stratoserver.net
  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: 4.19.0
  linkmode: dynamic
  logDriver: journald
  memFree: 8006328320
  memTotal: 8589934592
  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:
    path: /run/user/1000/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_AUDIT_WRITE,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_MKNOD,CAP_NET_BIND_SERVICE,CAP_NET_RAW,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.1
  swapFree: 0
  swapTotal: 0
  uptime: 23h 34m 25.33s (Approximately 0.96 days)
plugins:
  log:
  - k8s-file
  - none
  - journald
  network:
  - bridge
  - macvlan
  volume:
  - local
registries:
  search:
  - docker.io
  - quay.io
store:
  configFile: /home/dennis/.config/containers/storage.conf
  containerStore:
    number: 14
    paused: 0
    running: 0
    stopped: 14
  graphDriverName: overlay
  graphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: 'fuse-overlayfs: /usr/bin/fuse-overlayfs'
      Version: |-
        fusermount3 version: 3.10.3
        fuse-overlayfs: version 1.5
        FUSE library version 3.10.3
        using FUSE kernel interface version 7.31
  graphRoot: /home/dennis/.local/share/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 2
  runRoot: /run/user/1000/containers
  volumePath: /home/dennis/.local/share/containers/storage/volumes
version:
  APIVersion: 3.4.2
  Built: 0
  BuiltTime: Thu Jan  1 01:00:00 1970
  GitCommit: ""
  GoVersion: go1.15.15
  OsArch: linux/amd64
  Version: 3.4.2

Package info (e.g. output of rpm -q podman or apt list podman):

Auflistung… Fertig
podman/unbekannt,now 100:3.4.2-4 amd64 [Konfiguration-verbleibend]
podman/unbekannt 100:3.4.2-4 arm64
podman/unbekannt 100:3.4.2-4 armhf
podman/unbekannt 100:3.4.2-4 i386
podman/unbekannt 100:3.4.2-4 ppc64el
podman/unbekannt 100:3.4.2-4 s390x

Output of sudo ls -al /dev/net/tun:

[sudo] Passwort für dennis: 
crw-rw-rw- 1 root root 10, 200 21. Jun 18:59 /dev/net/tun

also tun module is loaded Output of sudo lsmod |grep tun: ->

tun                     4242  -2
vznetstat               4242  -2 tun,ip_vznetstat,ip6_vznetstat

Thank you so much for your support in advance and please let me know, if you need further informations.


Solution

  • oh it is working now. I had to install the new version of podman -> podman-4.1.1, then I have to installed fuse-overlayfs. And after that I needed to create /dev/fuse again with:

    sudo mknod /dev/fuse -m 0666 c 10 229

    Thank you so much for your support and effort.