2 nftablesフレームワークの使用

この章では、iptablesおよびip6tablesnftablesフレームワークに変換する方法について説明します。

nftablesフレームワークは、Oracle Linuxのデフォルトのネットワーク・パケット・フィルタリング・フレームワークであり、iptablesフレームワークを置き換えます。nftablesフレームワークには、パケット分類機能、追加の利便性が含まれており、以前のリリースで使用されていたiptablesフレームワークよりもパフォーマンスが向上しています。nftablesフレームワークは、Oracle Linux 8で初めて導入されました。この変更の詳細は、Oracle Linux 8: リリース・ノートfor Oracle Linux 8を参照してください。

iptablesからnftablesへの変換

システムのiptablesバージョンを問い合せると、Oracle Linux 8では、nftablesがパケット・フィルタリング・フレームワークとして使用されていることが明確に示されます。

sudo iptables --version
iptables v1.8.2 (nf_tables)

それ以外の場合、出力は次のようになります。

sudo iptables --version
iptables version (legacy)

ユーティリティを使用すると、iptablesおよびip6tablesのフィルタ・ルールをnftablesフレームワークの対応するルールに変換できます。次のいずれかの方法から選択します。

  • 変換する表のタイプに応じて、iptables-translateまたはip6tables-translateコマンドを使用します。ルールで認識されていない拡張子のためにルールを変換できない場合、コマンドは、#記号が前に付いた未変換ルールを出力します。

    sudo iptables-translate -A INPUT -j CHECKSUM --checksum-fill
    nft #  -A INPUT -j CHECKSUM --checksum-fill
  • ルールをダンプ・ファイルに保存してから、iptables-restore-translateまたはip6tables-restore-translateコマンドを、変換する表のタイプに応じて使用します。

    sudo iptables-save > /tmp/iptables.dump
    sudo iptables-restore-translate -f /tmp/iptables.dump
    translated-rules