tldr/pages/linux/nft.md

38 lines
1.1 KiB
Markdown
Raw Normal View History

2018-02-03 10:30:37 +00:00
# nft
> Allows configuration of tables, chains and rules provided by the Linux kernel firewall.
> Nftables replaces iptables.
2021-10-18 13:06:10 +01:00
> More information: <https://wiki.nftables.org/wiki-nftables/index.php/Main_Page>.
2018-02-03 10:30:37 +00:00
- 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}}`
2018-02-03 10:30:37 +00:00
- 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}}`