Sodamhan.com

TL;DR

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

This document was created using the contents of the tldr project.