Netzwerkprobleme sind die häufigsten und zugleich frustrierendsten Störungen in Container-Umgebungen. Sie äußern sich vage – „Service nicht erreichbar“, „Latenz ungewöhnlich hoch“, „Container kommunizieren nicht“ – und liegen oft an Schichten, die außerhalb der Anwendung existieren: Bridging, Routing, IPAM, DNS, Firewalling, NAT. Podman bietet durch seinen daemonlosen Charakter ein Netzwerkmodell, das unmittelbar auf Linux-Namespaces und CNI-Plugins basiert. Das macht das Debugging einerseits transparent, andererseits anspruchsvoll, da man direkt mit Kernelmechanismen arbeitet. Dieses Kapitel führt strukturiert durch die Diagnose von Netzwerkfehlern in Podman.
Jeder Container erhält einen eigenen Netzwerk-Namespace. Dort existieren eigene Interfaces, Routingtabellen und ein eigener DNS-Stack. Podman verwendet CNI (Container Network Interface) als Plugin-System, typischerweise:
bridgehost-local IPAMportmap (NAT)firewall (iptables/nftables-Integration)dnsname (optional für DNS der Container)Das Netzwerkmodell lässt sich so darstellen:

Wer das Modell versteht, weiß: Fehler können an jeder Stelle auftreten.
Der erste Schritt jeder Diagnose:
podman network ls
podman network inspect <network>
Inspect zeigt:
Ist ein Container nicht im erwarteten Netzwerk, entstehen sofort Reichweiten- oder Routingprobleme.
podman inspect <container> | jq '.NetworkSettings'
Hier stehen:
Fehler beginnen oft mit simplen Dingen wie „keine IP vergeben“ oder „Port nicht gemappt“.
Netzwerkprobleme lassen sich oft nur innerhalb des Namespace sichtbar machen.
nsenter --net=/proc/$(podman inspect -f '{{.State.Pid}}' <container>)/ns/net
Innerhalb des Namespace:
ip addr – Interfacesip route – Routingping <gateway> – Basiserreichbarkeitdig <hostname> – DNS-Checkss -tulpen – Ports prüfenDamit erhält man das präziseste Bild der tatsächlichen Netzwerkkonfiguration.
Meistens liegt es an:
Diagnose:
podman network inspect <network>
sudo iptables -L -n
sudo nft list ruleset
Pods und Container laufen zwar im eigenen Namespace, hängen aber letztlich an Linux-Firewallregeln.
Teilweise tritt das auf nach:
/etc/resolv.conf-Mechanismendnsname-PluginsDiagnose:
podman exec <ctr> cat /etc/resolv.conf
podman exec <ctr> dig google.com
Rootless-Podman verwendet nicht die Host-Resolver, sondern die slirp-Netzwerklösung, was oft überrascht.
Ein häufiger Klassiker: „Port 8080 ist gemappt, aber draußen nicht erreichbar.“
Mögliche Ursachen:
127.0.0.1-p SyntaxDiagnose:
ss -tulpen | grep 8080
podman port <ctr>
podman inspect <ctr> | jq '.NetworkSettings.Ports'
Wichtig: Container müssen auf 0.0.0.0 lauschen, nicht
lokalen Loopback.
Häufig:
Diagnose:
podman network inspect
podman exec <ctr> ping <andere-ip>
Teilweise ist die Lösung schlicht: beide Container ins gleiche Netzwerk setzen.
Hairpin NAT (Container ruft seine eigene externe IP auf) ist nicht immer aktiv.
Prüfen:
sysctl net.bridge.bridge-nf-call-iptables
und:
ip a | grep br-
bridge link
CNI-Plugins können NAT-Verhalten beeinflussen.
Rootless Podman nutzt nicht CNI, sondern:
slirp4netns (User-Space NAT)pasta (modernere Alternative, direktere
Paketroutung)In diesem Modus gelten andere Regeln:
Rootless Diagnose:
podman info | grep -i network
Podman erstellt Bridges in /etc/cni/net.d/.
Beispiele:
/etc/cni/net.d/podman-default.conflist
Inspect:
cat /etc/cni/net.d/*.conflist
Keypunkte:
subnet-Angabe?Routing-Tabellen des Hosts:
ip route
ip rule show
Überlappende Netzbereiche (Host-VPNs, Docker-Bridge, Podman-Bridge, k3s-/k8s-Podnetzwerke) führen oft zu Konflikten.
Podman unterliegt immer der Host-Firewall:
iptablesnftablesPrüfen:
sudo iptables -t nat -L -n --line-numbers
sudo nft list ruleset
Blockierende Regeln sind eine extrem häufige Ursache für Connectivity-Probleme.
Für tiefe Netzwerkdiagnose führt kein Weg an tcpdump
vorbei.
Hostseitig:
sudo tcpdump -i br0
im Container:
nsenter --net=/proc/<pid>/ns/net tcpdump -i eth0
So erkennt man:
TCPdump zeigt reale Paketflüsse, unabhängig von Logs oder Firewall-Interpretationen.
Podman-Pods teilen sich einen Netzwerk-Namespace.
Fehlerquellen:
Diagnose:
podman pod inspect <name>
podman pod logs <name>
oder netzwerkbezogen:
podman exec <ctr> ss -tulpen
Manchmal wirkt ein Netzwerkfehler wie ein Netzproblem, ist aber keiner:
Stats hilft Querverifikation:
podman stats
Wenn CPU oder RAM limitieren, zeigt sich das häufig zuerst in Netzwerksymptomen.
Network Debugging in Podman ist die Kunst, Kernelmechanismen, Namespaces, CNI-Plugins und Containerprozesse zusammenzudenken. Es ist kein mystisches Feld, sondern eine strukturierbare Diagnosepraxis – vorausgesetzt, man weiß, an welchen Schichten und mit welchen Werkzeugen man ansetzt.