kazeno memo

メモとか

Debian Busterでfirewall-cmd --reloadするとクラッシュする

Debian Busterのファイアウォールufwからfirewalldへ移行したのですが、firewall-cmd --reloadするとクラッシュしてしまいます。

journalctlを使ってログを眺めると、このようなエラーを吐いてました。

ERROR: COMMAND_FAILED: '/usr/sbin/ip6tables-restore -w -n' failed: ip6tables-restore v1.8.2 (nf_tables): 
line 4: RULE_REPLACE failed (No such file or directory): rule in chain INPUT

ERROR: 'python-nftables' failed: internal:0:0-0: Error: No such file or directory
internal:0:0-0: Error: No such file or directory

samjhandleyさんのこのIssueによると、iptables 1.8.2のバグなんだとか。

確認してみるとbusterのレポジトリにあるiptablesは1.8.2-4で、buster-backportsiptablesは1.8.5-3でした。

余談ですが、Debian Busterからnftablesがデフォルトとなりました。iptablesパッケージの中身もnftablesなので、nftablesパッケージをインストールする必要はありません。

buster-backportsレポジトリの追加

必要に応じてbackportsレポジトリを追加してください。

/etc/apt/sources.list.d/buster-backports.list

deb https://deb.debian.org/debian buster-backports main contrib non-free

iptables 1.8.5のインストール

backportsからパッケージ取得するには、aptに-t buster-backportsを指定します。

# apt update
# apt install -t buster-backports iptables
$ iptables --version
iptables v1.8.5 (nf_tables)

firewalldの再起動

# systemctl restart firewalld.service
# firewall-cmd --reload
# journalctl -xeu firewalld.service

firewalldは正常にリロードできるし、systemd serviceのログにもエラーは出ていません。