Legacy xtables tools: Difference between revisions
(→Naming: mention arptables and ebtables save/restore) |
(→Naming: remove /sbin prefix) |
||
Line 8: | Line 8: | ||
This is a list of affected binaries: | This is a list of affected binaries: | ||
* | * iptables | ||
* | * iptables-restore | ||
* | * iptables-save | ||
* | * ip6tables | ||
* | * ip6tables-restore | ||
* | * ip6tables-save | ||
* | * arptables | ||
* | * ebtables | ||
These tools are now installed with a '-legacy' string in the name: | These tools are now installed with a '-legacy' string in the name: | ||
* | * iptables-legacy | ||
* | * iptables-legacy-restore | ||
* | * iptables-legacy-save | ||
* | * ip6tables-legacy | ||
* | * ip6tables-legacy-restore | ||
* | * ip6tables-legacy-save | ||
* | * arptables-legacy | ||
* | * ebtables-legacy | ||
The new tools contains now the '-nft' string in the name (formerly it was '-compat'): | 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-save (new binary, not a direct equivalent in arptables-legacy) | ||
* arptables-nft-restore (new binary, not a direct equivalent in arptables-legacy) | * arptables-nft-restore (new binary, not a direct equivalent in arptables-legacy) |
Revision as of 12:58, 8 January 2019
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).
Naming
This is a list of affected binaries:
- iptables
- iptables-restore
- iptables-save
- ip6tables
- ip6tables-restore
- ip6tables-save
- arptables
- ebtables
These tools are now installed with a '-legacy' string in the name:
- iptables-legacy
- iptables-legacy-restore
- iptables-legacy-save
- ip6tables-legacy
- ip6tables-legacy-restore
- ip6tables-legacy-save
- arptables-legacy
- ebtables-legacy
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] [...]
TODO: fillme
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/