In the past, I showed how to add a firewall rule in Debian
9. For Debian 10, these instructions
still work but installing the firewalld
package is a bit more involved.
Why
There is a bug in iptables
(which is how firewalld applies rules) that causes
it to crash on start up. Thanks to this GitHub
Issue, I
was able to track this down to the specific version of iptables
that ships
with Debian 10 (1.8.2
). The good news is 1.8.3
fixes this issue, and that’s
available in the backports!
Fixing The Issue
Debian Backports are packages that have been updated to newer versions since the release of Debian. This gets into some of the packaging policies for Debian, which I won’t dive into. This is a tradeoff many distributions make, run slightly older software for the advantage of thorough testing and compatibility.
In this case, we’ll use backports to install version 1.8.3
of iptables
.
To enable backports, create a new file, /etc/apt/sources.list.d/backports.list
and add this single line:
deb http://deb.debian.org/debian buster-backports main
Then run sudo apt update
on your system.
To install the updated iptables
version, run:
sudo apt install iptables/buster-backports
This will upgrade a few other packages, but this is all OK. Once completed,
restart firewalld
again to fix its startup issue:
sudo systemctl restart firewalld.service
That’s it! To check if firewalld
is running, you can use firewall-cmd --state
. It should return running
.