Filosofi: Podman is daemonless β gak ada Docker daemon yang nanganin networking buat lu. UFW + Podman butuh route allow manual. Kalau cuma ufw enable, container lu gak bisa akses internet dan dari luar gak bisa masuk.
ufw enable langsung tanpa routing rule β container gak bisa akses internet. Forward policy default adalah DROP.
Step-by-step:
# 1. Aktifkan UFW + default deny incomingufw default deny incomingufw default allow outgoing# 2. Izinkan SSH dulu (sebelum enable!)ufw allow ssh# 3. Enable UFWufw enable# 4. β οΈ Krusial: izinkan forward dari eth0 ke podman bridgeufw route allow in on eth0 out on podman0 to any port 80 proto tcpufw route allow in on eth0 out on podman0 to any port 443 proto tcpufw route allow in on eth0 out on podman0 to any port 5432 proto tcp# dst β satu rule per container port yang perlu diakses dari luar# 5. Pastikan IP forwarding ONsysctl net.ipv4.ip_forward=1# Persisten: echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/99-podman.conf
Thought 1 (Cognitive): "Podman is daemonless. Gak ada dockerd yg manage iptables automatically."
Thought 2 (Analytical): "Ada 4 network mode. Bridge default, host buat perf, macvlan buat LAN, none buat isolasi."
Thought 3 (Systems): "Traffic: client β eth0 β ufw INPUT β FORWARD (kena DROP) β podman0 β container."
"Break at FORWARD = no internet for containers."
Thought 4 (Critical): "UFW default forward policy = DROP. Ini yg bikin container mati setelah ufw enable."
Thought 5 (Concrete): "Fix: ufw route allow in on eth0 out on podman0 to any port X proto tcp."
Thought 6 (Analytical): "Rootless vs rootful: rootless pake slirp4netns, route allow gak works."
Thought 7 (Systems): "Cascade: UFW enable β SSH lupa diallow β lockout. Solusi: console/VNC."