私の知る限り、カーネル機能nftables
はUbuntu 14.04に付属のカーネルに存在します。次の2つのコマンドで証明されています:
# grep -E '(NF_TABLES|NFT_)' /boot/config-$(uname -r)
CONFIG_NF_TABLES=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
CONFIG_NFT_RBTREE=m
CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_NAT=m
CONFIG_NFT_COMPAT=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
# lsmod |grep nf
nf_conntrack_ipv4 15012 1
nf_defrag_ipv4 12758 1 nf_conntrack_ipv4
nf_nat_ipv4 13263 1 iptable_nat
nf_nat 21798 3 ipt_MASQUERADE,nf_nat_ipv4,iptable_nat
nf_conntrack 96976 5 ipt_MASQUERADE,nf_nat,nf_nat_ipv4,iptable_nat,nf_conntrack_ipv4
ただし、apt-file search nftables
は結果を生成せず、apt-cache search nftables
も生成しません。
では、nftables
の新しいフロントエンド、つまりカーネルモジュールに一致するnftables
プログラムはどこで入手できますか?
私もnftables
を探していますが、14.04には3.13カーネルがあり、3.13カーネルはNftablesをマージする最初のバージョンです。マージとは動作することを意味するのではなく、コードがある程度良好であり、他の問題を引き起こすことなくマージできることを意味します。
iptables
は、14.04およびその他のディストリビューションで、nftables
が安定したリリースを取得するまで(カーネルと再びマージされた0.3を超える)まだあります。これは、nftユーザー空間ユーティリティがまだ存在しないという事実により、nftableの待機が少し長くなります。
それを念頭に置いて、待ちたくない場合は、Nftables
をステップバイステップでインストールすることができます。これには、Linuxカーネルのgitクローンを作成し、他の変数を設定して、Nftables
を最後まで処理できるようにします。この情報は regit.org にあります。
これとは別に、ここに 機能要求 があります
apt-get install nftables
root@forevernow ~ # cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
2018年の最初から、nftableフレームワークは実稼働環境で使用できます。既存のiptables機能の3/4をサポートしますが、iptablesにはない新しい機能を提供します。
フレームワークには3.13以上のカーネルが必要ですが、4.10以上の新しいカーネルを実行することをお勧めします。後
apt install nftables
注:iptables
と同時にnftables
を実行しないでください。
iptables
構成からnftables
構成に変換するツールがあります。 https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables
コマンドnft -a list ruleset
を発行して開始し、そこからビルドを開始します。デフォルトでは、ルールセットのリストは空になりません。