I use nftables to set my firewall rules. I typically manually configure the rules myself. Recently, I just happened to dump the ruleset, and, much to my surprise, my config was gone, and it was replaced with an enourmous amount of extremely cryptic firewall rules. After a quick examination of the rules, I found that it was Docker that had modified them. And after some brief research, I found a number of open issues, just like this one, of people complaining about this behaviour. I think it’s an enourmous security risk to have Docker silently do this by default.
I have heard that Podman doesn’t suffer from this issue, as it is daemonless. If that is true, I will certainly be switching from Docker to Podman.
If you use firewalld, both docker and podman apply rules in a special zone separate from your main one.
That being said, podman is great. Podman in rootful mode, along with podman-docker and docker-compose, is basically a drop-in replacement for Docker.
I’m a podman user, but what’s the point of using podman if you are going to use a daemon and run it as root? I like podman so I can specifically avoid those things.
I am using it as a migration tool tbh. I am trying to get to rootless, but some of the stuff I host just don’t work well in rootless yet, so I use rootful for those containers. Meanwhile, I am using rootless for dev purposes or when testing out new services that I am unsure about.
Podman also has good integration into Cockpit, which is nice for monitoring purposes.
You can somehow change that behavior: Prevent docker from manipulating iptables
Docker will set the default behavior of FORWARD chain to DROP, and then this make the home network of my friend off from the internet completely…
https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-on-a-router
Wow, thanks for the heads up.
Looks like it affects dockerd, but not docker desktop.
Any idea of the docker implementation in Proxmox or TrueNAS? (TrueNAS does containers if I remember right?)
Correct me if I’m wrong, but I don’t think Proxmox uses Docker. I’m pretty sure its containers are LXC containers.
Correct
Oh, yea, you’re right. Thanks
So better put Docker in a VM so it can’t do any harm to the host?
Lol.
It is enough to put it into its own network namespace.