Difference between revisions of "Main Page"

From nftables wiki
Jump to navigation Jump to search
(→‎Introduction: add link to legacy xtables tools new page)
(26 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Welcome to the ''nftables'' HOWTO documentation page. Here you will find documentation on how to build, install, configure and use nftables.
Welcome to the ''nftables'' HOWTO documentation page. Here you will find documentation on how to build, install, configure and use nftables.
This documentation was initially started by Eric Leblond, known as the [https://home.regit.org/netfilter-en/nftables-quick-howto/ nftables quick HOWTO], and it has been extended and enhanced by Pablo Neira Ayuso.


If you have any suggestion to improve it, please send your comments to Netfilter users mailing list <netfilter@vger.kernel.org>.
If you have any suggestion to improve it, please send your comments to Netfilter users mailing list <netfilter@vger.kernel.org>.
Note that this documentation is still under development, so '''consider this work in progress'''.


= Introduction =
= Introduction =
Line 13: Line 9:
* [[Main differences with iptables]]
* [[Main differences with iptables]]
* [[Netfilter hooks]] and integration with existing Netfilter components.
* [[Netfilter hooks]] and integration with existing Netfilter components.
* [[Adoption]]
* [[Legacy xtables tools]]


= Getting started =
= Getting started =
Line 20: Line 18:
* [[Troubleshooting|Troubleshooting and FAQ]]
* [[Troubleshooting|Troubleshooting and FAQ]]
* [[Quick reference-nftables in 10 minutes|Quick reference, nftables in 10 minutes]]
* [[Quick reference-nftables in 10 minutes|Quick reference, nftables in 10 minutes]]
* [[nftables families|Understanding nftables families]]


= Basic operation =
= Basic operation =
Line 34: Line 33:
* [[Ruleset debug/tracing]]
* [[Ruleset debug/tracing]]
* [[Moving from iptables to nftables]]
* [[Moving from iptables to nftables]]
* [[Moving from ipset to nftables]]


= Supported selectors for packet matching =
= Supported selectors for packet matching =
Line 54: Line 54:
* [[Duplicating packets]]
* [[Duplicating packets]]
* [[Mangle packet header fields]]
* [[Mangle packet header fields]]
* [[Mangle TCP options]]
* [[Counters]]
* [[Counters]]
* [[Load balancing]]
* [[Load balancing]]
* [[Setting packet connection tracking metainformation]]


Note that, unlike ''iptables'', you can perform several actions in one single rule.
Note that, unlike ''iptables'', you can perform several actions in one single rule.
Line 68: Line 70:
* [[Maps]]
* [[Maps]]
* [[Concatenations]]
* [[Concatenations]]
* [[Flow tables]]
* [[Meters|Metering]] (formerly known as flow tables before nftables 0.8.1 release)
* [[Updating sets from the packet path]]
* [[Updating sets from the packet path]]
* [[Element timeouts]]
* [[Element timeouts]]
* [[Math operations]]
* [[Math operations]]
* [[Stateful objects]]


If you are already using [[ipset]] in your ''iptables'' rule-set, that transition may be a bit more simple to you.
If you are already using [[ipset]] in your ''iptables'' rule-set, that transition may be a bit more simple to you.
Line 81: Line 84:
* [[Multiple NATs using nftables maps]]
* [[Multiple NATs using nftables maps]]
* [[Classic perimetral firewall example]]
* [[Classic perimetral firewall example]]
* [[Stateful objects usage]]
* [[Port knocking example]]


= Development progress =
= Development progress =
Line 89: Line 92:
* [[List of available translations via iptables-translate tool]]
* [[List of available translations via iptables-translate tool]]


= Videos =
= External links =
 
Watch some videos:


* Watch [https://www.youtube.com/watch?v=FXTRRwXi3b4 Getting a grasp of nftables], thanks to [https://www.nluug.nl/index-en.html NLUUG association] for recording this.
* Watch [https://www.youtube.com/watch?v=FXTRRwXi3b4 Getting a grasp of nftables], thanks to [https://www.nluug.nl/index-en.html NLUUG association] for recording this.
* Watch [https://www.youtube.com/watch?v=CaYp0d2wiuU#t=1m47s The ultimate packet classifier for GNU/Linux], thanks to the FSFE for paying my trip to Barcelona and for recommending me as speaker to the KDE Spanish branch.
* [https://www.youtube.com/watch?v=Sy0JDX451ns Florian Westphal - Why nftables?]
* Watch [https://www.youtube.com/watch?v=qXVOA2MKA1s Netdev 2.1 - Netfilter workshop]
* Watch [https://www.youtube.com/watch?v=0wQfSfDVN94 NLUUG - Goodbye iptables, Hello nftables]
* Watch [https://www.youtube.com/watch?v=Uf5ULkEWPL0 LCA2018 - nftables from a user perspective]
Additional documentations and articles:
* Tutorial [https://zasdfgbnm.github.io/2017/09/07/Extending-nftables/ Extending nftables by Xiang Gao]
* Article [http://ral-arturo.org/2017/05/05/debian-stretch-stable-nftables.html New in Debian stable Stretch: nftables]


= Thanks =
= Thanks =
Line 98: Line 113:


[https://nlnet.nl https://nlnet.nl/image/logo.gif]
[https://nlnet.nl https://nlnet.nl/image/logo.gif]
To Eric Leblond, for boostrapping the [https://home.regit.org/netfilter-en/nftables-quick-howto/ Nftables quick howto] in 2013.

Revision as of 14:45, 20 June 2018

Welcome to the nftables HOWTO documentation page. Here you will find documentation on how to build, install, configure and use nftables.

If you have any suggestion to improve it, please send your comments to Netfilter users mailing list <netfilter@vger.kernel.org>.

Introduction

Getting started

Basic operation

Supported selectors for packet matching

Possible actions on packets

Note that, unlike iptables, you can perform several actions in one single rule.

Advanced data structures for performance packet classification

You will have to redesign your rule-set to benefit from these new nice features:

If you are already using ipset in your iptables rule-set, that transition may be a bit more simple to you.

Examples

Development progress

External links

Watch some videos:

Additional documentations and articles:

Thanks

To the NLnet foundation for initial sponsorship of this HOWTO:

logo.gif

To Eric Leblond, for boostrapping the Nftables quick howto in 2013.