nft
Allows configuration of tables, chains and rules provided by the Linux kernel firewall. Nftables replaces iptables. More information: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page.
- View current configuration:
sudo nft list ruleset
- Add a new table with family "inet" and table "filter":
sudo nft add table {{inet}} {{filter}}
- Add a new chain to accept all inbound traffic:
sudo nft add chain {{inet}} {{filter}} {{input}} \{ type {{filter}} hook {{input}} priority {{0}} \; policy {{accept}} \}
- Add a new rule to accept several TCP ports:
sudo nft add rule {{inet}} {{filter}} {{input}} {{tcp}} {{dport \{ telnet, ssh, http, https \} accept}}
- Add a NAT rule to translate all traffic from the
192.168.0.0/24
subnet to the host's public IP:
sudo nft add rule {{nat}} {{postrouting}} ip saddr {{192.168.0.0/24}} {{masquerade}}
- Show rule handles:
sudo nft --handle --numeric list chain {{family}} {{table}} {{chain}}
- Delete a rule:
sudo nft delete rule {{inet}} {{filter}} {{input}} handle {{3}}
- Save current configuration:
sudo nft list ruleset > {{/etc/nftables.conf}}