Legacy xtables tools: Difference between revisions
(Create page with basic content) |
(→Naming: mention arptables and ebtables save/restore) |
||
Line 31: | Line 31: | ||
* /sbin/xtables-nft-multi (this binary runs all the tools by means of symlinks) | * /sbin/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 == | == How to know which tools I'm running == |
Revision as of 12:56, 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:
- /sbin/iptables
- /sbin/iptables-restore
- /sbin/iptables-save
- /sbin/ip6tables
- /sbin/ip6tables-restore
- /sbin/ip6tables-save
- /sbin/arptables
- /sbin/ebtables
These tools are now installed with a '-legacy' string in the name:
- /sbin/iptables-legacy
- /sbin/iptables-legacy-restore
- /sbin/iptables-legacy-save
- /sbin/ip6tables-legacy
- /sbin/ip6tables-legacy-restore
- /sbin/ip6tables-legacy-save
- /sbin/arptables-legacy
- /sbin/ebtables-legacy
The new tools contains now the '-nft' string in the name (formerly it was '-compat'):
- /sbin/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/