あきネット

フリーソフトウェアやオープンソースをはじめ、コンピューターやインターネットに関するTIPSや話題を扱います

北のまちから南のまちへと素敵な何かを届けます。
それは、六花かもしれないし、ナナカマドの実かもしれないし、雪の下キャベツかもしれません。

Firewalld のバックエンドは、バージョン0.6.0から nftables

Red Hat 系のディストリビューションでも採用されている Firewalld ですが、
バージョン 0.6.0 以降はデフォルトのバックエンドが nftables に変更されています。


Release firewalld-0.6.0 · firewalld/firewalld · GitHub


nftables backend

This is the new default for all firewalld's abstractions. The direct interface still supports iptables, ip6tables, and ebtables. It is configurable via FirewallBackend in /etc/firewalld.conf - valid values are; nftables, iptables.



2018年7月6日にリリースされています。
0.6.0 以降のバージョンが入っているディストリビューションは現在のところ限られているでしょうけれども、今後増えてくると思われます。


以前のバージョンでは iptables / ip6tables / ebtables でしたが、
nftables をバックエンドにすると当然ながら、 iptables / ip6tables / ebtables のコマンドではフィルタリングの状態が判りません。そして、デフォルトでは nftables なので、意図的にデフォルトから変えないと、iptables などは使われません。


ウェブ上の情報もほとんどが、 iptables などがバックエンドだという前提で書かれているものですので、 nftables のほうにデフォルトが替わってからは、これらの情報は通用しなくなってきます。



$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

iptables -L だとカラですので、ファイアーウォールが利いていないのかと錯覚します。
しかし、


$ sudo nft list table inet firewalld
table inet firewalld {
chain raw_PREROUTING {
type filter hook prerouting priority -290; policy accept;
}

chain mangle_PREROUTING {
type filter hook prerouting priority -140; policy accept;
}

chain filter_IN_internal {
(以下略)


nft コマンドを使用すれば判るわけですが、
iptables に慣れていると、nft コマンドを直接操作するのは難解です。
やはり、 Firewalld のようにフロントエンドが多くの人には必要かと考えられますね。