You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: architecture/podman-rootless-networking.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ For rootful bridge networking:
35
35
6. Netavark configures iptables/nftables rules -- masquerade for outbound, DNAT for port mappings
36
36
7. Netavark starts aardvark-dns if DNS is enabled, listening on the bridge gateway address
37
37
38
-
```text
38
+
```
39
39
Host Kernel
40
40
|
41
41
+-- Bridge interface (e.g., "podman0") <-- created by Netavark
@@ -60,7 +60,7 @@ Unprivileged users cannot create network interfaces on the host. They cannot cre
60
60
61
61
Pasta (part of the `passt` project -- same binary, different command name) operates entirely in userspace, translating between the container's L2 TAP interface and the host's L4 sockets. It requires no capabilities or privileges.
62
62
63
-
```text
63
+
```
64
64
Container Network Namespace
65
65
|
66
66
+-- TAP device (e.g., "eth0")
@@ -131,7 +131,7 @@ Unlike bridge networking, pasta containers are isolated from each other by defau
131
131
132
132
The Podman compute driver creates three layers of network isolation:
133
133
134
-
```text
134
+
```
135
135
Namespace 1: Host
136
136
|
137
137
pasta manages port forwarding (127.0.0.1:<ephemeral>)
This creates a bridge network named `"openshell"` (default from `DEFAULT_NETWORK_NAME` in `openshell-core/src/config.rs`) with `dns_enabled: true`. In rootless mode, this bridge exists inside a user namespace managed by pasta. The bridge IP range (e.g., `10.89.x.x`) is not routable from the host.
166
166
167
-
```text
167
+
```
168
168
Host (your machine)
169
169
|
170
170
127.0.0.1:<ephemeral> <--- pasta binds this on the host
@@ -212,7 +212,7 @@ The bridge gateway IP does NOT work for this purpose in rootless mode because it
212
212
213
213
Inside the container, the supervisor creates another network namespace (`netns.rs:53-178`, setup at lines 53-63, `ip netns add` at line 77) for the user workload:
214
214
215
-
```text
215
+
```
216
216
Container (10.89.1.2 on the Podman bridge)
217
217
|
218
218
[Supervisor process - runs in container's default netns]
@@ -247,7 +247,7 @@ A tmpfs is mounted at `/run/netns` in the container spec (`container.rs:458-463`
0 commit comments