Legacy xtables tools
This page offers information on the status of the legacy xtables tools.
All the xtables/setsockopt based tools are all now considered legacy. New, modern tools exist based on the nf_tables kernel backend. This was decided in the annual Netfilter Workshop held in 2018 in Berlin (link to a summary).
This is a list of affected binaries:
These tools are now installed with a '-legacy' string in the name:
The new tools contains now the '-nft' string in the name (formerly it was '-compat'):
- xtables-nft-multi (this binary runs all the tools by means of symlinks)
- arptables-nft-save (new binary, not a direct equivalent in arptables-legacy)
- arptables-nft-restore (new binary, not a direct equivalent in arptables-legacy)
- ebtables-nft-save (new binary, not a direct equivalent in ebtables-legacy)
- ebtables-nft-restore (new binary, not a direct equivalent in ebtables-legacy)
How to know which tools I'm running
In arptables-legacy, the string (legacy) has been included in the help output. Example:
user@machine:~$ sudo arptables --help arptables v0.0.4 (legacy) Usage: arptables -[AD] chain rule-specification [options] arptables -[RI] chain rulenum rule-specification [options] arptables -D chain rulenum [options] arptables -[LFZ] [chain] [options] [...]
In arptables-nft, the version is the same as in iptables, included in the help output. Example:
user@machine:~$ sudo arptables --help arptables v1.8.2 Usage: arptables -[AD] chain rule-specification [options] [...]
Something similar happens with ebtables-legacy:
user@machine:~$ sudo ebtables --help ebtables v22.214.171.124 (legacy) (December 2011) Usage: ebtables -[ADI] chain rule-specification [options] [...]
And with ebtables-nft:
user@machine:~$ sudo ebtables --help ebtables 1.8.2 Usage: ebtables -[ADI] chain rule-specification [options] [...]
In Linux distributions
Your Linux distribution/vendor must inform you in which capacity they are including legacy/nft tools.
We recommend that, for a while, distros keep building and distributing both the legacy tools and the new nft-based as have been happening until now. Since the name of the binaries has change, distros may need to provide a mechanism for users to freely switch back and forth from the legacy and the new tools.
In Debian-based distros, for example, this is done by means of the update-alternatives mechanism.
Where to find each tool
Please refer to your Linux distribution on vendor for specific details. You should probably be using a packaged version of these tools.
The source code repositories are:
- (new tools) http://git.netfilter.org/iptables/ (same repo of the old legacy tools, it includes new arptables and ebtables)
- (iptables-legacy) http://git.netfilter.org/iptables/ (same repo of the new, nf_tables-based, tools)
- (arptables-legacy) http://git.netfilter.org/ebtables/
- (ebtables-legacy) http://git.netfilter.org/arptables/