RHEL9.2 nftablesサービスを有効化する方法

環境
$cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)

概要
nftables フレームワークはパケットを分類し、iptables、ip6tables、arptables、ebtables、および ipset ユーティリティーの後継です。利便性、機能、パフォーマンスにおいて、
以前のパケットフィルタリングツールに多くの改良が追加されました。

操作方法
1.RHEL 9 では、nftables は Firewalld のデフォルトのバックエンドとして使用されています。

$grep nftables /etc/firewalld/firewalld.conf
#       - nftables (default)
FirewallBackend=nftables

2.nftables を使用する場合は、firewalld サービスは無効化します。
また、システムの再起動時にフィルタリングのルールセットを復元できるように、nftables のサービスを有効化しておきます。
firewalld サービスを無効にします

$systemctl disable --now firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

3.nftablesを有効にします

$systemctl enable --now nftables
Created symlink /etc/systemd/system/multi-user.target.wants/nftables.service → /usr/lib/systemd/system/nftables.service.

4.サービスのステータスを確認します

$systemctl cat nftables.service
# /usr/lib/systemd/system/nftables.service
[Unit]
Description=Netfilter Tables
Documentation=man:nft(8)
Wants=network-pre.target
Before=network-pre.target

[Service]
Type=oneshot
ProtectSystem=full
ProtectHome=true
ExecStart=/sbin/nft -f /etc/sysconfig/nftables.conf
ExecReload=/sbin/nft 'flush ruleset; include "/etc/sysconfig/nftables.conf";'
ExecStop=/sbin/nft flush ruleset
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

5.設定ファイルを確認します

$cat /etc/sysconfig/nftables.conf
# Uncomment the include statement here to load the default config sample
# in /etc/nftables for nftables service.

#include "/etc/nftables/main.nft"

# To customize, either edit the samples in /etc/nftables, append further
# commands to the end of this file or overwrite it after first service
# start by calling: 'nft list ruleset >/etc/sysconfig/nftables.conf'.

 

RHEL9

Posted by arkgame