Main Page: Difference between revisions
No edit summary |
(initial page) |
||
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. | |||
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. | |||
== Getting started == | 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'''. | ||
* [https:// | |||
= Introduction = | |||
* [[What is nftables?]] | |||
* [[Why nftables?]] | |||
* [[Main differences with iptables]] | |||
* [[Netfilter hooks]] and integration with existing Netfilter components. | |||
= Getting started = | |||
* [[Building and installing nftables from sources]] | |||
* Using [[nftables from distributions]] | |||
* [[Troubleshooting|Troubleshooting and FAQ]] | |||
* [[Quick reference-nftables in 10 minutes|Quick reference, nftables in 10 minutes]] | |||
= Basic operation = | |||
* [[Configuring tables]] | |||
* [[Configuring chains]] | |||
* [[Simple rule management]] | |||
* [[Atomic rule replacement]] | |||
* [[Error reporting from the command line]] | |||
* [[Building rules through expressions]] | |||
* [[Operations at ruleset level]] | |||
* [[Monitoring ruleset updates]] | |||
* [[Scripting]] | |||
* [[Ruleset debug/tracing]] | |||
= Supported selectors for packet matching = | |||
* [[Matching packet header fields]] | |||
* [[Matching packet metainformation]] | |||
* [[Matching connection tracking stateful metainformation]] | |||
* [[Rate limiting matchings]] | |||
= Possible actions on packets = | |||
* [[Accepting and dropping packets]] | |||
* [[Jumping to chain]] | |||
* [[Rejecting traffic]] | |||
* [[Logging traffic]] | |||
* [[Performing Network Address Translation (NAT)]] | |||
* [[Setting packet metainformation]] | |||
* [[Queueing to userspace]] | |||
* [[Duplicating packets]] | |||
* [[Mangle packet header fields]] | |||
* [[Counters]] | |||
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: | |||
* [[Sets]] | |||
* [[Dictionaries]] | |||
* [[Intervals]] | |||
* [[Maps]] | |||
* [[Concatenations]] | |||
* [[Flow tables]] | |||
If you are already using [[ipset]] in your ''iptables'' rule-set, that transition may be a bit more simple to you. | |||
= Examples = | |||
* [[Simple ruleset for a workstation]] | |||
* [[Bridge filtering]] | |||
* [[Multiple NATs using nftables maps]] | |||
= Development progress = | |||
* [[List of updates since Linux kernel 3.13]] | |||
* [[Supported features compared to xtables|Supported features compared to {ip,ip6,eb,arp}tables]] | |||
* [[List of available translations via iptables-translate tool]] | |||
= Videos = | |||
* Watch [https://www.youtube.com/watch?v=FXTRRwXi3b4 Getting a grasp of nftables], thanks to [http://www.nluug.nl NLUUG association] for recording this. | |||
= Thanks = | |||
To the NLnet foundation for initial sponsorship of this HOWTO: | |||
[https://nlnet.nl https://nlnet.nl/image/logo.gif] |
Revision as of 18:27, 13 July 2016
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 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>.
Note that this documentation is still under development, so consider this work in progress.
Introduction
- What is nftables?
- Why nftables?
- Main differences with iptables
- Netfilter hooks and integration with existing Netfilter components.
Getting started
- Building and installing nftables from sources
- Using nftables from distributions
- Troubleshooting and FAQ
- Quick reference, nftables in 10 minutes
Basic operation
- Configuring tables
- Configuring chains
- Simple rule management
- Atomic rule replacement
- Error reporting from the command line
- Building rules through expressions
- Operations at ruleset level
- Monitoring ruleset updates
- Scripting
- Ruleset debug/tracing
Supported selectors for packet matching
- Matching packet header fields
- Matching packet metainformation
- Matching connection tracking stateful metainformation
- Rate limiting matchings
Possible actions on packets
- Accepting and dropping packets
- Jumping to chain
- Rejecting traffic
- Logging traffic
- Performing Network Address Translation (NAT)
- Setting packet metainformation
- Queueing to userspace
- Duplicating packets
- Mangle packet header fields
- Counters
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
- List of updates since Linux kernel 3.13
- Supported features compared to {ip,ip6,eb,arp}tables
- List of available translations via iptables-translate tool
Videos
- Watch Getting a grasp of nftables, thanks to NLUUG association for recording this.
Thanks
To the NLnet foundation for initial sponsorship of this HOWTO: