Legacy xtables tools

From nftables wiki
Jump to: navigation, search

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)

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:

See also