64 Netzwerkbesonderheiten

Die Netzwerkarchitektur von Podman unterscheidet sich in mehreren Punkten deutlich von derjenigen klassischer Docker-Installationen – und in manchen Bereichen sogar fundamental. Das liegt nicht an Designexzentrik, sondern an einem bewussten Architekturprinzip: Podman ist daemonlos. Dadurch muss Networking nicht für einen zentralen Dienst abstrahiert werden, sondern kann sich direkter an den Linux-Kernel anlehnen. Statt „magischer“ Bridges und von der Engine manipulierten IPTables-Kaskaden baut Podman auf klaren, nachvollziehbaren Komponenten wie Netavark, Aardvark-DNS und systemnaher Namespace-Verwaltung auf.

Wer Podman produktionsnah nutzen möchte, sollte gerade diese Besonderheiten verstehen. Nicht, um Umgehungslösungen zu konstruieren, sondern um Podmans Netzwerkmodell bewusst auszunutzen – und typische Fallstricke zu vermeiden.

64.1 Netavark: das Herzstück der Container-Netzwerke

Netavark ist das Netzwerkbackend moderner Podman-Versionen. Im Gegensatz zu Docker, das standardmäßig mit einer Bridge arbeitet und IPTables-Regeln dynamisch einpflegt, verfolgt Netavark ein deterministischeres Konzept:

Netavark verzichtet bewusst auf Docker-typische Komfortabstraktionen und setzt stattdessen auf eine konzeptionell saubere Netzwerkstruktur, die sich hervorragend für Pods, Compose-Projekte und Single-Host-Setups eignet.

Ein einfaches Beispiel eines Podman-Netzwerks:

podman network create --subnet 10.5.0.0/24 mynet

Netavark erzeugt nun ein vollständiges, isoliertes Netzwerk mit eigener Bridge und deterministischem DNS-Setup.

64.2 Aardvark-DNS: eigenes DNS-System für Container

Während Docker DNS über den Daemon und die interne Bridge löst, setzt Podman auf einen dedizierten DNS-Server: Aardvark-DNS.

Eigenschaften:

Für Entwickler bedeutet das:

64.2.1 Typische Auflösung

Ein Container mit Name app im Netzwerk internal ist erreichbar unter:

app.internal

Innerhalb des Pods zusätzlich unter:

localhost

64.3 Besonderheit 1: Container in Pods teilen sich dieselbe IP

Das ist einer der wichtigsten Unterschiede zu Docker:

Das bedeutet:

Diese Semantik ist Kubernetes sehr ähnlich – mit einer klaren und sauberen Netzwerkabstraktion.

64.3.1 Visualisierung

Diese Struktur ist ideal für Sidecar-Architekturen, Debug-Container und Multi-Prozess-Systeme.

64.4 Besonderheit 2: Rootless Networking ist fundamental anders

Rootless Betrieb ist eine Schlüsselstärke von Podman – aber rootless Networking basiert nicht auf Kernel-Bridging. Der Grund ist einfach: Das Erstellen von Bridges, TUN/TAP-Geräten und Routed Interfaces erfordert CAP_NET_ADMIN.

Stattdessen setzt Podman Rootless auf:

64.4.1 slirp4netns

64.4.2 Einschränkungen

64.4.3 Praxismuster

Rootless ist ideal für:

Nicht ideal für:

64.5 Besonderheit 3: Host-Netzwerk unter Podman ≠ Hostnetz unter Docker

Docker erlaubt:

--network=host

Rootless Podman dagegen:

Rootful Podman verhält sich dagegen identisch zum Linux-Host.

64.6 Besonderheit 4: Port-Mapping ist Pod- statt Container-bezogen

Weil Pods eine IP besitzen, wird Port-Mapping immer auf den Pod angewendet.

Beispiel:

podman run -p 8080:80 app

Wenn app in einem Pod läuft, wird der Port an den Infrastrukturcontainer des Pods gemappt – nicht an den Applikationscontainer.

Konsequenzen:

64.7 Besonderheit 5: Netzwerke müssen explizit definiert werden

Docker erzeugt ständig implizite Netzwerke. Podman nicht.

Die Default-Bridge existiert zwar, aber:

Viele Probleme verschwinden, sobald man Netzwerke sauber modelliert:

podman network create backend
podman network create frontend

64.8 Besonderheit 6: Keine automatische IPAM-Magie

Podman nutzt ein einfaches, aber robustes IPAM-Modell:

Das vermeidet Automagie, zwingt aber zu klaren Entscheidungen.

64.9 Besonderheit 7: Firewall-Interaktionen sind transparent

Podman verwaltet iptables/nftables-Regeln explizit.

Typische Konsequenzen:

Beispiel, um Networking zu untersuchen:

sudo nft list ruleset

Für Administratoren ist das ein Vorteil: keine Blackbox, keine Dämon-Abhängigkeit.

64.10 Besonderheit 8: Multi-Netzwerk-Container funktionieren, aber bewusst

Container können mehreren Netzwerken angehören:

podman network connect backend app

Allerdings:

In komplexeren Architekturen können diese Details relevant werden.

64.11 Netzwerkbesonderheiten sind kein Fehler — sondern ein Feature

Podmans Netzwerkmodell ist transparenter, systemnäher und näher an Kubernetes als an Docker. Deshalb fühlt es sich beim ersten Kontakt teils „rauer“, aber auch ehrlicher an:

Für moderne Architekturen ist genau diese Klarheit ein Vorteil: Man versteht, was passiert – und kann dadurch bewusst gestalten, statt sich an Container-Zauberei abzuarbeiten.